Function at 0x42724c
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x457c9e
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
push ebx
push esi
push edi
mov eax, dword [0x46a008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov esi, dword [ebp + 0x24]
mov dword [ebp + 0x24], 0
mov edi, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov ecx, dword [eax + edi*4 - 4]
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x64], ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ecx]
mov dword [ebp - 0x80], eax
xor ecx, ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov byte [ebp - 4], 1
mov edx, 2
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebx + 0x18]
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
mov ecx, dword [ebx + 0x18]
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebx + 0x14]
push eax
call fcn.00449190
add esp, 0xc
mov edi, dword [ebp - 0x64]
xor ecx, ecx
mov byte [ebp - 4], 2
mov edx, 2
mov ebx, dword [edi + 0x34]
lea eax, [ebx + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
mov ecx, dword [edi + 0x34]
add esp, 4
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
lea ecx, [ecx*2 + 2]
push ecx
push dword [edi + 0x30]
push eax
call fcn.00449190
add esp, 0xc
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 4], 1
jbe 0x426932
mov eax, dword [eax]
mov edi, dword [eax]
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x426932
mov eax, dword [ebp - 0x38]
mov edx, 0x460498
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x10]
call fcn.0040a240
test al, al
je 0x426932
lea eax, [edi + 0x30]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040a5b0
mov ebx, dword [ebp - 0xa4]
xor ecx, ecx
mov byte [ebp - 4], 4
lea edi, [ebx + 1]
mov dword [ebp - 0x18], 0
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edi + edi]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
push ecx
push dword [ebp - 0xa8]
push eax
call fcn.00449190
add esp, 0xc
mov dword [ebp + 0x24], 1
lea ecx, [ebp - 0x18]
call fcn.00428660
lea ecx, [ebp - 0x18]
call fcn.00428530
cmp dword [ebp - 0x14], 0
jne 0x4269dc
cmp dword [ebp - 0x10], 1
jae 0x4269ca
push 4
call fcn.00448381
add esp, 4
mov edi, eax
push dword [ebp - 0x18]
call fcn.0044824b
add esp, 4
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x14], 1
mov dword [edi], 0x5f
jmp 0x4269df
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], 1
mov dword [edi], 0x5f
jmp 0x4269df
mov edi, dword [ebp - 0x18]
push 0x45fa50
lea ecx, [ebp - 0x4c]
call fcn.0040a460
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.0040a910
push dword [ebp - 0x4c]
call fcn.0044824b
add esp, 4
mov byte [ebp - 4], 3
push edi
call fcn.0044824b
add esp, 4
xor bl, bl
mov dword [ebp - 0x1c], ebx
push 8
call fcn.00448381
xor ecx, ecx
mov dword [ebp - 0x18], eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 3
mov word [eax], cx
mov byte [ebp - 4], 6
mov edx, 2
mov edi, dword [ebp - 0x30]
inc edi
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
add esp, 4
lea ecx, [edi + edi]
mov edx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], eax
push ecx
push dword [ebp - 0x34]
mov dword [ebp - 0x88], eax
push edx
call fcn.00449190
add esp, 0xc
mov byte [ebp - 4], 7
mov edi, dword [ebp + 0x14]
cmp byte [edi], bl
je 0x426c96
cmp dword [edi + 8], 3
je 0x426c96
push 8
call fcn.00448381
mov ecx, eax
mov dword [ebp - 0x6c], 0
xor eax, eax
mov dword [ebp - 0x70], ecx
add esp, 4
mov dword [ebp - 0x68], 3
mov word [ecx], ax
mov byte [ebp - 4], 8
mov edi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
lea ebx, [edi + eax*2]
cmp ebx, edi
je 0x426afa
movzx eax, word [ebx - 2]
cmp eax, 0x5c
je 0x426adb
cmp eax, 0x2f
jne 0x426ade
add ebx, 0xfffffffe
cmp ebx, edi
je 0x426afa
movzx eax, word [ebx - 2]
cmp eax, 0x5c
je 0x426af7
cmp eax, 0x2f
je 0x426af7
add ebx, 0xfffffffe
cmp ebx, edi
jne 0x426ae2
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x34]
mov edi, ebx
sub edi, edx
sar edi, 1
mov dword [ebp - 0x28], edi
cmp edi, 3
jbe 0x426b42
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
add esp, 4
mov edi, eax
push dword [ebp - 0x70]
call fcn.0044824b
mov edx, dword [ebp - 0x34]
mov ecx, edi
mov edi, dword [ebp - 0x28]
add esp, 4
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x68], edi
test edi, edi
je 0x426b57
lea eax, [edi + edi]
push eax
push edx
push ecx
call fcn.00449190
mov ecx, dword [ebp - 0x70]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x6c], edi
mov word [ecx + edi*2], ax
xor edi, edi
cmp word [ebx], ax
je 0x426bc8
inc edi
mov dword [ebp - 0x20], edi
cmp word [ebx + edi*2], ax
jne 0x426b67
mov dword [ebp + 0x24], edi
cmp edi, 3
jbe 0x426bc8
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
add esp, 4
mov edi, eax
push dword [ebp - 0x18]
call fcn.0044824b
mov eax, dword [ebp - 0x20]
mov ecx, edi
mov edi, dword [ebp + 0x24]
add esp, 4
mov dword [ebp - 0x14], eax
add eax, eax
mov dword [ebp + 0x24], eax
add eax, 2
mov dword [ebp - 0x18], ecx
push eax
push ebx
push ecx
mov dword [ebp - 0x10], edi
call fcn.00449190
add esp, 0xc
jmp 0x426bee
mov eax, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
lea eax, [edi + edi]
mov dword [ebp + 0x24], eax
add eax, 2
push eax
push ebx
push dword [ebp - 0x18]
call fcn.00449190
add esp, 0xc
test edi, edi
je 0x426c81
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x18]
movzx eax, word [eax + ecx - 2]
cmp eax, 0x5c
je 0x426c03
cmp eax, 0x2f
jne 0x426c14
lea eax, [edi - 1]
xor edx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
mov word [ecx + eax*2], dx
jmp 0x426c17
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x426c81
mov ebx, dword [ebp - 0x28]
cmp ebx, dword [ebp - 0x30]
jbe 0x426c5b
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
add esp, 4
mov edi, eax
push dword [ebp - 0x90]
call fcn.0044824b
add esp, 4
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x88], ebx
lea eax, [ebx*2 + 2]
mov dword [ebp - 0x8c], ebx
push eax
push dword [ebp - 0x70]
push dword [ebp - 0x90]
call fcn.00449190
mov bl, 1
add esp, 0xc
mov dword [ebp - 0x1c], ebx
jmp 0x426c84
mov ebx, dword [ebp - 0x1c]
mov byte [ebp - 4], 7
push dword [ebp - 0x70]
call fcn.0044824b
mov edi, dword [ebp + 0x14]
add esp, 4
mov eax, dword [ebp + 0x10]
cmp dword [eax + 8], 0
jne 0x426ce9
cmp dword [eax + 0x14], 0
jne 0x426ce9
cmp dword [eax + 0x2c], 0
jne 0x426ce9
cmp dword [eax + 0x20], 1
jne 0x426ce9
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x426ce9
cmp byte [eax + 0xe], 0
je 0x426ce9
cmp byte [eax + 0xf], 0
je 0x426ce9
cmp dword [eax + 4], 1
jne 0x426ce9
mov eax, dword [eax]
push 0x45fa4c
mov eax, dword [eax]
push dword [eax]
call fcn.0044d0b2
add esp, 8
mov byte [ebp + 0x27], 1
test eax, eax
je 0x426ced
mov byte [ebp + 0x27], 0
cmp byte [edi + 0x3c], 0
jne 0x426efe
mov ecx, dword [ebp - 0x80]
lea edx, [ebp - 0x3c]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, eax
test edi, edi
jne 0x42719c
push 8
call fcn.00448381
xor ecx, ecx
mov dword [ebp - 0x60], eax
add esp, 4
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], 3
mov word [eax], cx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
xor eax, eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x3c], eax
jbe 0x42702f
test bl, bl
jne 0x426d5f
cmp byte [ebp + 0x27], bl
je 0x426d5f
mov ecx, dword [ebp + 0x14]
cmp byte [ecx + 2], bl
jne 0x426d5f
cmp byte [ecx + 3], bl
je 0x426e8c
lea ecx, [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x64]
push eax
call fcn.00429b70
mov edi, eax
test edi, edi
jne 0x427044
cmp byte [ebp - 0x48], 0
mov eax, dword [ebp + 0x14]
je 0x426d84
mov al, byte [eax + 2]
jmp 0x426d87
mov al, byte [eax + 3]
test al, al
jne 0x426e98
test bl, bl
je 0x426e5d
cmp byte [0x899ce8], 0
mov eax, dword [ebp - 0x18]
je 0x426dcf
movzx ecx, word [eax]
lea edx, [eax + 2]
mov edi, dword [ebp - 0x60]
test cx, cx
je 0x426dc7
movzx eax, word [edi]
lea edi, [edi + 2]
cmp ax, cx
jne 0x426dcb
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426db1
mov al, 1
jmp 0x426e21
xor al, al
jmp 0x426e21
movzx ebx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x38], eax
test bx, bx
je 0x426e1c
movzx ecx, word [edx]
add edx, 2
mov dword [ebp - 0xac], edx
cmp cx, bx
je 0x426e0e
call fcn.0040a150
mov ecx, ebx
mov di, ax
call fcn.0040a150
cmp di, ax
jne 0x426e29
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0xac]
movzx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x38], eax
test bx, bx
jne 0x426de0
mov al, 1
mov ebx, dword [ebp - 0x1c]
test al, al
jne 0x426e2d
xor bl, bl
jmp 0x426e5a
xor al, al
jmp 0x426e1e
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x20]
movzx eax, word [eax + ecx*2]
test ax, ax
jne 0x426e4a
mov al, byte [ebp - 0x47]
test al, al
jne 0x426e60
xor bl, bl
mov dword [ebp - 0x1c], ebx
jmp 0x426e60
cmp eax, 0x5c
je 0x426e5d
xor ecx, ecx
movzx ebx, bl
cmp eax, 0x2f
cmovne ebx, ecx
mov dword [ebp - 0x1c], ebx
mov al, byte [ebp - 0x47]
cmp byte [ebp + 0x27], 0
jne 0x426e89
test al, al
lea ecx, [ebp - 0x21]
push ecx
mov ecx, dword [ebp + 0x10]
sete al
movzx eax, al
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040b9a0
test al, al
je 0x426e98
cmp byte [ebp - 0x21], 0
je 0x426e98
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00419590
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x3c]
jb 0x426d45
cmp dword [ebp - 0x98], 0
je 0x42702f
mov byte [ebp - 4], 7
mov edi, dword [ebp - 0x50]
test edi, edi
je 0x426ee8
mov eax, dword [ebp - 0x54]
mov ebx, dword [eax + edi*4 - 4]
dec edi
test ebx, ebx
je 0x426ee4
push dword [ebx]
call fcn.0044824b
add esp, 4
push 0xc
push ebx
call fcn.00448373
mov eax, dword [ebp - 0x54]
add esp, 8
test edi, edi
jne 0x426ec3
push dword [ebp - 0x54]
call fcn.0044824b
add esp, 4
push dword [ebp - 0x60]
call fcn.0044824b
add esp, 4
cmp byte [ebp - 0x1c], 0
je 0x426f7c
lea ecx, [ebp - 0x7c]
call fcn.00409db0
push 0xc
call fcn.004483fe
mov ebx, eax
add esp, 4
mov dword [ebp + 0x24], ebx
mov byte [ebp - 4], 0xa
xor ecx, ecx
mov edi, dword [ebp - 0x20]
mov edx, 2
inc edi
mov dword [ebx], 0
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
mov ecx, dword [ebp - 0x20]
add esp, 4
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
lea ecx, [edi + edi]
mov dword [ebx], eax
push ecx
push dword [ebp - 0x18]
push eax
call fcn.00449190
mov byte [ebp - 4], 7
add esp, 0xc
mov eax, dword [ebp - 0x78]
lea ecx, [eax + 1]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + eax*4], ebx
cmp dword [ebp - 0x30], 0
jne 0x427090
push 0x46049c
lea ecx, [ebp - 0x34]
call fcn.0040a620
push dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x7c]
push dword [ebp + 8]
push ecx
push eax
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
movzx eax, byte [ebx + 0x3f]
push eax
movzx eax, byte [ebx + 0x3d]
push eax
push dword [ebp + 0x20]
xor eax, eax
cmp byte [ebx + 0x3c], al
push dword [ebp - 0x64]
cmovne eax, dword [ebp + 0x10]
push eax
lea eax, [ebx + 0x20]
push eax
call fcn.00421bc0
xor eax, eax
mov dword [ebp + 0x10], esi
cmp byte [ebx + 0x3f], al
setne al
mov edi, dword [ebp - 0x80]
mov byte [ebp - 4], 0xb
cmp byte [ebx + 0x3c], 0
push esi
mov ecx, dword [edi]
push eax
je 0x42712e
push 0xffffffffffffffff
push 0
push edi
call dword [ecx + 0x1c]
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0xc
mov ecx, dword [edi]
push eax
push 0x2c
push edi
call dword [ecx + 0x20]
test eax, eax
jne case.0x427028.0
movzx eax, word [ebp - 0x50]
cmp eax, 0x15
ja case.0x427028.1
movzx eax, byte [eax + 0x427264]
jmp dword [eax*4 + 0x42724c]
mov esi, dword [ebp + 0x1c]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0xc]
mov edi, eax
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x427075
mov eax, dword [ebp - 0x54]
nop
mov ebx, dword [eax + esi*4 - 4]
dec esi
test ebx, ebx
je 0x427071
push dword [ebx]
call fcn.0044824b
add esp, 4
push 0xc
push ebx
call fcn.00448373
mov eax, dword [ebp - 0x54]
add esp, 8
test esi, esi
jne 0x427050
push dword [ebp - 0x54]
call fcn.0044824b
add esp, 4
push dword [ebp - 0x60]
call fcn.0044824b
add esp, 4
jmp 0x42719c
mov ecx, dword [ebp - 0x34]
call fcn.0040c9c0
test al, al
jne 0x426f93
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x4270b3
mov edi, 0x80004005
jmp 0x4270be
jle 0x4270be
movzx edi, di
or edi, 0x80070000
push dword [ebp + 0x28]
lea edx, [ebp - 0x34]
mov ecx, str.Cannot_create_output_directory
push edi
call fcn.004266e0
jmp 0x42719c
mov edi, dword [ebp + 0x2c]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xb
mov dword [edi + 4], ecx
lea ecx, [ebp - 0x50]
mov dword [edi], eax
call fcn.0040efe0
jmp 0x427140
mov edi, dword [ebp + 0x2c]
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xb
mov dword [edi + 4], 0
mov dword [edi], eax
call fcn.0040efe0
jmp 0x427140
movzx eax, word [ebp - 0x48]
mov edi, dword [ebp + 0x2c]
cdq
mov dword [edi + 4], edx
mov dword [edi], eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
call fcn.0040efe0
jmp 0x427140
movzx eax, byte [ebp - 0x48]
jmp 0x427111
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push edi
call dword [ecx + 0x1c]
mov ebx, eax
xor edi, edi
test esi, esi
je 0x42716f
mov ecx, esi
call fcn.00423e60
mov edi, eax
mov ecx, esi
test edi, edi
je 0x42715c
call fcn.00424a60
jmp 0x427163
call fcn.00424a60
mov edi, eax
mov dword [esi + 0x1c], 0
xor esi, esi
mov dword [ebp + 0x10], esi
mov ecx, dword [ebp + 0x1c]
test ebx, ebx
cmove ebx, edi
push ebx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, eax
mov byte [ebp - 4], 0xd
test esi, esi
je 0x42719c
mov ecx, esi
call fcn.00423e60
mov ecx, esi
call fcn.00424a60
mov dword [esi + 0x1c], 0
push dword [ebp - 0x90]
call fcn.0044824b
add esp, 4
push dword [ebp - 0x18]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xa8]
call fcn.0044824b
add esp, 4
push dword [ebp - 0x34]
call fcn.0044824b
mov ebx, dword [ebp - 0x84]
add esp, 4
test ebx, ebx
je 0x427205
mov eax, dword [ebp - 0x7c]
nop dword [eax + eax]
mov esi, dword [eax + ebx*4 - 4]
dec ebx
test esi, esi
je 0x427201
push dword [esi]
call fcn.0044824b
add esp, 4
push 0xc
push esi
call fcn.00448373
mov eax, dword [ebp - 0x7c]
add esp, 8
test ebx, ebx
jne 0x4271e0
push dword [ebp - 0x7c]
call fcn.0044824b
add esp, 4
push dword [ebp - 0x9c]
call fcn.0044824b
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
push 0x4685e0
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], 0x24e9f
push eax
call fcn.0044b1e1
nop dword [eax]
sbb dh, byte [ecx + 0x42]
add byte [eax], ch
jno 0x427295
add byte [0xf0004271], cl
jo 0x42729d
add ah, dl
jo 0x4272a1
add byte [edx + esi*2], dh
inc edx
add byte [eax], al
add eax, 0x5050505
add eax, 84215045
add eax, 84215045
add eax, 84083201
add al, 204
int3
in al, dx
push 0xffffffffffffffff
push 0x457d6d
mov eax, dword fs:[0]
add byte [eax], al
push eax
push ebx
sub esp, 0x178
push esi
push edi
mov eax, dword [0x46a008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x68], ecx
mov eax, dword [ebx + 0x2c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [ebp - 0xb8], 0
mov edi, dword [ebx + 0x18]
mov dword [ebp - 4], 0
cmp byte [edi + 0x3c], 0
je 0x42736a
mov dword [ebp - 0x28], 1
jmp 0x42737b
mov ecx, dword [ebx + 0xc]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x42755c
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], eax
nop dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
push 8
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov word [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
call fcn.00448381
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 0
add esp, 4
mov dword [ebp - 0x78], 3
mov word [eax], cx
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0xa8], xmm0
cmp byte [edi + 0x3c], cl
jne 0x4274a0
mov eax, dword [ebx + 0xc]
mov edx, 2
mov eax, dword [eax]
mov edi, dword [eax + esi*4]
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
mov ecx, dword [edi + 4]
add esp, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
lea ecx, [ecx*2 + 2]
push ecx
push dword [edi]
push eax
call fcn.00449190
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa8]
mov esi, dword [ebp - 0x64]
push 1
push esi
call fcn.0040d4f0
test al, al
je 0x42751c
mov eax, dword [ebp - 0x88]
shr eax, 4
test al, 1
jne 0x427510
push esi
mov byte [ebp - 4], 1
call fcn.0044824b
add esp, 4
mov esi, dword [ebp - 0xa8]
lea ecx, [ebp - 0xc0]
mov edi, dword [ebp - 0xa4]
call fcn.00417c60
mov ecx, dword [ebp - 0xbc]
lea eax, [ecx + 1]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*8], esi
mov dword [eax + ecx*8 + 4], edi
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
adc eax, dword [ebp - 0xa4]
mov byte [ebp - 4], 0
push dword [ebp - 0x80]
mov dword [ebp - 0x34], eax
call fcn.0044824b
mov esi, dword [ebp - 0x3c]
add esp, 4
mov ecx, dword [ebp - 0x28]
inc esi
mov edi, dword [ebx + 0x18]
mov dword [ebp - 0x3c], esi
cmp esi, ecx
jae 0x427568
jmp 0x427390
mov edi, 0x80004005
mov ecx, str.The_item_is_a_directory
jmp 0x42753f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x42752f
mov edi, 0x80004005
jmp 0x42753a
jle 0x42753a
movzx edi, di
or edi, 0x80070000
mov ecx, str.Cannot_find_archive_file
push dword [ebx + 0x28]
lea edx, [ebp - 0x64]
push edi
call fcn.004266e0
push esi
call fcn.0044824b
add esp, 4
push dword [ebp - 0x80]
jmp 0x42838f
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
xor esi, esi
mov dword [ebp - 0x3c], esi
test ecx, ecx
je 0x427582
push ecx
call fcn.00448381
mov ecx, dword [ebp - 0x28]
mov esi, eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov byte [ebp - 4], 3
test ecx, ecx
je 0x427596
push ecx
push 0
push esi
call fcn.00449710
add esp, 0xc
push 0x180
call fcn.004483fe
add esp, 4
mov dword [ebp - 0x44], eax
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00421910
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x138], eax
test eax, eax
je 0x4275c8
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [ebx + 0x18]
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x28], 1
mov byte [ebp - 4], 5
mov ecx, dword [eax + 0xc]
seta dl
mov edi, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov byte [esi + 0x40], dl
mov edx, esi
mov dword [edx + 0x130], edi
mov edi, esi
mov esi, dword [ebp - 0x3c]
mov dword [edx + 0x48], ecx
mov ecx, dword [ebp - 0x28]
mov dword [edx + 0x44], eax
mov byte [edi + 0x35], 0
mov dword [edi + 0x160], 0
mov dword [edi + 0x164], 0
mov dword [edi + 0x158], 0
mov dword [edi + 0x15c], 0
mov dword [edi + 0x150], 0
mov dword [edi + 0x154], 0
mov dword [edi + 0x148], 0
mov dword [edi + 0x14c], 0
mov dword [edi + 0x140], 0
mov dword [edi + 0x144], 0
cmp ecx, 1
jbe 0x427699
mov ecx, dword [ebx + 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jne 0x4282f9
mov ecx, dword [ebp - 0x28]
xorps xmm0, xmm0
xor al, al
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x20]
movlpd qword [ebp - 0x30], xmm0
mov byte [ebp - 0x11], al
jmp 0x4276c0
xor al, al
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x11], al
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
test ecx, ecx
je 0x4282c8
nop word [eax + eax]
mov eax, dword [ebp - 0x4c]
cmp byte [esi + eax], 0
jne 0x428140
mov eax, dword [edi + 0x134]
test eax, eax
je 0x4276ea
push eax
call fcn.0044824b
add esp, 4
mov dword [edi + 0x134], 0
mov eax, dword [ebx + 0xc]
xorps xmm0, xmm0
mov dword [edi + 0x138], 0
mov edi, dword [ebp - 0x4c]
push 8
mov eax, dword [eax]
mov edi, dword [eax + edi*4]
mov dword [ebp - 0x24], edi
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov word [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
call fcn.00448381
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 0
add esp, 4
mov dword [ebp - 0x78], 3
mov word [eax], cx
mov eax, dword [ebx + 0x18]
mov byte [ebp - 4], 7
cmp byte [eax + 0x3c], cl
je 0x4277cd
xorps xmm0, xmm0
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
mov word [ebp - 0x84], cx
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0x88], ecx
jmp 0x4277f8
push 1
push dword [edi]
lea ecx, [ebp - 0xa8]
call fcn.0040d4f0
test al, al
je 0x428283
mov eax, dword [ebp - 0x88]
shr eax, 4
test al, 1
jne 0x428283
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x20]
movzx eax, byte [eax + 0x3f]
push eax
push dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov edi, eax
test edi, edi
jne 0x4282b2
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
push 8
movlpd qword [ebp - 0x108], xmm0
mov word [ebp - 0x100], ax
mov dword [ebp - 0xfc], eax
call fcn.00448381
xor ecx, ecx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], edi
add esp, 4
mov dword [ebp - 0xf4], 3
mov word [eax], cx
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xc
call fcn.00426510
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0xe
mov edi, dword [eax + 4]
mov dword [ebp - 0x6c], edi
test edi, edi
je 0x4278ca
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
mov dword [ebp - 0x58], eax
add esp, 4
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x1c], 0
test edi, edi
je 0x427913
mov esi, dword [ebp - 0x1c]
mov eax, dword [eax]
push 0x20
mov edi, dword [eax + esi*4]
call fcn.004483fe
movups xmm0, xmmword [edi]
inc esi
add esp, 4
movups xmmword [eax], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [eax + 0x10], xmm0
mov edx, dword [ebp - 0x54]
lea ecx, [edx + 1]
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x58]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xb0]
cmp esi, dword [ebp - 0x6c]
jb 0x4278d8
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0xf
call fcn.00426450
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x160], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x158], 0
mov al, byte [eax + 0x3c]
mov byte [ebp - 0x148], al
mov eax, dword [ebp - 0x24]
cmp eax, ecx
je 0x4279d4
mov edi, dword [eax + 4]
cmp edi, dword [ebp - 0x13c]
jbe 0x4279ad
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
add esp, 4
mov dword [ebp - 0x18], eax
push dword [ebp - 0x144]
call fcn.0044824b
mov ecx, dword [ebp - 0x18]
add esp, 4
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x13c], edi
jmp 0x4279b8
mov eax, dword [ebp - 0x144]
mov ecx, eax
mov dword [ebp - 0x18], eax
lea eax, [edi*2 + 2]
mov dword [ebp - 0x140], edi
push eax
mov eax, dword [ebp - 0x24]
push dword [eax]
push ecx
call fcn.00449190
add esp, 0xc
push dword [ebx + 0x1c]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x120]
call fcn.0042ba80
mov edi, eax
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x427a02
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0xc]
call edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x427a1f
mov eax, edi
mov dword [ebp - 0x18], edi
test eax, eax
jne 0x427a1f
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0xe4], edi
jl 0x427a2a
mov dword [ebp - 0x18], 1
jmp 0x427a2a
cmp eax, 0x80004004
je 0x42815e
mov edx, dword [ebx + 0x20]
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [edx]
push dword [ecx]
lea ecx, [ebp - 0x120]
mov eax, dword [eax + 4]
push ecx
push dword [ebp - 0x68]
mov ecx, edx
call eax
mov edi, eax
test edi, edi
jne 0x428163
cmp dword [ebp - 0x18], eax
je 0x427b71
mov eax, dword [ebx + 0x18]
mov byte [ebp - 0x11], 1
cmp byte [eax + 0x3c], 0
jne 0x427a7a
mov eax, dword [ebp - 0xa8]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa4]
adc dword [ebp - 0x2c], eax
push dword [ebp - 0x144]
call fcn.0044824b
mov edi, dword [ebp - 0x54]
add esp, 4
test edi, edi
je 0x427aa5
nop
mov eax, dword [ebp - 0x58]
dec edi
push 0x20
push dword [eax + edi*4]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x427a90
push dword [ebp - 0x58]
call fcn.0044824b
add esp, 4
lea ecx, [ebp - 0x120]
call fcn.0042b070
push dword [ebp - 0xcc]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xd8]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xfc]
call fcn.0044824b
mov edi, dword [ebp - 0x110]
add esp, 4
test edi, edi
je 0x427b1c
nop
mov eax, dword [ebp - 0x114]
dec edi
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x427b18
push dword [eax]
call fcn.0044824b
add esp, 4
push 0xc
push dword [ebp - 0x1c]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x427af0
push dword [ebp - 0x114]
call fcn.0044824b
mov edi, dword [ebp - 0x11c]
add esp, 4
test edi, edi
je 0x428120
nop dword [eax + eax]
mov eax, dword [ebp - 0x120]
dec edi
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x427b68
mov ecx, eax
call fcn.00428460
push 0xe0
push dword [ebp - 0x1c]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x427b40
jmp 0x428120
mov ecx, dword [ebp - 0x11c]
test ecx, ecx
je 0x427e07
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + ecx*4 - 4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x427e07
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
shr eax, 0xd
and al, 1
je 0x427e07
mov eax, dword [ebx + 0x18]
cmp byte [eax + 0x3f], 0
jne 0x427d01
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebp - 0x24]
push 0x80004001
mov eax, dword [edx]
push dword [ecx]
lea ecx, [ebp - 0x120]
push ecx
push dword [ebp - 0x68]
mov eax, dword [eax + 4]
mov ecx, edx
call eax
mov edi, eax
test edi, edi
jne 0x428163
mov eax, dword [ebx + 0x18]
mov byte [ebp - 0x11], 1
cmp byte [eax + 0x3c], 0
jne 0x427c03
mov eax, dword [ebp - 0xa8]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xa4]
adc dword [ebp - 0x2c], eax
push dword [ebp - 0x144]
call fcn.0044824b
mov edi, dword [ebp - 0x54]
add esp, 4
test edi, edi
je 0x427c2d
mov eax, dword [ebp - 0x58]
dec edi
push 0x20
push dword [eax + edi*4]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x427c18
push dword [ebp - 0x58]
call fcn.0044824b
add esp, 4
lea ecx, [ebp - 0x120]
call fcn.0042b070
push dword [ebp - 0xcc]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xd8]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xfc]
call fcn.0044824b
mov edi, dword [ebp - 0x110]
add esp, 4
test edi, edi
je 0x427cac
nop word [eax + eax]
mov eax, dword [ebp - 0x114]
dec edi
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x427ca8
push dword [eax]
call fcn.0044824b
add esp, 4
push 0xc
push dword [ebp - 0x1c]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x427c80
push dword [ebp - 0x114]
call fcn.0044824b
mov edi, dword [ebp - 0x11c]
add esp, 4
test edi, edi
je 0x428120
nop dword [eax + eax]
mov eax, dword [ebp - 0x120]
dec edi
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x427cf8
mov ecx, eax
call fcn.00428460
push 0xe0
push dword [ebp - 0x1c]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x427cd0
jmp 0x428120
mov eax, dword [eax + 0x34]
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov edx, 2
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00448381
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x64], edi
mov ecx, dword [eax + 0x34]
lea ecx, [ecx*2 + 2]
push ecx
push dword [eax + 0x30]
push edi
call fcn.00449190
add esp, 0xc
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x427db3
mov eax, dword [ebp - 0x24]
push 8
mov edi, dword [eax]
call fcn.00448381
xor ecx, ecx
mov dword [ebp - 0x134], eax
add esp, 4
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 3
mov word [eax], cx
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x64]
mov ecx, edi
call fcn.0040d140
mov byte [ebp - 4], 0x14
push dword [ebp - 0x134]
call fcn.0044824b
mov eax, dword [ebp - 0x60]
add esp, 4
mov edi, dword [ebp - 0x64]
test eax, eax
je 0x427de8
movzx ecx, word [edi + eax*2 - 2]
cmp ecx, 0x5c
je 0x427de8
cmp ecx, 0x2f
je 0x427de8
cmp dword [ebp - 0x5c], eax
jne 0x427dd5
lea ecx, [ebp - 0x64]
call fcn.0040a330
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov ecx, 0x5c
mov word [edi + eax*2], cx
inc eax
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov word [edi + eax*2], cx
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ecx + 0x168]
call fcn.0040a5b0
push edi
mov byte [ebp - 4], 0x10
call fcn.0044824b
add esp, 4
mov eax, dword [ebx + 0x18]
cmp byte [eax + 0x3c], 0
jne 0x427eff
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x427eff
mov edx, dword [ebp - 0x108]
xor ecx, ecx
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x427eb6
nop dword [eax]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x427ea4
lea edi, [eax + ecx]
mov eax, dword [ebx + 0x10]
shr edi, 1
mov eax, dword [eax]
mov edx, dword [eax + edi*4]
mov eax, dword [ebp - 0x44]
mov edx, dword [edx]
mov ecx, dword [eax]
call fcn.0040b200
test eax, eax
je 0x427f49
jns 0x427e91
mov ecx, dword [ebp - 0xb4]
mov eax, edi
mov dword [ebp - 0x6c], eax
jmp 0x427e9d
mov eax, dword [ebp - 0x6c]
lea ecx, [edi + 1]
mov dword [ebp - 0xb4], ecx
cmp ecx, eax
jne 0x427e61
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0x110]
jb 0x427e40
mov edi, dword [ebp - 0x24]
mov eax, edx
or eax, edi
je 0x427eff
add edx, dword [ebp - 0x38]
mov ecx, edx
adc edi, dword [ebp - 0x34]
mov edx, edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
test edx, edx
jg 0x427eea
jl 0x427ed6
test ecx, ecx
jae 0x427eea
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
mov edi, dword [ebx + 0x24]
push edx
push ecx
push edi
mov eax, dword [edi]
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jne 0x428163
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov edx, dword [ecx + eax*4 - 4]
mov eax, dword [ebx + 0x18]
cmp byte [eax + 0x3c], 0
jne 0x427f74
cmp byte [ebp - 0x83], 0
jne 0x427f74
mov byte [edx + 0x4f], 1
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov dword [edx + 0x44], eax
mov eax, 0x17
mov word [edx + 0x4c], ax
mov eax, dword [ebx + 0x18]
mov dword [edx + 0x48], ecx
mov byte [edx + 0x4e], 0
jmp 0x427f78
cmp edi, dword [ebp - 0x4c]
jbe 0x427ea1
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov byte [edi + esi], 1
sub edx, dword [ecx + edi*8]
mov dword [ebp - 0x18], edx
sbb eax, dword [ecx + edi*8 + 4]
mov dword [ebp - 0x24], eax
jmp 0x427ea4
mov byte [edx + 0x4f], 0
lea ecx, [ebp - 0x128]
push ecx
push dword [ebx + 0x28]
lea edx, [ebp - 0x120]
push dword [ebp - 0x20]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push ecx
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0xa8]
push eax
push dword [ebx + 0x14]
mov eax, dword [ebp - 0x104]
adc eax, dword [ebp - 0xa4]
push eax
push ecx
mov ecx, dword [ebp - 0x68]
call fcn.004267c0
mov edi, eax
test edi, edi
jne 0x428163
mov eax, dword [ebx + 0x18]
cmp byte [eax + 0x3c], 0
jne 0x427ff1
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x104]
adc edx, dword [ebp - 0xa4]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], edx
jmp 0x427ffd
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
add dword [ebp - 0x30], ecx
mov edi, dword [ebp - 0x20]
adc dword [ebp - 0x2c], edx
mov eax, dword [edi + 0x13c]
add dword [eax + 0x20], ecx
adc dword [eax + 0x24], edx
mov eax, dword [edi + 0x13c]
mov ecx, dword [edi + 0x158]
mov edx, dword [edi + 0x15c]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov eax, dword [ebx + 0x28]
cmp dword [eax + 4], 0
jne 0x428157
push dword [ebp - 0x144]
call fcn.0044824b
mov edi, dword [ebp - 0x54]
add esp, 4
test edi, edi
je 0x428065
nop dword [eax]
mov eax, dword [ebp - 0x58]
dec edi
push 0x20
push dword [eax + edi*4]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x428050
push dword [ebp - 0x58]
call fcn.0044824b
add esp, 4
lea ecx, [ebp - 0x120]
call fcn.0042b070
push dword [ebp - 0xcc]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xd8]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xfc]
call fcn.0044824b
mov edi, dword [ebp - 0x110]
add esp, 4
test edi, edi
je 0x4280dc
nop
mov eax, dword [ebp - 0x114]
dec edi
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x4280d8
push dword [eax]
call fcn.0044824b
add esp, 4
push 0xc
push dword [ebp - 0x44]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x4280b0
push dword [ebp - 0x114]
call fcn.0044824b
mov edi, dword [ebp - 0x11c]
add esp, 4
test edi, edi
je 0x428120
mov eax, dword [ebp - 0x120]
dec edi
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x42811c
mov ecx, eax
call fcn.00428460
push 0xe0
push dword [ebp - 0x44]
call fcn.00448373
add esp, 8
test edi, edi
jne 0x4280f4
push dword [ebp - 0x120]
call fcn.0044824b
add esp, 4
mov byte [ebp - 4], 5
push dword [ebp - 0x80]
call fcn.0044824b
mov ecx, dword [ebp - 0x28]
add esp, 4
mov edi, dword [ebp - 0x4c]
inc edi
mov dword [ebp - 0x4c], edi
cmp edi, ecx
jae 0x4282c5
mov edi, dword [ebp - 0x20]
jmp 0x4276c0
mov edi, 0x80004005
jmp 0x428163
mov edi, 0x80004004
push dword [ebp - 0x144]
call fcn.0044824b
mov eax, dword [ebp - 0x54]
add esp, 4
test eax, eax
je 0x428198
mov esi, eax
nop word [eax + eax]
mov eax, dword [ebp - 0x58]
dec esi
push 0x20
push dword [eax + esi*4]
call fcn.00448373
add esp, 8
test esi, esi
jne 0x428180
mov esi, dword [ebp - 0x3c]
push dword [ebp - 0x58]
call fcn.0044824b
add esp, 4
lea ecx, [ebp - 0x120]
call fcn.0042b070
push dword [ebp - 0xcc]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xd8]
call fcn.0044824b
add esp, 4
push dword [ebp - 0xfc]
call fcn.0044824b
mov ecx, dword [ebp - 0x110]
add esp, 4
test ecx, ecx
je 0x428214
mov eax, dword [ebp - 0x114]
dec ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x428210
push dword [eax]
call fcn.0044824b
add esp, 4
push 0xc
push dword [ebp - 0x44]
call fcn.00448373
mov ecx, dword [ebp - 0x1c]
add esp, 8
test ecx, ecx
jne 0x4281e2
push dword [ebp - 0x114]
call fcn.0044824b
mov ecx, dword [ebp - 0x11c]
add esp, 4
test ecx, ecx
je 0x428262
nop dword [eax]
mov eax, dword [ebp - 0x120]
dec ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x42825e
mov ecx, eax
call fcn.00428460
push 0xe0
push dword [ebp - 0x44]
call fcn.00448373
mov ecx, dword [ebp - 0x1c]
add esp, 8
test ecx, ecx
jne 0x428230
push dword [ebp - 0x120]
call fcn.0044824b
add esp, 4
push dword [ebp - 0x80]
call fcn.0044824b
mov edx, dword [ebp - 0x20]
add esp, 4
jmp 0x428384
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x428296
mov edi, 0x80004005
jmp 0x4282a1
jle 0x4282a1
movzx edi, di
or edi, 0x80070000
push dword [ebx + 0x28]
mov edx, dword [ebp - 0x24]
mov ecx, str.Cannot_find_archive_file
push edi
call fcn.004266e0
push dword [ebp - 0x80]
call fcn.0044824b
mov edx, dword [ebp - 0x20]
add esp, 4
jmp 0x428384
mov al, byte [ebp - 0x11]
cmp ecx, 1
ja 0x4282d1
test al, al
je 0x428301
mov ecx, dword [ebx + 0x24]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jne 0x4282f9
mov ecx, dword [ebx + 0x24]
lea edx, [ebp - 0x30]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edi, eax
test edi, edi
je 0x428301
mov edx, dword [ebp - 0x20]
jmp 0x428384
mov edi, dword [ebx + 0x2c]
mov edx, dword [ebp - 0x20]
mov dword [edi + 4], 0
mov eax, dword [edx + 0x140]
mov ecx, dword [edx + 0x144]
mov dword [edi + 0x20], eax
mov eax, dword [edx + 0x148]
mov dword [edi + 0x28], eax
mov eax, dword [edx + 0x150]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x158]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x160]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x24], ecx
mov ecx, dword [edx + 0x14c]
mov dword [edi + 0x2c], ecx
mov eax, dword [eax + 4]
mov ecx, dword [edx + 0x154]
mov dword [edi + 0x34], ecx
mov ecx, dword [edx + 0x15c]
mov dword [edi], eax
mov eax, dword [edx + 0x13c]
mov dword [edi + 0xc], ecx
mov ecx, dword [edx + 0x164]
mov dword [edi + 0x14], ecx
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
xor edi, edi
mov byte [ebp - 4], 0x1b
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
push esi
call fcn.0044824b
add esp, 4
push dword [ebp - 0xc0]
call fcn.0044824b
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x28