📄 infback.asm
字号:
data1 00H
data1 08H
data2 085H
data1 00H
data1 08H
data2 045H
data1 00H
data1 09H
data2 0ebH
data1 010H
data1 07H
data2 08H
data1 00H
data1 08H
data2 05dH
data1 00H
data1 08H
data2 01dH
data1 00H
data1 09H
data2 09bH
data1 014H
data1 07H
data2 053H
data1 00H
data1 08H
data2 07dH
data1 00H
data1 08H
data2 03dH
data1 00H
data1 09H
data2 0dbH
data1 012H
data1 07H
data2 017H
data1 00H
data1 08H
data2 06dH
data1 00H
data1 08H
data2 02dH
data1 00H
data1 09H
data2 0bbH
data1 00H
data1 08H
data2 0dH
data1 00H
data1 08H
data2 08dH
data1 00H
data1 08H
data2 04dH
data1 00H
data1 09H
data2 0fbH
data1 010H
data1 07H
data2 03H
data1 00H
data1 08H
data2 053H
data1 00H
data1 08H
data2 013H
data1 015H
data1 08H
data2 0c3H
data1 013H
data1 07H
data2 023H
data1 00H
data1 08H
data2 073H
data1 00H
data1 08H
data2 033H
data1 00H
data1 09H
data2 0c7H
data1 011H
data1 07H
data2 0bH
data1 00H
data1 08H
data2 063H
data1 00H
data1 08H
data2 023H
data1 00H
data1 09H
data2 0a7H
data1 00H
data1 08H
data2 03H
data1 00H
data1 08H
data2 083H
data1 00H
data1 08H
data2 043H
data1 00H
data1 09H
data2 0e7H
data1 010H
data1 07H
data2 07H
data1 00H
data1 08H
data2 05bH
data1 00H
data1 08H
data2 01bH
data1 00H
data1 09H
data2 097H
data1 014H
data1 07H
data2 043H
data1 00H
data1 08H
data2 07bH
data1 00H
data1 08H
data2 03bH
data1 00H
data1 09H
data2 0d7H
data1 012H
data1 07H
data2 013H
data1 00H
data1 08H
data2 06bH
data1 00H
data1 08H
data2 02bH
data1 00H
data1 09H
data2 0b7H
data1 00H
data1 08H
data2 0bH
data1 00H
data1 08H
data2 08bH
data1 00H
data1 08H
data2 04bH
data1 00H
data1 09H
data2 0f7H
data1 010H
data1 07H
data2 05H
data1 00H
data1 08H
data2 057H
data1 00H
data1 08H
data2 017H
data1 040H
data1 08H
data2 00H
data1 013H
data1 07H
data2 033H
data1 00H
data1 08H
data2 077H
data1 00H
data1 08H
data2 037H
data1 00H
data1 09H
data2 0cfH
data1 011H
data1 07H
data2 0fH
data1 00H
data1 08H
data2 067H
data1 00H
data1 08H
data2 027H
data1 00H
data1 09H
data2 0afH
data1 00H
data1 08H
data2 07H
data1 00H
data1 08H
data2 087H
data1 00H
data1 08H
data2 047H
data1 00H
data1 09H
data2 0efH
data1 010H
data1 07H
data2 09H
data1 00H
data1 08H
data2 05fH
data1 00H
data1 08H
data2 01fH
data1 00H
data1 09H
data2 09fH
data1 014H
data1 07H
data2 063H
data1 00H
data1 08H
data2 07fH
data1 00H
data1 08H
data2 03fH
data1 00H
data1 09H
data2 0dfH
data1 012H
data1 07H
data2 01bH
data1 00H
data1 08H
data2 06fH
data1 00H
data1 08H
data2 02fH
data1 00H
data1 09H
data2 0bfH
data1 00H
data1 08H
data2 0fH
data1 00H
data1 08H
data2 08fH
data1 00H
data1 08H
data2 04fH
data1 00H
data1 09H
data2 0ffH
?distfix@?1??fixedtables@@9@9:
data1 010H // `fixedtables'::`2'::distfix
data1 05H
data2 01H
data1 017H
data1 05H
data2 0101H
data1 013H
data1 05H
data2 011H
data1 01bH
data1 05H
data2 01001H
data1 011H
data1 05H
data2 05H
data1 019H
data1 05H
data2 0401H
data1 015H
data1 05H
data2 041H
data1 01dH
data1 05H
data2 04001H
data1 010H
data1 05H
data2 03H
data1 018H
data1 05H
data2 0201H
data1 014H
data1 05H
data2 021H
data1 01cH
data1 05H
data2 02001H
data1 012H
data1 05H
data2 09H
data1 01aH
data1 05H
data2 0801H
data1 016H
data1 05H
data2 081H
data1 040H
data1 05H
data2 00H
data1 010H
data1 05H
data2 02H
data1 017H
data1 05H
data2 0181H
data1 013H
data1 05H
data2 019H
data1 01bH
data1 05H
data2 01801H
data1 011H
data1 05H
data2 07H
data1 019H
data1 05H
data2 0601H
data1 015H
data1 05H
data2 061H
data1 01dH
data1 05H
data2 06001H
data1 010H
data1 05H
data2 04H
data1 018H
data1 05H
data2 0301H
data1 014H
data1 05H
data2 031H
data1 01cH
data1 05H
data2 03001H
data1 012H
data1 05H
data2 0dH
data1 01aH
data1 05H
data2 0c01H
data1 016H
data1 05H
data2 0c1H
data1 040H
data1 05H
data2 00H
?order@?1??inflateBack@@9@9:
data2 010H // `inflateBack'::`2'::order
data2 011H
data2 012H
data2 00H
data2 08H
data2 07H
data2 09H
data2 06H
data2 0aH
data2 05H
data2 0bH
data2 04H
data2 0cH
data2 03H
data2 0dH
data2 02H
data2 0eH
data2 01H
data2 0fH
.section .sdata
$SG78803:
string "1.2.3\000"
.type inflateBackInit_# ,@function
.global inflateBackInit_#
.type zcfree# ,@function
.global zcfree#
.type zcalloc# ,@function
.global zcalloc#
.section .pdata
$T79357: data4 @imagerel($LN10@inflateBac#)
data4 @imagerel($LN10@inflateBac#+1184)
data4 @imagerel($T79355#)
.section .xdata
$T79355: data2 03H
data2 00H
data4 03H
string "\x10" //R1:prologue size 16
string "\xe6\x00" //P7:pfs_when time 0
string "\xb1\x26" //P3:pfs_gr 38
string "\xe0\x01\x04" //P7:mem_stack_f time 1 size 4
string "\xe4\x02" //P7:rp_when time 2
string "\xb0\xa5" //P3:rp_gr 37
string "\x61\xce\x01" //R3:body size 206
string "\x81" //B1:label_state 1
string "\xc0\x05" //B2:ecount 0 time 5
string "\x00\x00\x00\x00\x00\x00" //padding
// Function compile flags: /Odtp
// File f:\study\wincezip\dll\infback.c
.section .text
// Begin code for function: inflateBackInit_:
.proc inflateBackInit_#
.align 32
state$ = 16
$T79352 = 24
strm$ = 32
windowBits$ = 40
window$ = 48
version$ = 56
stream_size$ = 64
inflateBackInit_:
// strm$ = r32
// windowBits$ = r33
// window$ = r34
// version$ = r35
// stream_size$ = r36
// Output regs: r40-r42
$LN10@inflateBac:
// 34 : {
// 35 : struct inflate_state FAR *state;
// 36 :
// 37 : if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
// 38 : stream_size != (int)(sizeof(z_stream)))
{ .mmi //R-Addr: 0X00
alloc r38=5, 3, 3, 0 //34 cc:0
adds sp=-64, sp //34 cc:0, ffffffc0H
mov r37=b0 //34 cc:0
}
{ .mmi //R-Addr: 0X010
mov r39=gp;; //34 cc:0
ld8.nta r2=[sp] //34 cc:1
adds r31=strm$, sp
}
{ .mmi //R-Addr: 0X020
adds r30=windowBits$, sp
adds r29=window$, sp
adds r28=version$, sp;;
}
{ .mmi //R-Addr: 0X030
st8 [r31]=r32
st4 [r30]=r33
adds r27=stream_size$, sp;;
}
{ .mmb //R-Addr: 0X040
st8 [r29]=r34
st8 [r28]=r35
nop.b 0;;
}
{ .mmi //R-Addr: 0X050
st4 [r27]=r36;;
adds r26=version$, sp //38 cc:0
nop.i 0;;
}
{ .mmi //R-Addr: 0X060
ld8 r25=[r26];; //38 cc:1
cmp.eq.unc p14,p15=r0, r25 //38 cc:2
nop.i 0
}
{ .mmb //R-Addr: 0X070
nop.m 0
nop.m 0
(p14) br.cond.dptk.few $LN6@inflateBac#;; //38 cc:2
}
// 38 : stream_size != (int)(sizeof(z_stream)))
{ .mib //R-Addr: 0X080
adds r22=version$, sp //38 cc:3
addl r18=@gprel($SG78803#),gp //38 cc:3
nop.b 0;;
}
{ .mmb //R-Addr: 0X090
ld8 r21=[r22] //38 cc:4
ld1 r17=[r18] //38 cc:4
nop.b 0;;
}
{ .mib //R-Addr: 0X0a0
nop.m 0
sxt1 r16=r17 //38 cc:5
nop.b 0;;
}
{ .mmi //R-Addr: 0X0b0
ld1 r20=[r21];; //38 cc:6
nop.m 0
sxt1 r19=r20;; //38 cc:7
}
{ .mmb //R-Addr: 0X0c0
cmp4.ne.unc p14,p15=r19, r16 //38 cc:8
nop.m 0
(p14) br.cond.dptk.few $LN6@inflateBac#;; //38 cc:8
}
// 38 : stream_size != (int)(sizeof(z_stream)))
{ .mmi //R-Addr: 0X0d0
adds r15=stream_size$, sp;; //38 cc:9
ld4 r11=[r15] //38 cc:10
nop.i 0;;
}
{ .mmb //R-Addr: 0X0e0
cmp4.eq.unc p14,p15=88, r11 //38 cc:11, 00000058H
nop.m 0
(p14) br.cond.dptk.few $LN7@inflateBac#;; //38 cc:11
}
$LN6@inflateBac:
// 39 : return Z_VERSION_ERROR;
{ .mmb //R-Addr: 0X0f0
mov r8=-6 //39 cc:0
nop.m 0
br.cond.sptk.few $LN8@inflateBac#;; //39 cc:0
}
$LN7@inflateBac:
// 40 : if (strm == Z_NULL || window == Z_NULL ||
// 41 : windowBits < 8 || windowBits > 15)
{ .mmi //R-Addr: 0X0100
adds r10=strm$, sp;; //41 cc:0
ld8 r9=[r10] //41 cc:1
nop.i 0;;
}
{ .mmb //R-Addr: 0X0110
cmp.eq.unc p14,p15=r0, r9 //41 cc:2
nop.m 0
(p14) br.cond.dptk.few $LN4@inflateBac#;; //41 cc:2
}
// 41 : windowBits < 8 || windowBits > 15)
{ .mmi //R-Addr: 0X0120
adds r8=window$, sp;; //41 cc:3
ld8 r31=[r8] //41 cc:4
nop.i 0;;
}
{ .mmb //R-Addr: 0X0130
cmp.eq.unc p14,p15=r0, r31 //41 cc:5
nop.m 0
(p14) br.cond.dptk.few $LN4@inflateBac#;; //41 cc:5
}
// 41 : windowBits < 8 || windowBits > 15)
{ .mmi //R-Addr: 0X0140
adds r30=windowBits$, sp;; //41 cc:6
ld4 r29=[r30] //41 cc:7
nop.i 0;;
}
{ .mmb //R-Addr: 0X0150
cmp4.gt.unc p14,p15=8, r29 //41 cc:8
nop.m 0
(p14) br.cond.dptk.few $LN4@inflateBac#;; //41 cc:8
}
// 41 : windowBits < 8 || windowBits > 15)
{ .mmi //R-Addr: 0X0160
adds r28=windowBits$, sp;; //41 cc:9
ld4 r27=[r28] //41 cc:10
nop.i 0;;
}
{ .mmb //R-Addr: 0X0170
cmp4.ge.unc p14,p15=15, r27 //41 cc:11
nop.m 0
(p14) br.cond.dptk.few $LN5@inflateBac#;; //41 cc:11
}
$LN4@inflateBac:
// 42 : return Z_STREAM_ERROR;
{ .mmb //R-Addr: 0X0180
mov r8=-2 //42 cc:0
nop.m 0
br.cond.sptk.few $LN8@inflateBac#;; //42 cc:0
}
$LN5@inflateBac:
// 43 : strm->msg = Z_NULL; /* in case we return an error */
// 44 : if (strm->zalloc == (alloc_func)0) {
{ .mmi //R-Addr: 0X0190
adds r26=strm$, sp;; //43 cc:0
ld8 r25=[r26] //43 cc:1
nop.i 0;;
}
{ .mmi //R-Addr: 0X01a0
adds r22=32, r25;; //43 cc:2
st8 [r22]=r0 //43 cc:3
nop.i 0;;
}
{ .mmi //R-Addr: 0X01b0
adds r21=strm$, sp;; //44 cc:0
ld8 r20=[r21] //44 cc:1
nop.i 0;;
}
{ .mmi //R-Addr: 0X01c0
adds r19=48, r20;; //44 cc:2, 00000030H
ld8 r18=[r19] //44 cc:3
nop.i 0;;
}
{ .mmb //R-Addr: 0X01d0
cmp.ne.unc p14,p15=r0, r18 //44 cc:4
nop.m 0
(p14) br.cond.dptk.few $LN3@inflateBac#;; //44 cc:4
}
// 45 : strm->zalloc = zcalloc;
// 46 : strm->opaque = (voidpf)0;
{ .mib //R-Addr: 0X01e0
adds r17=strm$, sp //45 cc:0
addl r11=@ltoff(@fptr(zcalloc#)),gp //45 cc:0
nop.b 0;;
}
{ .mmb //R-Addr: 0X01f0
ld8 r16=[r17] //45 cc:1
ld8 r10=[r11] //45 cc:1
nop.b 0;;
}
{ .mmi //R-Addr: 0X0200
adds r15=48, r16;; //45 cc:2, 00000030H
st8 [r15]=r10 //45 cc:3
nop.i 0;;
}
{ .mmi //R-Addr: 0X0210
adds r9=strm$, sp;; //46 cc:0
ld8 r8=[r9] //46 cc:1
nop.i 0;;
}
{ .mmi //R-Addr: 0X0220
adds r31=64, r8;; //46 cc:2, 00000040H
st8 [r31]=r0 //46 cc:3
nop.i 0;;
}
$LN3@inflateBac:
// 47 : }
// 48 : if (strm->zfree == (free_func)0) strm->zfree = zcfree;
{ .mmi //R-Addr: 0X0230
adds r30=strm$, sp;; //48 cc:0
ld8 r29=[r30] //48 cc:1
nop.i 0;;
}
{ .mmi //R-Addr: 0X0240
adds r28=56, r29;; //48 cc:2, 00000038H
ld8 r27=[r28] //48 cc:3
nop.i 0;;
}
{ .mmb //R-Addr: 0X0250
cmp.ne.unc p14,p15=r0, r27 //48 cc:4
nop.m 0
(p14) br.cond.dptk.few $LN2@inflateBac#;; //48 cc:4
}
// 48 : if (strm->zfree == (free_func)0) strm->zfree = zcfree;
{ .mib //R-Addr: 0X0260
adds r26=strm$, sp //48 cc:5
addl r21=@ltoff(@fptr(zcfree#)),gp //48 cc:5
nop.b 0;;
}
{ .mmb //R-Addr: 0X0270
ld8 r25=[r26] //48 cc:6
ld8 r20=[r21] //48 cc:6
nop.b 0;;
}
{ .mmi //R-Addr: 0X0280
adds r22=56, r25;; //48 cc:7, 00000038H
st8 [r22]=r20 //48 cc:8
nop.i 0;;
}
$LN2@inflateBac:
// 49 : state = (struct inflate_state FAR *)ZALLOC(strm, 1,
// 50 : sizeof(struct inflate_state));
// 51 : if (state == Z_NULL) return Z_MEM_ERROR;
{ .mmi //R-Addr: 0X0290
adds r16=strm$, sp //50 cc:0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -