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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x99db5f
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 0x424d90
lea ecx, [ebx + 1]
jmp 0x424d96
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ebx
cmp ecx, ebx
jbe 0x424efd
lea ecx, [ebp - 0xfc]
call fcn.0040cc80
lea ecx, [ebp - 0xd4]
call fcn.00409c70
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 0x424e25
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.00409dc0
mov eax, dword [ebp - 0x24]
push 1
push eax
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 2
call fcn.0040d1c0
test al, al
je 0x424f58
mov ecx, dword [ebp - 0xdc]
shr ecx, 4
test cl, 1
jne 0x424ff3
mov edx, dword [ebp - 0x24]
push edx
mov byte [ebp - 4], 1
call fcn.00937371
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 0x424eb0
cmp eax, 0x7fffffff
jae 0x425042
mov ecx, bind
sub ecx, eax
shr eax, 2
inc eax
cmp eax, ecx
jbe 0x424e5a
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.00937387
add esp, 4
mov dword [ebp - 0x10], eax
cmp esi, ebx
je 0x424e98
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
lea eax, [esi*8]
push eax
push ecx
push edx
call fcn.00936b50
add esp, 0xc
mov eax, dword [ebp - 0x38]
push eax
call fcn.00937371
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.00937371
mov eax, dword [ebp - 0x28]
inc eax
add esp, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jb 0x424da4
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x14], eax
cmp ecx, ebx
je 0x424f18
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00937387
mov ecx, dword [ebp - 0x2c]
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
cmp ecx, ebx
jbe 0x424f2e
mov ecx, dword [ebp - 0x2c]
push ecx
push ebx
push eax
call fcn.00937030
add esp, 0xc
push 0x180
call fcn.0093742f
add esp, 4
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x425057
mov ecx, eax
call fcn.00421b40
mov esi, eax
jmp 0x425059
call fcn.0040da40
mov esi, dword [ebp + 0x30]
push str.Cannot_find_archive_file
mov ecx, esi
mov edi, eax
call fcn.0040a030
push 0x9a13f0
mov ecx, esi
call fcn.0040a210
push edi
lea eax, [ebp - 0xc4]
push eax
call fcn.004202f0
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.0040a180
mov ecx, dword [ebp - 0xc4]
push ecx
mov byte [ebp - 4], 2
call fcn.00937371
add esp, 4
push 0x9a13f0
mov ecx, esi
call fcn.0040a210
lea edx, [ebp - 0x24]
push edx
mov ecx, esi
call fcn.0040a180
mov eax, dword [ebp - 0x24]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00937371
mov edx, dword [ebp - 0x38]
push edx
call fcn.00937371
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.00424440
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00937371
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00937371
mov eax, dword [ebp - 0x38]
push eax
call fcn.00937371
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 0x9cf294
lea ecx, [ebp + 0x20]
push ecx
mov dword [ebp + 0x20], 0x7e5
call fcn.00937392
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x158], esi
cmp esi, ebx
je 0x42506f
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 0x425134
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 0x425134
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.00937371
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00937371
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 0x425822
lea esp, [esp]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp byte [edx + eax], bl
jne 0x42580f
mov ecx, esi
call fcn.00420860
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.0040cc80
lea ecx, [ebp - 0xd4]
call fcn.00409c70
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + 0x3c], bl
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xfc]
je 0x4251b5
call fcn.0040cc80
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xdc], ebx
jmp 0x4251d9
mov eax, dword [edi]
push 1
push eax
call fcn.0040d1c0
test al, al
je 0x425dd4
mov edx, dword [ebp - 0xdc]
shr edx, 4
test dl, 1
jne 0x425dd4
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 0x425b31
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.00409c70
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.00409c70
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.00409c70
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xd
call fcn.004245b0
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.00409c70
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.00409ee0
mov eax, dword [ebp + 0x24]
push eax
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.00429690
mov edi, eax
cmp edi, ebx
jne 0x425370
cmp dword [ebp - 0x78], ebx
jl 0x42537c
mov edi, 1
jmp 0x42537c
cmp edi, 0x80004004
je 0x425885
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 0x4259cd
cmp edi, ebx
je 0x42549d
mov eax, dword [ebp + 0x20]
mov byte [ebp - 0x15], 1
cmp byte [eax + 0x3c], bl
jne 0x4253c9
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.00937371
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x4253f5
nop
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + edi*4 - 4]
dec edi
push eax
call fcn.0093737c
add esp, 4
cmp edi, ebx
jne 0x4253e0
mov edx, dword [ebp - 0x24]
push edx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x1d
call fcn.004289f0
mov eax, dword [ebp - 0x60]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00937371
mov edx, dword [ebp - 0x90]
push edx
call fcn.00937371
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.00414090
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x1e
cmp eax, ebx
je 0x425479
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 0x425475
mov ecx, edi
call fcn.004244e0
push edi
call fcn.0093737c
mov eax, dword [ebp - 0x10]
add esp, 4
cmp eax, ebx
jne 0x425450
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00937371
mov eax, dword [ebp - 0xd4]
push eax
mov byte [ebp - 4], 6
call fcn.00937371
add esp, 8
jmp 0x42580f
mov eax, dword [ebp - 0xb0]
cmp eax, ebx
je 0x4255c4
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + eax*4 - 4]
mov eax, dword [eax + 0x3c]
cmp eax, ebx
jl 0x4255c4
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 0x4255c4
mov eax, dword [ebp + 0x20]
cmp byte [eax + 0x3f], bl
jne 0x42555c
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 0x425b0b
mov eax, dword [ebp + 0x20]
mov byte [ebp - 0x15], 1
cmp byte [eax + 0x3c], bl
jne 0x42552a
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.00937371
add esp, 4
lea ecx, [ebp - 0x24]
call fcn.00424670
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424780
mov ecx, dword [ebp - 0xd4]
push ecx
jmp 0x425803
mov edx, eax
add edx, 0x30
push edx
lea ecx, [ebp - 0xc4]
call fcn.00409dc0
mov byte [ebp - 4], 0x1f
cmp dword [ebp - 0xc0], ebx
jne 0x425593
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
lea ecx, [ebp - 0xc4]
push ecx
push eax
call fcn.0040c830
cmp dword [ebp - 0xc0], ebx
je 0x42559f
lea edx, [ebp - 0xc4]
push edx
call fcn.0040dff0
lea eax, [ebp - 0xc4]
push eax
lea ecx, [esi + 0x168]
call fcn.00409ee0
mov ecx, dword [ebp - 0xc4]
push ecx
mov byte [ebp - 4], 0xf
call fcn.00937371
add esp, 4
mov edx, dword [ebp + 0x20]
cmp byte [edx + 0x3c], bl
jne 0x425682
mov eax, dword [ebp - 0xa4]
cmp eax, ebx
je 0x425682
mov ecx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x10], ebx
jbe 0x425645
jmp 0x425600
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.004246b0
cmp eax, ebx
jl 0x425636
cmp eax, dword [ebp - 0x28]
jbe 0x425636
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 0x425600
mov eax, dword [ebp - 0x150]
mov ecx, edi
or ecx, eax
je 0x425682
add edi, dword [ebp - 0x48]
adc eax, dword [ebp - 0x44]
cmp eax, ebx
jg 0x425665
jl 0x425661
cmp edi, ebx
jae 0x425665
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 0x425b76
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 0x4256a9
cmp byte [ebp - 0xd7], bl
jne 0x4256a9
mov edx, 1
jmp 0x4256ab
xor edx, edx
mov byte [eax + 0x4f], dl
cmp dl, bl
je 0x4256d0
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.004247f0
mov dword [ebp - 0x4c], eax
cmp eax, ebx
jne 0x425c06
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + 0x3c], bl
jne 0x425742
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 0x425748
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 0x425d0b
mov edx, dword [ebp - 0x108]
push edx
call fcn.00937371
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x4257a6
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0093737c
add esp, 4
cmp edi, ebx
jne 0x425791
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x30
call fcn.004289f0
mov edx, dword [ebp - 0x60]
push edx
call fcn.00937371
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00937371
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.00414090
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424710
mov edx, dword [ebp - 0xd4]
push edx
mov byte [ebp - 4], 6
call fcn.00937371
add esp, 4
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jb 0x425150
mov edi, dword [ebp + 0x34]
cmp byte [ebp - 0x16], bl
jne 0x425830
cmp byte [ebp - 0x15], bl
je 0x425ecb
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 0x425e7e
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.00937371
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00937371
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.00937371
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x4258b5
jmp 0x4258a0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0093737c
add esp, 4
cmp edi, ebx
jne 0x4258a0
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x13
call fcn.004289f0
mov edx, dword [ebp - 0x60]
push edx
call fcn.00937371
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00937371
mov eax, dword [ebp - 0xa4]
add esp, 0xc
cmp eax, ebx
je 0x42592a
jmp 0x425900
mov edx, dword [ebp - 0xa8]
mov edi, dword [edx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425926
mov eax, dword [edi]
push eax
call fcn.00937371
push edi
call fcn.0093737c
mov eax, dword [ebp + 0x20]
add esp, 8
cmp eax, ebx
jne 0x425900
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00937371
add esp, 4
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x14
cmp eax, ebx
je 0x425979
jmp 0x425950
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ecx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425975
mov ecx, edi
call fcn.004244e0
push edi
call fcn.0093737c
mov eax, dword [ebp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x425950
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00937371
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00937371
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.00937371
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00937371
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.00937371
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x4259f8
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0093737c
add esp, 4
cmp edi, ebx
jne 0x4259e3
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x18
call fcn.004289f0
mov edx, dword [ebp - 0x60]
push edx
call fcn.00937371
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00937371
mov eax, dword [ebp - 0xa4]
add esp, 0xc
cmp eax, ebx
je 0x425a6a
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 0x425a66
mov eax, dword [edi]
push eax
call fcn.00937371
push edi
call fcn.0093737c
mov eax, dword [ebp + 0x20]
add esp, 8
cmp eax, ebx
jne 0x425a40
mov eax, dword [ebp - 0xa8]
push eax
call fcn.00937371
add esp, 4
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x19
cmp eax, ebx
je 0x425ab9
jmp 0x425a90
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ecx + eax*4 - 4]
dec eax
mov dword [ebp + 0x20], eax
cmp edi, ebx
je 0x425ab5
mov ecx, edi
call fcn.004244e0
push edi
call fcn.0093737c
mov eax, dword [ebp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x425a90
mov edx, dword [ebp - 0xb4]
push edx
call fcn.00937371
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00937371
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.00937371
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00937371
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.00937371
add esp, 4
lea ecx, [ebp - 0x24]
call fcn.00424670
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424780
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00937371
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.00937371
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00937371
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.00937371
mov eax, dword [ebp - 0x20]
add esp, 4
cmp eax, ebx
je 0x425bab
jmp 0x425b93
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.0093737c
add esp, 4
cmp dword [ebp + 0x20], ebx
jne 0x425b90
mov edx, dword [ebp - 0x24]
push edx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x23
call fcn.004289f0
mov eax, dword [ebp - 0x60]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00937371
mov edx, dword [ebp - 0x90]
push edx
call fcn.00937371
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.00414090
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424710
jmp 0x425b31
mov edx, dword [ebp - 0x108]
push edx
call fcn.00937371
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x425c35
lea esp, [esp]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4 - 4]
dec edi
push eax
call fcn.0093737c
add esp, 4
cmp edi, ebx
jne 0x425c20
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x27
call fcn.004289f0
mov edx, dword [ebp - 0x60]
push edx
call fcn.00937371
mov eax, dword [ebp - 0x6c]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00937371
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.00414090
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 4], 0x28
cmp eax, ebx
je 0x425cb9
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 0x425cb5
mov ecx, edi
call fcn.004244e0
push edi
call fcn.0093737c
mov eax, dword [ebp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x425c90
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0xd4]
push ecx
call fcn.00937371
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.00937371
mov edx, dword [ebp - 0x38]
push edx
call fcn.00937371
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.00937371
mov edi, dword [ebp - 0x20]
add esp, 4
cmp edi, ebx
je 0x425d36
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + edi*4 - 4]
dec edi
push eax
call fcn.0093737c
add esp, 4
cmp edi, ebx
jne 0x425d21
mov edx, dword [ebp - 0x24]
push edx
call fcn.00937371
add esp, 4
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x2c
call fcn.004289f0
mov eax, dword [ebp - 0x60]
push eax
call fcn.00937371
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00937371
mov edx, dword [ebp - 0x90]
push edx
call fcn.00937371
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.00414090
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 7
call fcn.00424710
mov eax, dword [ebp - 0xd4]
push eax
call fcn.00937371
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.00937371
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.00937371
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.0040da40
mov edi, dword [ebp + 0x30]
push str.Cannot_find_archive_file
mov ecx, edi
mov ebx, eax
call fcn.0040a030
push 0x9a13f0
mov ecx, edi
call fcn.0040a210
push ebx
lea edx, [ebp - 0xc4]
push edx
call fcn.004202f0
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.0040a180
mov eax, dword [ebp - 0xc4]
push eax
mov byte [ebp - 4], 7
call fcn.00937371
add esp, 4
push 0x9a13f0
mov ecx, edi
call fcn.0040a210
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, edi
call fcn.0040a180
mov edx, dword [ebp - 0xd4]
push edx
call fcn.00937371
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.00937371
mov eax, dword [ebp - 0x38]
push eax
call fcn.00937371
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 0x425ecb
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.00937371
mov eax, dword [ebp - 0x38]
push eax
call fcn.00937371
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.00937371
mov eax, dword [ebp - 0x38]
push eax
call fcn.00937371
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