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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9ccfaf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14c
push ebx
xor ebx, ebx
push esi
push edi
mov edi, dword [ebp + 0x34]
xor esi, esi
mov dword [edi + 0x30], ebx
mov dword [edi + 0x34], ebx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], ebx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 4], ebx
cmp byte [eax + 0x3c], bl
je 0x424db0
lea ecx, [ebx + 1]
jmp 0x424db6
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ebx
cmp ecx, ebx
jbe 0x424f1d
lea ecx, [ebp - 0xfc]
call fcn.0040cce0
lea ecx, [ebp - 0xd4]
call fcn.00409cd0
mov edx, dword [ebp + 0x20]
mov byte [ebp - 4], 1
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
cmp byte [edx + 0x3c], bl
jne 0x424e45
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x28]
mov eax, dword [ecx + edx*4]
push eax
lea ecx, [ebp - 0x24]
call fcn.00409e20
mov eax, dword [ebp - 0x24]
push 1
push eax
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 2
call fcn.0040d230
test al, al
je 0x424f78
mov ecx, dword [ebp - 0xdc]
shr ecx, 4
test cl, 1
jne 0x425013
mov edx, dword [ebp - 0x24]
push edx
mov byte [ebp - 4], 1
call fcn.00966891
add esp, 4
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], ecx
cmp esi, eax
jne 0x424ed0
cmp eax, 0x7fffffff
jae 0x425062
mov ecx, SysReAllocString
sub ecx, eax
shr eax, 2
inc eax
cmp eax, ecx
jbe 0x424e7a
mov eax, ecx
add eax, dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.009668a7
add esp, 4
mov dword [ebp - 0x10], eax
cmp esi, ebx
je 0x424eb8
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
lea eax, [esi*8]
push eax
push ecx
push edx
call fcn.00966070
add esp, 0xc
mov eax, dword [ebp - 0x38]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x54]
mov eax, esi
mov dword [ecx + eax*8], edx
mov edx, dword [ebp - 0x50]
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xf8]
inc esi
add dword [ebp - 0x48], eax
push edx
mov dword [ebp - 0x34], esi
adc dword [ebp - 0x44], ecx
mov byte [ebp - 4], bl
call fcn.00966891
mov eax, dword [ebp - 0x28]
inc eax
add esp, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jb 0x424dc4
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x14], eax
cmp ecx, ebx
je 0x424f38
mov edx, dword [ebp - 0x2c]
push edx
call fcn.009668a7
mov ecx, dword [ebp - 0x2c]
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
cmp ecx, ebx
jbe 0x424f4e
mov ecx, dword [ebp - 0x2c]
push ecx
push ebx
push eax
call fcn.00966550
add esp, 0xc
push 0x180
call fcn.0096694f
add esp, 4
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x425077
mov ecx, eax
call fcn.00421b50
mov esi, eax
jmp 0x425079
call fcn.0040dab0
mov esi, dword [ebp + 0x30]
push str.Cannot_find_archive_file
mov ecx, esi
mov edi, eax
call fcn.0040a090
push 0x9d03f0
mov ecx, esi
call fcn.0040a270
push edi
lea eax, [ebp - 0xc4]
push eax
call fcn.00420350
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.0040a1e0
mov ecx, dword [ebp - 0xc4]
push ecx
mov byte [ebp - 4], 2
call fcn.00966891
add esp, 4
push 0x9d03f0
mov ecx, esi
call fcn.0040a270
lea edx, [ebp - 0x24]
push edx
mov ecx, esi
call fcn.0040a1e0
mov eax, dword [ebp - 0x24]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00966891
mov edx, dword [ebp - 0x38]
push edx
call fcn.00966891
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov esi, dword [ebp + 0x30]
push 0x80004005
lea eax, [ebp - 0x24]
push eax
push str.The_item_is_a_directory
call fcn.00424450
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00966891
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x38]
push eax
call fcn.00966891
add esp, 0xc
pop edi
pop esi
mov eax, 0x80004005
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
push 0x9fdc14
lea ecx, [ebp + 0x20]
push ecx
mov dword [ebp + 0x20], 0x7e5
call fcn.009668b2
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x158], esi
cmp esi, ebx
je 0x42508f
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 8]
cmp dword [ebp - 0x2c], 1
mov dword [ebp - 0x10], edx
seta byte [ebp - 0x16]
mov dl, byte [ebp - 0x16]
mov byte [esi + 0x40], dl
mov edx, dword [ebp - 0x10]
mov byte [ebp - 4], 6
mov dword [esi + 0x44], edx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x130], eax
mov byte [esi + 0x35], bl
mov dword [esi + 0x160], ebx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x150], ebx
mov dword [esi + 0x154], ebx
mov dword [esi + 0x148], ebx
mov dword [esi + 0x14c], ebx
mov dword [esi + 0x140], ebx
mov dword [esi + 0x144], ebx
cmp byte [ebp - 0x16], bl
je 0x425154
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
push edx
mov edx, dword [ebp - 0x48]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x425154
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
mov byte [ebp - 4], 4
call edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00966891
mov eax, dword [ebp - 0x10]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x2c], ebx
jbe 0x425842
lea esp, [esp]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp byte [edx + eax], bl
jne 0x42582f
mov ecx, esi
call fcn.004208c0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x28]
mov edi, dword [edx + eax*4]
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x10], edi
call fcn.0040cce0
lea ecx, [ebp - 0xd4]
call fcn.00409cd0
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + 0x3c], bl
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xfc]
je 0x4251d5
call fcn.0040cce0
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xdc], ebx
jmp 0x4251f9
mov eax, dword [edi]
push 1
push eax
call fcn.0040d230
test al, al
je 0x425df4
mov edx, dword [ebp - 0xdc]
shr edx, 4
test dl, 1
jne 0x425df4
mov eax, dword [edi]
mov edi, dword [ebp + 0x20]
movzx edi, byte [edi + 0x3f]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
push edi
push eax
mov eax, dword [edx]
call eax
mov edi, eax
cmp edi, ebx
jne 0x425b51
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov word [ebp - 0x94], bx
call fcn.00409cd0
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x4c], ecx
or edi, 0xffffffff
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
call fcn.00409cd0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.00409cd0
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xd
call fcn.004245d0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x134], 0x101
mov word [ebp - 0x130], bx
mov byte [ebp - 0x12e], bl
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x140], 0x1010101
mov dword [ebp - 0x138], 0x1010100
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], ebx
mov byte [ebp - 0x10c], bl
call fcn.00409cd0
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x124], ecx
mov cl, byte [eax + 0x3c]
mov dword [ebp - 0x120], edx
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x10c], cl
push edx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x11c], ebx
call fcn.00409f40
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.00429650
mov edi, eax
cmp edi, ebx
jne 0x425390
cmp dword [ebp - 0x78], ebx
jl 0x42539c
mov edi, 1
jmp 0x42539c
cmp edi, 0x80004004
je 0x4258a5
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push edi
push eax
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp + 8]
push eax
call edx
mov dword [ebp - 0x4c], eax
cmp eax, ebx
jne 0x4259ed
cmp edi, ebx
je 0x4254bd
mov eax, dword [ebp + 0x20]
mov byte [ebp - 0x15], 1
cmp byte [eax + 0x3c], bl
jne 0x4253e9
mov ecx, dword [ebp - 0xfc]
add dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0xf8]
adc dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x108]
push eax
call fcn.00966891
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x425415
nop
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + edi*4 - 4]
dec edi
push eax
call fcn.0096689c
add esp, 4
cmp edi, ebx
jne 0x425400
mov edx, dword [ebp - 0x24]
push edx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x1d
call fcn.00428990
mov eax, dword [ebp - 0x60]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00966891
mov edx, dword [ebp - 0x90]
push edx
call fcn.00966891
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.0042a1e0
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x1e
cmp eax, ebx
je 0x425499
lea ebx, [ebx]
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ecx + eax*4 - 4]
dec eax
mov dword [ebp - 0x10], eax
cmp edi, ebx
je 0x425495
mov ecx, edi
call fcn.00424500
push edi
call fcn.0096689c
mov eax, dword [ebp - 0x10]
add esp, 4
cmp eax, ebx
jne 0x425470
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00966891
mov eax, dword [ebp - 0xd4]
push eax
mov byte [ebp - 4], 6
call fcn.00966891
add esp, 8
jmp 0x42582f
mov eax, dword [ebp - 0xb0]
cmp eax, ebx
je 0x4255e4
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + eax*4 - 4]
mov eax, dword [eax + 0x3c]
cmp eax, ebx
jl 0x4255e4
mov edx, dword [ebp - 0x14c]
mov ecx, dword [edx + 8]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax]
shr edx, 0xd
and dl, 1
je 0x4255e4
mov eax, dword [ebp + 0x20]
cmp byte [eax + 0x3f], bl
jne 0x42557c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push 0x80004001
push eax
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp + 8]
push eax
call edx
mov edi, eax
cmp edi, ebx
jne 0x425b2b
mov eax, dword [ebp + 0x20]
mov byte [ebp - 0x15], 1
cmp byte [eax + 0x3c], bl
jne 0x42554a
mov ecx, dword [ebp - 0xfc]
add dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0xf8]
adc dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x108]
push eax
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0x24]
call fcn.00424690
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.004247a0
mov ecx, dword [ebp - 0xd4]
push ecx
jmp 0x425823
mov edx, eax
add edx, 0x30
push edx
lea ecx, [ebp - 0xc4]
call fcn.00409e20
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0xc0], ebx
jne 0x4255b3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.0040c890
cmp dword [ebp - 0xc0], ebx
je 0x4255bf
lea edx, [ebp - 0xc4]
push edx
call fcn.0040e060
lea eax, [ebp - 0xc4]
push eax
lea ecx, [esi + 0x168]
call fcn.00409f40
mov ecx, dword [ebp - 0xc4]
push ecx
mov byte [ebp - 4], 0xf
call fcn.00966891
add esp, 4
mov edx, dword [ebp + 0x20]
cmp byte [edx + 0x3c], bl
jne 0x4256a2
mov eax, dword [ebp - 0xa4]
cmp eax, ebx
je 0x4256a2
mov ecx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x10], ebx
jbe 0x425665
jmp 0x425620
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x10]
mov eax, dword [edx + eax*4]
mov ecx, dword [ebp + 0x18]
push eax
push ecx
call fcn.004246d0
cmp eax, ebx
jl 0x425656
cmp eax, dword [ebp - 0x28]
jbe 0x425656
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
mov byte [eax + edx], 1
sub edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
sbb dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0xa4]
jb 0x425620
mov eax, dword [ebp - 0x150]
mov ecx, edi
or ecx, eax
je 0x4256a2
add edi, dword [ebp - 0x48]
adc eax, dword [ebp - 0x44]
cmp eax, ebx
jg 0x425685
jl 0x425681
cmp edi, ebx
jae 0x425685
xor edi, edi
xor eax, eax
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ecx]
push eax
push edi
mov dword [ebp - 0x44], eax
mov eax, dword [edx + 0xc]
push ecx
mov dword [ebp - 0x48], edi
call eax
mov edi, eax
cmp edi, ebx
jne 0x425b96
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
mov eax, dword [ecx + edx*4 - 4]
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + 0x3c], bl
jne 0x4256c9
cmp byte [ebp - 0xd7], bl
jne 0x4256c9
mov edx, 1
jmp 0x4256cb
xor edx, edx
mov byte [eax + 0x4f], dl
cmp dl, bl
je 0x4256f0
mov edx, dword [ebp - 0xe4]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0xe0]
mov dword [eax + 0x48], edx
mov edx, 0x17
mov word [eax + 0x4c], dx
mov byte [eax + 0x4e], bl
mov edi, dword [ebp + 0x30]
mov edx, dword [ebp + 0x2c]
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp + 0x28]
push edi
push esi
push edx
mov edx, dword [ebp + 0x1c]
push eax
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xfc]
push ebx
push edx
mov edx, dword [ebp - 0x98]
adc edx, dword [ebp - 0xf8]
push edx
push eax
mov eax, dword [ebp + 8]
push eax
lea edx, [ebp - 0xb4]
call fcn.00424810
mov dword [ebp - 0x4c], eax
cmp eax, ebx
jne 0x425c26
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + 0x3c], bl
jne 0x425762
mov edx, dword [ebp - 0x9c]
add edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x98]
adc ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
jmp 0x425768
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
add dword [ebp - 0x40], edx
adc dword [ebp - 0x3c], ecx
mov eax, dword [esi + 0x13c]
add dword [eax + 0x20], edx
adc dword [eax + 0x24], ecx
mov eax, dword [esi + 0x13c]
mov edx, dword [esi + 0x158]
mov dword [eax + 0x28], edx
mov ecx, dword [esi + 0x15c]
mov dword [eax + 0x2c], ecx
cmp dword [edi + 4], ebx
jne 0x425d2b
mov edx, dword [ebp - 0x108]
push edx
call fcn.00966891
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x4257c6
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0096689c
add esp, 4
cmp edi, ebx
jne 0x4257b1
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x30
call fcn.00428990
mov edx, dword [ebp - 0x60]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00966891
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.0042a1e0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424730
mov edx, dword [ebp - 0xd4]
push edx
mov byte [ebp - 4], 6
call fcn.00966891
add esp, 4
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jb 0x425170
mov edi, dword [ebp + 0x34]
cmp byte [ebp - 0x16], bl
jne 0x425850
cmp byte [ebp - 0x15], bl
je 0x425eeb
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
push edx
mov edx, dword [ebp - 0x48]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov dword [ebp + 0x20], eax
cmp eax, ebx
je 0x425e9e
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
mov byte [ebp - 4], 4
call edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00966891
mov eax, dword [ebp + 0x20]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov edx, dword [ebp - 0x108]
push edx
call fcn.00966891
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x4258d5
jmp 0x4258c0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0096689c
add esp, 4
cmp edi, ebx
jne 0x4258c0
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x13
call fcn.00428990
mov edx, dword [ebp - 0x60]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00966891
mov eax, dword [ebp - 0xa4]
add esp, 0xc
cmp eax, ebx
je 0x42594a
jmp 0x425920
mov edx, dword [ebp - 0xa8]
mov edi, dword [edx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425946
mov eax, dword [edi]
push eax
call fcn.00966891
push edi
call fcn.0096689c
mov eax, dword [ebp + 0x20]
add esp, 8
cmp eax, ebx
jne 0x425920
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00966891
add esp, 4
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x14
cmp eax, ebx
je 0x425999
jmp 0x425970
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ecx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425995
mov ecx, edi
call fcn.00424500
push edi
call fcn.0096689c
mov eax, dword [ebp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x425970
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00966891
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00966891
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
add esp, 8
push esi
mov byte [ebp - 4], 4
call edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00966891
add esp, 8
pop edi
pop esi
mov eax, 0x80004004
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov edx, dword [ebp - 0x108]
push edx
call fcn.00966891
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x425a18
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0096689c
add esp, 4
cmp edi, ebx
jne 0x425a03
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x18
call fcn.00428990
mov edx, dword [ebp - 0x60]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00966891
mov eax, dword [ebp - 0xa4]
add esp, 0xc
cmp eax, ebx
je 0x425a8a
mov edi, edi
mov edx, dword [ebp - 0xa8]
mov edi, dword [edx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425a86
mov eax, dword [edi]
push eax
call fcn.00966891
push edi
call fcn.0096689c
mov eax, dword [ebp + 0x20]
add esp, 8
cmp eax, ebx
jne 0x425a60
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00966891
add esp, 4
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x19
cmp eax, ebx
je 0x425ad9
jmp 0x425ab0
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ecx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425ad5
mov ecx, edi
call fcn.00424500
push edi
call fcn.0096689c
mov eax, dword [ebp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x425ab0
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00966891
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00966891
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
add esp, 8
push esi
mov byte [ebp - 4], 4
call edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00966891
mov eax, dword [ebp - 0x4c]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov edx, dword [ebp - 0x108]
push edx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0x24]
call fcn.00424690
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.004247a0
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00966891
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
add esp, 4
push esi
mov byte [ebp - 4], 4
call edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00966891
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov edx, dword [ebp - 0x108]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x20]
add esp, 4
cmp eax, ebx
je 0x425bcb
jmp 0x425bb3
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x24]
dec eax
mov dword [ebp + 0x20], eax
mov eax, dword [ecx + eax*4]
push eax
call fcn.0096689c
add esp, 4
cmp dword [ebp + 0x20], ebx
jne 0x425bb0
mov edx, dword [ebp - 0x24]
push edx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x23
call fcn.00428990
mov eax, dword [ebp - 0x60]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00966891
mov edx, dword [ebp - 0x90]
push edx
call fcn.00966891
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.0042a1e0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424730
jmp 0x425b51
mov edx, dword [ebp - 0x108]
push edx
call fcn.00966891
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x425c55
lea esp, [esp]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0096689c
add esp, 4
cmp edi, ebx
jne 0x425c40
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x27
call fcn.00428990
mov edx, dword [ebp - 0x60]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00966891
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.0042a1e0
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x28
cmp eax, ebx
je 0x425cd9
lea ebx, [ebx]
mov edx, dword [ebp - 0xb4]
mov edi, dword [edx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425cd5
mov ecx, edi
call fcn.00424500
push edi
call fcn.0096689c
mov eax, dword [ebp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x425cb0
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00966891
mov edx, dword [esi]
mov eax, dword [edx + 8]
add esp, 8
push esi
mov byte [ebp - 4], 4
call eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00966891
mov edx, dword [ebp - 0x38]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x4c]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov eax, dword [ebp - 0x108]
push eax
call fcn.00966891
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x425d56
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + edi*4 - 4]
dec edi
push eax
call fcn.0096689c
add esp, 4
cmp edi, ebx
jne 0x425d41
mov edx, dword [ebp - 0x24]
push edx
call fcn.00966891
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x2c
call fcn.00428990
mov eax, dword [ebp - 0x60]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00966891
mov edx, dword [ebp - 0x90]
push edx
call fcn.00966891
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.0042a1e0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424730
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00966891
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
add esp, 4
push esi
mov byte [ebp - 4], 4
call edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00966891
add esp, 8
pop edi
pop esi
mov eax, 0x80004005
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
call fcn.0040dab0
mov edi, dword [ebp + 0x30]
push str.Cannot_find_archive_file
mov ecx, edi
mov ebx, eax
call fcn.0040a090
push 0x9d03f0
mov ecx, edi
call fcn.0040a270
push ebx
lea edx, [ebp - 0xc4]
push edx
call fcn.00420350
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.0040a1e0
mov eax, dword [ebp - 0xc4]
push eax
mov byte [ebp - 4], 7
call fcn.00966891
add esp, 4
push 0x9d03f0
mov ecx, edi
call fcn.0040a270
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, edi
call fcn.0040a1e0
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00966891
mov eax, dword [esi]
mov ecx, dword [eax + 8]
add esp, 4
push esi
mov byte [ebp - 4], 4
call ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x38]
push eax
call fcn.00966891
add esp, 8
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea ecx, [ebp - 0x40]
push ecx
push eax
call edx
mov dword [ebp + 0x20], eax
cmp eax, ebx
je 0x425eeb
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
mov byte [ebp - 4], 4
call ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x38]
push eax
call fcn.00966891
mov eax, dword [ebp + 0x20]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30
mov ecx, dword [esi + 0x140]
mov dword [edi + 0x20], ecx
mov edx, dword [esi + 0x144]
mov dword [edi + 0x24], edx
mov eax, dword [esi + 0x148]
mov dword [edi + 0x28], eax
mov ecx, dword [esi + 0x14c]
mov dword [edi + 0x2c], ecx
mov edx, dword [esi + 0x150]
mov dword [edi + 0x30], edx
mov eax, dword [esi + 0x154]
mov dword [edi + 0x34], eax
mov ecx, dword [esi + 0x158]
mov dword [edi + 8], ecx
mov edx, dword [esi + 0x15c]
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x160]
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x164]
mov dword [edi + 0x14], ecx
mov eax, dword [edx + 4]
mov dword [edi], eax
mov dword [edi + 4], ebx
mov eax, dword [esi + 0x13c]
mov ecx, dword [eax + 0x20]
mov dword [edi + 0x18], ecx
mov edx, dword [eax + 0x24]
mov dword [edi + 0x1c], edx
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
mov byte [ebp - 4], 4
call ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00966891
mov eax, dword [ebp - 0x38]
push eax
call fcn.00966891
mov ecx, dword [ebp - 0xc]
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x30