Function at 0x4227fc
Capabilities:
Get file attributes

Disassembly:
jo 0x42200d
add byte [eax], al
mov byte [ebx], dl
inc edi
add byte [eax + 1], bh
add byte [eax], al
mov byte [ebx], dl
inc edi
add byte [ecx + eax + 0x13880000], cl
inc edi
add byte [eax - 0x77ffffff], bh
adc eax, dword [edi]
mov esp, 0x88000001
adc eax, dword [edi]
fadd dword [ecx]
add byte [eax], al
mov byte [ebx], dl
inc edi
add byte [eax + 0x78004713], cl
add dword [eax], eax
add byte [eax - 0x73ffb8ed], cl
add dword [eax], eax
add byte [eax - 0x47ffb8ed], cl
add dword [eax], eax
add byte [eax - 0x43ffb8ed], cl
add dword [eax], eax
add byte [eax - 0x27ffb8ed], cl
add dword [eax], eax
add byte [eax - 0x23ffb8ed], cl
add ah, bl
add dword [eax], eax
add byte [eax - 0x1fffb8ed], cl
add dword [eax], eax
add byte [eax - 0x1bffb8ed], cl
add dword [eax], eax
add byte [eax + 0x8004713], cl
add al, byte [eax]
add byte [eax + 0xc004713], cl
add al, byte [eax]
add byte [eax + 0x2c004713], cl
add al, byte [eax]
add byte [eax + 0x4c004713], cl
add al, byte [eax]
add byte [edx], cl
push esp
pop edx
imul esi, dword [eax + 0x4d], 0x65747361
jb 0x42200a
nop
nop
and byte [eax], 0x42
add byte [edi], al
pop es
pop es
or dl, byte [edx + ebx*2 + 0x69]
jo 0x4220d4
popal
jae 0x4220fe
jb 0x422039
pop ds
inc edx
add byte [edx + ebp + 0x2f0045], bl
pop es
pop edx
imul esi, dword [eax + 0x4d], 0x2d727473
add byte [esp + edx + 0x340047], dl
add bh, bh
xor al, 0
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
add al, byte [eax]
pop es
push esi
jb 0x422121
outsd dx, dword [esi]
jae 0x422127
xchg esp, eax
adc al, 0x47
add byte [0x35ff0000], dh
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x54050003], al
jb 0x422141
add byte [eax - 0x80000000], al
add eax, dword [eax]
add eax, 0x63617254
rcl byte gs:[edi + eax*2]
arpl word [ebp - 0x30], sp
adc al, 0x47
add byte [eax], ah
add bh, bh
pushal
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x410c0004], al
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x422151
jbe 0x42216d
insb byte es:[edi], dx
xor al, 0x16
inc edx
add byte [edi], cl
add bh, bh
dec edi
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x410a0005], al
dec edi
add eax, 0x64410a00
dec edi
dec edi
jo 0x42219e
imul ebp, dword [edi + 0x6e], 0x47138873
add byte [eax], cl
add bh, bh
dec eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x450b0006], al
js 0x4221c0
jb 0x422190
popal
jae 0x4221b6
inc esp
imul esi, dword [edx + 0x44], 0x51004217
push ecx
add byte [eax], al
call dword [ecx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
pop es
add byte [ebx], cl
inc ebp
js 0x4221e6
jb 0x4221c3
jo 0x4221ea
imul ebp, dword [edi + 0x6e], 0x4217d473
add byte [edx], dl
add bh, bh
push edx
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], 0
add byte [eax], al
or byte [eax], al
or dl, byte [ebx + 0x46]
pop eax
dec edi
jo 0x42220f
imul ebp, dword [edi + 0x6e], 0x451ff073
jae 0x422190
pop ds
inc ebp
add byte [eax + eax], dl
push dword [ecx + edi]
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x46090009], al
push ebx
or byte [ecx], 0
or dword [esi + 0x53], eax
jo 0x422223
arpl word [ecx + 0x72], ax
jae 0x422158
jb 0x422229
jae 0x422158
xchg esp, eax
adc al, 0x47
add byte [ecx + eax], dh
push dword [ecx + eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x550a000a], al
outsb dx, byte [esi]
popal
je 0x422257
outsb dx, byte gs:[esi]
mov byte fs:[ebx], dl
mov byte fs:[ebx], dl
inc edi
add byte [eax], bl
add bh, bh
pushfd
cmp dword [edx], eax
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
or eax, dword [eax]
or ebx, dword [edx + 0x69]
jo 0x42224d
imul ebp, dword [ebp + 0x4e], 0x10656d61
adc eax, 0x640047
add bh, bh
add byte fs:[eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5008000c], al
add byte [eax], al
or byte [eax + eax], 8
push eax
popal
jae 0x4222a0
ja 0x42229e
jb 0x422295
mov byte [ebx], dl
inc edi
add byte [ecx + eax], ah
jmp dword [ecx + eax]
inc esi
pop eax
push eax
popal
je 0x4222bb
mov byte [ebx], dl
inc edi
add byte [eax + 1], dh
jo 0x42225a
add bh, bh
add byte [edx], bh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x440c000e], al
inc dword [eax]
cmp al, byte [edx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
push cs
add byte [esp + eax*2], cl
dec esp
dec esp
inc esp
imul esi, dword [edx + 0x65], 0x726f7463
jns 0x422263
pop ss
inc edx
add ah, dl
add dword [eax], eax
call esp
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5310000f], al
push ebx
inc esi
pop eax
dec edi
jbe 0x422300
jb 0x4222f4
jb 0x422308
imul esi, dword [ebp + 0x4d], 0x8865646f
adc eax, dword [edi]
fadd dword [ecx]
add bh, bh
fadd dword [ecx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
adc byte [eax], al
or dl, byte [ebx + 0x46]
je 0x422306
dec ebp
dec ebp
outsd dx, dword [esi]
mov byte gs:[ebx], dl
inc edi
add al, bl
add dword [eax], eax
invalid
add byte [eax + 0x530a0010], al
inc esi
pop eax
inc ebx
popal
jo 0x42233b
imul ebp, dword [edi + 0x6e], 0x471388
fadd qword [ecx]
add bh, bh
fadd qword [ecx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
adc dword [eax], eax
or eax, 0x44584653
popaw
jne 0x42235a
je 0x422334
imul esi, dword [edx - 0x78], 0xe0004713
inc edi
add al, ah
add dword [eax], eax
jmp eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
adc al, byte [eax]
push cs
push ebx
add byte [eax], al
add byte [eax + 0x530e0012], al
inc esi
pop eax
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
dec esp
imul ebp, dword [esi + 0x65], 0x471388
sub al, 2
add bh, bh
sub al, 2
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
adc eax, dword [eax]
or dl, byte [ebx + 0x46]
add byte [edx], cl
push ebx
inc esi
pop eax
dec ebp
jae 0x4223b0
jae 0x4223b0
popal
mov byte gs:[bp + di], dl
inc edi
add ah, ah
add dword [eax], eax
jmp esp
pop es
push esp
insd dword es:[edi], dx
jo 0x4223a4
imul esi, dword [edx - 0x30], 0xf0004714
add dword [eax], eax
push eax
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4b0f0015], al
jo 0x4223c8
jb 0x4223e9
dec edi
outsb dx, byte [esi]
inc esp
imul esi, dword [ebx + 0x6b], 0x4714d031
add ah, dh
add dword [eax], eax
push esp
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
push ss
add byte [0x5678614d], cl
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x42241c
push ebx
push ebx
imul edi, dword [edx + 0x65], 0x4714d0
clc
add dword [eax], eax
invalid
add byte [eax], al
add dword [eax], eax
pop ss
add byte [ecx], dl
dec ebp
imul ebp, dword [esi + 0x46], 0x56656572
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x422448
push ebx
imul edi, dword [edx + 0x65], 0x471494
cld
add dword [eax], eax
invalid
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
sbb byte [eax], al
or al, 0x43
outsd dx, dword [esi]
outsb dx, byte [esi]
imul si, word [edx + 0x6d], 0x7245
popal
jae 0x42246c
sub byte [eax], bl
inc edx
add ch, bh
add dword [eax], eax
invalid
add byte [eax], al
add byte [ecx], bl
add byte [eax], cl
inc ebx
outsd dx, dword [esi]
push eax
popal
test al, 0x18
inc edx
add byte [ecx + eax + 0x194ff00], dl
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax + 1], al
sbb al, byte [eax]
or ecx, dword [eax + 0x6f]
ja 0x42249d
push esp
outsd dx, dword [esi]
inc esp
insb byte es:[edi], dx
je 0x4224b5
mov byte [ebx], dl
inc edi
add byte [edx + eax], cl
add bh, bh
cmp al, 0x3b
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x560b001b], al
jb 0x4224e2
imul ebp, dword [edi + 0x6e], 0x6f666e49
dec eax
sub byte [ecx], cl
xor byte [edx], al
add bh, bh
js 0x4224b9
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5307001c], al
inc esi
pop eax
dec ecx
arpl word [edi + 0x6e], bp
enter 0x4216, 0
xor al, 2
add bh, bh
xor al, 2
add al, byte [eax]
push dword [edx + eax]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
sbb eax, 0x64411000
push ebx
je 0x422528
jb 0x422520
push ebx
jne 0x422524
imul di, word [eax + 0x65], 0x4c73
adc eax, dword [edi]
cmp al, 2
add bh, bh
cmp byte [ebx], 0x42
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
push ds
add byte [eax], dl
push eax
popal
jae 0x422555
ja 0x422553
jb 0x42254a
push edx
jno 0x42252d
outsd dx, dword [esi]
jne 0x42255b
je 0x4224df
pop ds
inc ebp
add byte [edx + eax], al
call dword [ecx + edi + 0x42]
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x460d001f], al
push ebx
jo 0x422572
arpl word [ecx + 0x72], ax
jae 0x422558
js 0x422578
insb byte es:[edi], dx
xchg esp, eax
adc al, 0x47
add byte [eax + 2], cl
add bh, bh
dec eax
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add byte [ecx], dl
push ebp
jae 0x422599
and byte [eax], al
adc dword [ebp + 0x73], edx
inc esp
inc esp
imul esi, dword [edx + 0x4f], 0x45796c6e
outsb dx, byte [esi]
je 0x4225b1
imul esp, dword [ebp + 0x73], 0x471388
dec esp
add al, byte [eax]
call dword [eax + 0x100423a]
add byte [eax], al
add byte [eax], al
nop
cmp al, byte [edx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
and dword [eax], eax
pop es
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x52070021], al
add byte [edi], al
push edx
outsd dx, dword [esi]
outsd dx, dword [esi]
je 0x4225a6
imul esi, dword [edx - 0x3c], 0x60004514
add al, byte [eax]
jmp dword [eax + 2]
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
and al, byte [eax]
or ecx, dword [edi + 0x6e]
add byte [eax], al
add byte [eax + 0x4f0b0022], al
outsb dx, byte [esi]
inc esp
imul esi, dword [edx + 0x55], 0x74616470
test byte gs:[edx], bl
inc edx
add byte [eax + 2], ch
add bh, bh
push 0x1ff0002
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0a0023], al
outsb dx, byte [esi]
push eax
jb 0x422619
jb 0x422612
jae 0x422622
call 0x704267ce
add al, byte [eax]
push dword [eax + 2]
inc edx
add byte [eax + 2], dh
add bh, bh
jo 0x4225bb
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
and al, 0
or dword [edi + 0x6e], ecx
dec ebp
jae 0x422643
popal
xor byte gs:[bp + di], bl
inc edx
add byte [eax + 2], bh
add bh, bh
js 0x4225df
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
and eax, 0x6e4f0c00
push ebx
je 0x422642
ja 0x422645
popal
insd dword es:[edi], dx
sbb byte gs:[ebx], 0x42
add byte [eax - 0x7f00fffe], al
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f090026], al
add byte es:[ecx], cl
dec edi
outsb dx, byte [esi]
dec esi
ja 0x422669
ja 0x422669
popal
insd dword es:[edi], dx
xor al, 0x1c
inc edx
add byte [eax - 0x6f00fffe], dl
add al, byte [eax]
inc dword [ecx]
nop
add al, byte [eax]
call dword [eax + 0x1ff0002]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0c0027], al
outsb dx, byte [esi]
inc ebx
push edx
inc ebx
xor esi, dword [edx]
inc ebp
jb 0x4226b5
jb 0x4226b3
outsd dx, dword [esi]
jb 0x422612
int3
sbb eax, dword [edx]
mov byte [edx], al
add bh, bh
mov byte [edx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
sub byte [eax], al
cmovg ebp, dword [esi + 0x50]
popal
jae 0x4226d9
ja 0x4226d7
jb 0x4226ce
inc ebp
inc ebp
jb 0x4226df
outsd dx, dword [esi]
jb 0x422618
sbb al, 0x42
add byte [eax - 0x6700fffe], bl
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f120029], al
outsb dx, byte [esi]
inc ebp
js 0x422703
jb 0x4226f2
arpl word [edi + ecx*2 + 0x76], si
jb 0x42270f
jb 0x422703
je 0x422701
or al, 0x1d
inc edx
add byte [eax - 0x5f00fffe], ah
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f10002a], al
sub byte [edx], 0
adc byte [edi + 0x6e], cl
add byte [eax], dl
dec edi
outsb dx, byte [esi]
inc ebp
js 0x422730
jb 0x42271f
arpl word [ebx + edx*2 + 0x6b], si
imul esi, dword [eax + 0x70], 0x1d746465
inc edx
add byte [eax - 0x5700fffe], ch
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f12002b], al
outsb dx, byte [esi]
jmp [eax + 0x1ff0002]
add byte [eax], al
add byte [eax - 0x80000000], al
sub eax, dword [eax]
adc cl, byte [edi + 0x6e]
inc ebx
outsd dx, dword [esi]
jo 0x422761
pop edx
imul esi, dword [eax + 0x4f], 0x77726576
jb 0x42275b
je 0x422759
enter 0x421d, 0
mov al, 2
add bh, bh
mov al, 2
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
sub al, 0
or eax, 0x65476e4f
je 0x422763
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0d002c], al
dec edi
outsb dx, byte [esi]
inc edi
je 0x422763
js 0x42278c
inc esp
imul esi, dword [ebx + 0x6b], 0x421e3c
mov eax, 0xb8ff0002
add byte [eax - 0x4700fffe], bh
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax + 0x4f0c002d], al
outsb dx, byte [esi]
push ebx
je 0x42279d
je 0x4227b3
jae 0x422784
imul esi, dword [ebx + 0x6b], 0x421244
rol byte [edx], 0
inc eax
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0d002e], al
outsb dx, byte [esi]
inc esi
add byte cs:[0x69466e4f], cl
insb byte es:[edi], dx
imul ebp, dword [ebp + 0x43], 0x656d6d6f
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x4226fc
mov eax, 0x4227
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, al
daa
les esp, [edi]
inc edx
add byte [eax], dh
add byte [eax], al
add byte [eax + ebp], ch
inc ebp
add byte [eax + 0x3e], ah
inc edi
add byte [eax], bh
lds eax, [ebp]
jo 0x4227e0
inc edi
add byte [esi + edi + 0x47], dh
add byte [eax + 0x3e], ch
inc edi
add byte [eax - 0x33ffb8c5], dh
cmp eax, dword [edi]
cmp bh, al
inc edx
add ah, ch
in al, dx
add byte [eax], bh
mov dword [edx], 0x45c5ec
in al, dx
lds eax, [ebp]
lds eax, [ebp]
jo 0x422785
inc edx
add byte [esi + eax*8 + 0x460c0042], dh
outsd dx, dword [esi]
jb 0x422836
popal
je 0x422820
push 0x64616572
nop
nop
nop
fsub dword [edi]
inc edx
add byte [edi], al
pop es
or al, 0x46
outsd dx, dword [esi]
jb 0x42284b
popal
je 0x422835
push esp
push 0x64616572
mov eax, 0x88004227
sub byte [ebp], al
add byte [eax], al
pop es
pop edx
imul esi, dword [eax + 0x4d], 0x727473
add byte [eax - 0x1374aa70], dl
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 4], eax
mov byte [ebp - 5], 0
cmp dword [ebp - 4], 0
je 0x422835
mov eax, dword [ebp - 4]
call fcn.00474e18
push eax
call sub.KERNEL32.DLL_GetFileAttributesA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x42282c
test byte [ebp - 0xc], 0x10
jne 0x422830
xor eax, eax
jmp 0x422832
mov al, 1
mov byte [ebp - 5], al
mov al, byte [ebp - 5]
inc ebp
sti
mov esp, ebp
pop ebp
ret
push ecx
push ebx
xor eax, eax
push ebp
push 0x422da4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
mov edx, dword [sym.DnPatch.exe__Zipmstr_TZipMaster_]
call fcn.00473dc8
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
add edx, 0x1c
mov ecx, pe_nt_image_headers32
call fcn.00474bd0
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004621fc
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 8]
mov eax, dword [ebp - 0x24]
call sym.DnPatch.exe__Zipmstr_TZipMaster_ReplaceForwardSlash_qqr17System_AnsiString
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 0xc
ja case.0x4228b0.0
jmp dword [eax*4 + 0x4228b7]
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x26a], 0
je case.0x4228b0.0
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebx + 0x26c]
call dword [ebx + 0x268]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x26a], 0
je case.0x4228b0.0
push 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov cl, 1
mov eax, dword [ebx + 0x26c]
call dword [ebx + 0x268]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x26a], 0
je case.0x4228b0.0
push 0
push 0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov cl, 2
mov eax, dword [ebx + 0x26c]
call dword [ebx + 0x268]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
add eax, 0x40
mov edx, dword [ebp - 8]
call fcn.004749bc
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x14], 0
je 0x4229c0
mov eax, dword [ebp - 0x20]
mov al, byte [eax + 0x14]
and al, 0xff
and eax, 0xff
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x272], 0
je case.0x4228b0.0
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebx + 0x274]
call dword [ebx + 0x270]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x26a], 0
je case.0x4228b0.0
push 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov cl, 3
mov eax, dword [ebx + 0x26c]
call dword [ebx + 0x268]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x198], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x26a], 0
je case.0x4228b0.0
push 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov cl, 4
mov eax, dword [ebx + 0x26c]
call dword [ebx + 0x268]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x27a], 0
je case.0x4228b0.0
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00474a00
mov byte [ebp - 0x15], 0
lea eax, [ebp - 0x15]
push eax
lea ecx, [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x27c]
call dword [ebx + 0x278]
cmp byte [ebp - 0x15], 0
je 0x422ad4
mov eax, dword [ebp - 0x20]
add eax, 0x1c
mov ecx, pe_nt_image_headers32
mov edx, dword [ebp - 0xc]
call fcn.00463044
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x14], 1
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax + 0x14], edx
jmp case.0x4228b0.0
lea eax, [ebp - 0x10]
call fcn.00474968
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x240], 0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x28a], 0
je 0x422b2b
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x28c]
call dword [ebx + 0x288]
jmp 0x422b4c
mov eax, dword [ebp - 0x20]
test byte [eax + 0x14], 1
je 0x422b41
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x24]
call sym.DnPatch.exe__Zipmstr_TZipMaster_GetAddPassword_qqrv
jmp 0x422b4c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x24]
call sym.DnPatch.exe__Zipmstr_TZipMaster_GetExtrPassword_qqrv
cmp dword [ebp - 0x10], 0
je 0x422b71
mov eax, dword [ebp - 0x20]
add eax, 0x1c
mov ecx, 0x50
mov edx, dword [ebp - 0x10]
call fcn.00463044
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x14], 1
jmp 0x422b7e
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax + 0x14], edx
cmp dword [ebp - 0x1c], 0xf
jbe 0x422b90
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x18], 0xf
jmp 0x422b99
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x240], 1
jmp case.0x4228b0.0
mov byte [ebp - 0x16], 1
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x292], 0
je 0x422be3
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
push eax
lea eax, [ebp - 0x16]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0x294]
call dword [ebx + 0x290]
xor eax, eax
mov al, byte [ebp - 0x16]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x292], 0
jne case.0x4228b0.0
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x14], 2
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x29a], 0
je case.0x4228b0.0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
and eax, 1
dec eax
sete al
push eax
lea eax, [ebp - 0x17]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0x29c]
call dword [ebx + 0x298]
xor eax, eax
mov al, byte [ebp - 0x17]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x18], eax
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x14], 0
je 0x422c8a
mov eax, dword [ebp - 0x20]
mov al, byte [eax + 0x14]
and al, 0xff
and eax, 0xff
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x2a2], 0
je case.0x4228b0.0
mov eax, dword [ebp - 0x20]
mov al, byte [eax + 0x18]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0x2a4]
call dword [ebx + 0x2a0]
jmp case.0x4228b0.0
mov eax, dword [ebp - 0x24]
cmp word [eax + 0x2c2], 0
je case.0x4228b0.0
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov dl, byte [edx + 0x11c]
call fcn.00474b48
mov byte [ebp - 0x15], 0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x15]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
mov eax, dword [ebx + 0x2c4]
call dword [ebx + 0x2c0]
cmp byte [ebp - 0x15], 0
je 0x422d2d
cmp dword [ebp - 0x14], 0
je 0x422d2d
mov eax, dword [ebp - 0x20]
add eax, 0x1c
mov ecx, 0x1ff
mov edx, dword [ebp - 0x14]
call fcn.00463044
jmp 0x422d34
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x1c], 0
xor eax, eax
mov al, byte [ebp - 0x15]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x14]
call fcn.00474c20
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x18], 0x1ff
jle case.0x4228b0.0
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x18], 0x1ff
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x4c], 1
cmc
sbb eax, eax
mov dword [ebp - 4], eax
mov eax, dword [0x502cdc]
mov eax, dword [eax]
call fcn.004a6e14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x422dab
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0047498c
lea eax, [ebp - 0x14]
mov edx, 4
call fcn.0047498c
ret