Function at 0x426c86
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, 0x440476
call fcn.0043d180
sub esp, 0x160
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov byte [ebp - 0x49], dl
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp + 0x10]
mov edi, dword [esi + 8]
cmp eax, ebx
mov dword [ebp - 4], ebx
je 0x426d2d
mov edi, dword [eax + 0x94]
cmp edi, ebx
jl 0x4275c2
mov esi, dword [eax]
cmp esi, ebx
mov dword [ebp - 0x6c], esi
je 0x426cd0
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [esi]
lea ecx, [ebp - 0x10]
push ecx
push 0x446f58
push esi
mov byte [ebp - 4], 1
call dword [eax]
cmp eax, ebx
je 0x426cfc
mov eax, dword [str.update_operations_are_not_supported_for_this_archive]
push 0x448348
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp esi, ebx
mov byte [ebp - 4], bl
je 0x426d09
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
jne 0x426dcb
mov eax, dword [str.update_operations_are_not_supported_for_this_archive]
push 0x448348
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
push edi
call fcn.00427f4d
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x426d5a
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x426d52
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
jmp 0x427da6
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x1c]
push edx
push 0x446e48
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 2
call dword [ecx]
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x426db5
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x426db2
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x426d99
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x426daa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
jmp 0x427da6
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], bl
je 0x426d0c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x426d0c
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0x10]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
je 0x426df5
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x426ded
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
jmp 0x427da6
cmp dword [ebp - 0x20], 2
ja 0x427d90
mov eax, dword [ebp + 8]
cmp byte [esi + 0xf2], bl
mov eax, dword [eax + 0x28]
mov eax, dword [eax + edi*4]
je 0x426e1d
mov ecx, dword [eax]
shr ecx, 1
test cl, 1
je 0x4275b1
cmp byte [esi + 0xf0], bl
je 0x426e32
mov eax, dword [eax]
shr eax, 2
test al, 1
je 0x4275b1
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419d79
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 4
call fcn.00428075
mov eax, dword [esi + 0x100]
cmp eax, ebx
je 0x427033
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0xc], ebx
cmp dword [eax + 4], ebx
jbe 0x427096
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
mov byte [ebp + 0xb], bl
mov eax, dword [eax]
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x38]
call fcn.004027c7
cmp byte [esi + 0x20], bl
mov byte [ebp - 4], 5
je 0x426f5a
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], ebx
cmp dword [eax + 0x100], ebx
jbe 0x426f5a
lea edi, [esi + 0x10]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 0xfc]
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0x38]
push eax
mov al, byte [esi + 0x1c]
push edi
push eax
mov dword [ebp - 0x6c], ecx
call fcn.0042518f
test al, al
jne 0x426f27
cmp byte [esi + 0x1d], bl
je 0x426f14
mov ecx, dword [edi]
call fcn.0041ec80
cmp eax, ebx
mov dword [ebp - 0x20], eax
jl 0x426f14
push eax
lea eax, [ebp - 0x64]
push eax
mov ecx, edi
call fcn.00410956
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x64]
push eax
push ebx
mov byte [ebp - 4], 6
call fcn.0042518f
test al, al
jne 0x426f2d
push dword [ebp - 0x64]
mov byte [ebp - 4], 5
call fcn.00402fca
pop ecx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax + 0x100]
jb 0x426eab
jmp 0x426f5a
mov byte [ebp + 0xb], 1
jmp 0x426f5a
push 0x3a
lea ecx, [ebp - 0x38]
mov byte [ebp + 0xb], 1
call fcn.00401089
mov eax, dword [edi]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + ecx*2 + 2]
lea ecx, [ebp - 0x38]
push eax
call fcn.00402b03
mov byte [ebp - 4], 5
push dword [ebp - 0x64]
call fcn.00402fca
pop ecx
or edi, 0xffffffff
cmp byte [ebp + 0xb], bl
mov byte [ebp - 0x80], bl
mov byte [ebp - 0x7f], bl
mov byte [ebp - 0x7e], bl
mov byte [ebp - 0x7d], bl
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
mov byte [ebp - 0x70], bl
mov esi, dword [esi + 0x24]
mov byte [ebp - 0x7f], bl
mov byte [ebp - 0x80], bl
mov byte [ebp - 0x7e], 1
mov byte [ebp - 0x7d], bl
mov dword [ebp - 0x78], esi
je 0x426fb9
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov byte [ebp - 0x7f], 1
mov ecx, dword [eax]
lea eax, [ebp - 0x7d]
push eax
push 0x15
call fcn.0041e81c
mov esi, eax
cmp esi, ebx
jne 0x42700d
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x58]
push eax
call fcn.0040150c
mov dword [ebp - 0x74], eax
push 5
lea esi, [ebp - 0x80]
pop ecx
lea edi, [ebp - 0x16c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2c]
call fcn.0042876c
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
push 5
lea esi, [ebp - 0x16c]
lea eax, [eax + eax*4]
mov byte [ebp - 4], 4
lea edi, [ecx + eax*4]
pop ecx
rep movsd dword es:[edi], dword [esi]
push dword [ebp - 0x38]
inc dword [ebp - 0x28]
call fcn.00402fca
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
pop ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax + 4]
jb 0x426e73
jmp 0x427096
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x58]
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
pop ecx
mov dword [ebp - 4], edi
jmp 0x427c35
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0x38]
mov edx, esi
push eax
mov byte [ebp - 4], 7
push dword [ebp - 0x20]
call fcn.0042a0f2
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x5c], eax
mov al, byte [ebp - 0x49]
neg al
sbb eax, eax
lea ecx, [ebp - 0x68]
and eax, ecx
lea ecx, [ebp - 0x38]
push eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x68], 0x445804
call fcn.0042a71f
mov byte [ebp - 4], 4
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jbe 0x4271fb
mov ecx, dword [ebp - 0x2c]
push 1
mov dword [ebp + 8], eax
pop esi
lea edi, [ecx + 3]
mov al, byte [edi - 3]
cmp al, bl
je 0x427177
cmp byte [edi - 1], bl
jne 0x427177
mov eax, dword [edi + 1]
cmp eax, 0xffffffff
je 0x4271ef
mov ecx, dword [ebp + 0x20]
mov ecx, dword [ecx + 0x24]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x3c]
shr ecx, 4
test cl, 1
je 0x427107
cmp byte [edi], bl
je 0x4270f6
add dword [ebp - 0x128], esi
adc dword [ebp - 0x124], ebx
jmp 0x4271ef
add dword [ebp - 0x158], esi
adc dword [ebp - 0x154], ebx
jmp 0x4271ef
cmp byte [eax + 0x4c], bl
je 0x427143
cmp byte [edi], bl
je 0x427121
add dword [ebp - 0x118], esi
adc dword [ebp - 0x114], ebx
jmp 0x4271ef
add dword [ebp - 0x148], esi
adc dword [ebp - 0x144], ebx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add dword [ebp - 0x138], ecx
adc dword [ebp - 0x134], eax
jmp 0x4271ef
cmp byte [edi], bl
je 0x427158
add dword [ebp - 0x120], esi
adc dword [ebp - 0x11c], ebx
jmp 0x4271ef
add dword [ebp - 0x150], esi
adc dword [ebp - 0x14c], ebx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add dword [ebp - 0x140], ecx
adc dword [ebp - 0x13c], eax
jmp 0x4271ef
mov ecx, dword [edi + 5]
cmp ecx, ebx
jl 0x4271ef
cmp al, bl
lea eax, [ebp - 0x158]
jne 0x42718e
lea eax, [ebp - 0x110]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 0x1c], bl
je 0x4271ae
cmp byte [edi], bl
je 0x4271a7
add dword [eax + 0x30], esi
adc dword [eax + 0x34], ebx
jmp 0x4271ef
add dword [eax], esi
adc dword [eax + 4], ebx
jmp 0x4271ef
cmp byte [ecx + 0x1d], bl
je 0x4271d2
cmp byte [edi], bl
je 0x4271bf
add dword [eax + 0x40], esi
adc dword [eax + 0x44], ebx
jmp 0x4271ef
add dword [eax + 0x10], esi
adc dword [eax + 0x14], ebx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
add dword [eax + 0x20], edx
adc dword [eax + 0x24], ecx
jmp 0x4271ef
cmp byte [edi], bl
je 0x4271de
add dword [eax + 0x38], esi
adc dword [eax + 0x3c], ebx
jmp 0x4271ef
add dword [eax + 8], esi
adc dword [eax + 0xc], ebx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
add dword [eax + 0x18], edx
adc dword [eax + 0x1c], ecx
add edi, 0x14
dec dword [ebp + 8]
jne 0x4270ad
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x158]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, eax
cmp esi, ebx
jne 0x427c1c
push 0xb0
call fcn.00402fa3
pop ecx
mov dword [ebp + 8], eax
cmp eax, ebx
mov byte [ebp - 4], 8
je 0x427233
mov ecx, eax
call fcn.00428878
jmp 0x427235
xor eax, eax
cmp eax, ebx
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x6c], eax
je 0x427249
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp + 0xc]
mov byte [ebp - 4], 9
mov al, byte [edi + 0xb4]
mov byte [esi + 0xa4], al
mov al, byte [edi + 0xb5]
mov byte [esi + 0xa5], al
mov al, byte [edi + 0xb6]
mov byte [esi + 0xa6], al
mov eax, dword [ebp + 0x30]
mov dword [esi + 0x7c], eax
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x427294
push dword [eax]
lea ecx, [esi + 0x8c]
call fcn.00409ed8
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x20]
mov dword [esi + 0x80], ecx
mov ecx, dword [ebp + 0x24]
mov dword [esi + 0x84], ecx
mov cl, byte [edi + 0xf0]
mov byte [esi + 0xa8], cl
mov cl, byte [edi + 0xf4]
mov byte [esi + 0xa9], cl
mov cl, byte [edi + 0xf6]
mov byte [esi + 0xaa], cl
mov ecx, dword [ebp + 0x18]
mov dword [esi + 0x90], ecx
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x94], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esi + 0x88], eax
mov dword [esi + 0xac], ecx
cmp dword [edi + 0x100], ebx
je 0x4272fc
lea ecx, [ebp - 0x58]
mov dword [esi + 0x98], ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
cmp byte [edi + 0xc4], bl
mov byte [ebp - 4], 0xb
jne 0x42737e
lea ecx, [ebp - 0x64]
call fcn.004027c7
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0xc
call fcn.00424e18
mov eax, dword [eax]
lea edx, [ebp - 0x64]
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.00405678
neg al
push dword [ebp - 0x38]
mov byte [ebp - 4], 0xc
sbb al, al
inc al
mov byte [ebp + 0xb], al
call fcn.00402fca
cmp byte [ebp + 0xb], bl
pop ecx
je 0x427366
lea eax, [ebp + 0x10]
push 0x447918
push eax
mov dword [ebp + 0x10], 0x159fc9
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [ebp - 0x64]
call fcn.004050fe
mov byte [ebp - 4], 0xb
push dword [ebp - 0x64]
call fcn.00402fca
mov eax, dword [ebp + 0x10]
pop ecx
mov ecx, dword [edi + 0x10c]
mov dword [ebp - 0x1c], ebx
cmp ecx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp + 0x24], ebx
jne 0x427535
cmp byte [edi + 0xc4], bl
je 0x4273cd
push 0x10
call fcn.00402fa3
cmp eax, ebx
pop ecx
je 0x4273ba
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax], 0x444070
jmp 0x4273bc
xor eax, eax
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x20], eax
call fcn.00409ed8
jmp 0x427664
push 0x20
call fcn.00402fa3
pop ecx
mov dword [ebp + 8], eax
cmp eax, ebx
mov byte [ebp - 4], 0xe
je 0x4273ec
mov ecx, eax
call fcn.00428064
mov dword [ebp + 0x1c], eax
jmp 0x4273ef
mov dword [ebp + 0x1c], ebx
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x1c], eax
call fcn.00409ed8
lea ecx, [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.00409ed8
lea ecx, [ebp - 0x38]
call fcn.004027c7
mov byte [ebp - 4], 0xf
mov dword [ebp + 8], ebx
mov eax, dword [ebp + 0x14]
cmp byte [eax + 0x3c], bl
je 0x42745f
cmp dword [ebp + 8], ebx
jbe 0x42743d
push dword [ebp + 8]
lea ecx, [eax + 0x4c]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 4], ebx
mov word [eax], bx
call fcn.00402be4
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x64]
push eax
call fcn.00424efe
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x10
call fcn.0040296a
mov byte [ebp - 4], 0xf
push dword [ebp - 0x64]
jmp 0x42747f
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x48]
push eax
call fcn.00424e18
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x11
call fcn.0040296a
mov byte [ebp - 4], 0xf
push dword [ebp - 0x48]
call fcn.00402fca
mov eax, dword [ebp + 0x1c]
pop ecx
mov ecx, dword [ebp - 0x38]
push ebx
push ecx
mov dword [eax + 0x18], ebx
lea ecx, [eax + 8]
mov dword [eax + 0x1c], ebx
call fcn.004069f3
test al, al
jne 0x427517
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x4274c2
mov eax, dword [ebp + 0x14]
cmp byte [eax + 0x3c], bl
je 0x4274c2
inc dword [ebp + 8]
cmp dword [ebp + 8], 0x10000
jb 0x42741c
mov ecx, dword [ebp + 0x2c]
lea eax, [ebp - 0x38]
push eax
push str.cannot_open_file
call fcn.004248d4
mov edi, eax
push dword [ebp - 0x38]
call fcn.00402fca
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x4274ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x427500
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 4
je 0x42778a
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x42778a
mov ecx, dword [ebp + 0x28]
lea eax, [ebp - 0x38]
push eax
call fcn.0040150c
mov byte [ebp - 4], 0xb
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
jmp 0x427664
cmp byte [edi + 0xc4], bl
jne 0x427d4b
cmp eax, ebx
je 0x4275cc
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
add ecx, dword [eax + 0xa8]
adc edx, dword [eax + 0xac]
mov dword [ebp - 0x30], edx
js 0x4275cc
jg 0x42756c
cmp ecx, ebx
jbe 0x4275cc
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x42757d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x42758e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 4
je 0x42759c
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
pop ecx
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x4275c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004001
jmp 0x427da6
push 0x50
call fcn.00402fa3
pop ecx
mov dword [ebp + 8], eax
cmp eax, ebx
mov byte [ebp - 4], 0x12
je 0x4275ea
mov ecx, eax
call 0x4280fc
mov esi, eax
jmp 0x4275ec
xor esi, esi
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xb
mov dword [ebp + 0x24], esi
call fcn.00409ed8
lea ecx, [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.00409ed8
lea eax, [edi + 0x108]
lea ecx, [esi + 0x34]
push eax
call fcn.00428477
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x64]
push eax
call fcn.00424e9a
lea ecx, [esi + 0x40]
push eax
mov byte [ebp - 4], 0x13
call fcn.0040296a
mov byte [ebp - 4], 0xb
push dword [ebp - 0x64]
call fcn.00402fca
pop ecx
push 0x2e
lea ecx, [esi + 0x40]
call fcn.00401089
mov eax, dword [ebp + 0x28]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x4c], eax
mov dword [esi + 8], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x24], ebx
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
lea edx, [edi + 0x28]
call fcn.0042452f
cmp eax, ebx
mov dword [ebp + 8], eax
je 0x4276d4
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x427687
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x427698
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 4
je 0x4276a6
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
pop ecx
je 0x4276cc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
jmp 0x427da6
cmp byte [edi + 0xa4], bl
je 0x427b02
push 0x58
call fcn.00402fa3
pop ecx
mov dword [ebp + 0x28], eax
cmp eax, ebx
mov byte [ebp - 4], 0x14
je 0x4276fe
mov ecx, eax
call fcn.0040a08c
mov esi, eax
jmp 0x427700
xor esi, esi
cmp esi, ebx
mov dword [ebp + 0x28], esi
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x40], esi
je 0x427714
mov eax, dword [esi]
push esi
call dword [eax + 4]
push dword [edi + 0xa8]
lea eax, [edi + 0xa8]
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 0x15
mov dword [ebp + 0x1c], eax
call fcn.0040691d
test al, al
jne 0x4277b7
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x2c]
push str.cannot_open_SFX_module
call fcn.004248d4
cmp esi, ebx
mov edi, eax
mov byte [ebp - 4], 0xb
je 0x427757
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x427768
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x427779
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x42778a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
pop ecx
je 0x4277b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
jmp 0x427da6
mov dword [ebp + 8], ebx
cmp dword [edi + 0x10c], ebx
mov byte [ebp - 4], 0x16
mov dword [ebp + 0x1c], ebx
jne 0x4277d9
push dword [ebp - 0x14]
lea ecx, [ebp + 8]
call fcn.00409ed8
jmp 0x427879
push 0x20
call fcn.00402fa3
pop ecx
mov dword [ebp + 0x1c], eax
cmp eax, ebx
mov byte [ebp - 4], 0x17
je 0x4277f7
mov ecx, eax
call fcn.00428064
mov esi, eax
jmp 0x4277f9
xor esi, esi
push esi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x16
mov dword [ebp + 0x1c], esi
call fcn.00409ed8
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x38]
push eax
call fcn.00424e18
mov eax, dword [ebp - 0x38]
push ebx
mov dword [esi + 0x18], ebx
push eax
lea ecx, [esi + 8]
mov byte [ebp - 4], 0x18
mov dword [esi + 0x1c], ebx
call fcn.004069f3
test al, al
jne 0x427869
mov ecx, dword [ebp + 0x2c]
lea eax, [ebp - 0x38]
push eax
push str.cannot_open_file
call fcn.004248d4
mov esi, eax
push dword [ebp - 0x38]
call fcn.00402fca
mov eax, dword [ebp + 8]
pop ecx
cmp eax, ebx
mov byte [ebp - 4], 0x15
je 0x42785d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x28]
mov byte [ebp - 4], 0xb
jmp 0x427bdf
push dword [ebp - 0x38]
mov byte [ebp - 4], 0x16
call fcn.00402fca
mov esi, dword [ebp + 0x28]
pop ecx
mov ecx, dword [esi + 4]
lea eax, [esi + 4]
lea edx, [ebp - 0x34]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
mov dword [ebp + 0x14], eax
je 0x427912
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x15
cmp eax, ebx
je 0x4278a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 0xb
je 0x4278b1
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x4278c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4278d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x4278e4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
pop ecx
je 0x42790a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
jmp 0x427da6
push dword [ebp - 0x30]
mov ecx, dword [ebp + 0x30]
mov eax, dword [edi + 0xa8]
push dword [ebp - 0x34]
mov edx, dword [ecx]
push eax
call dword [edx]
cmp eax, ebx
mov dword [ebp + 0x14], eax
je 0x4279b1
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x15
cmp eax, ebx
je 0x427942
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 0xb
je 0x427950
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x427961
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x427972
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x427983
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
pop ecx
je 0x4279a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
jmp 0x427da6
mov edx, dword [ebp + 8]
push ebx
mov ecx, esi
call fcn.0043c6b0
cmp eax, ebx
mov dword [ebp + 0x14], eax
je 0x427a47
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x15
cmp eax, ebx
je 0x4279d8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 0xb
je 0x4279e6
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x4279f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x427a08
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x427a19
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
pop ecx
je 0x427a3f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
jmp 0x427da6
cmp dword [ebp + 0x1c], ebx
je 0x427ae3
mov ecx, dword [ebp + 0x1c]
call fcn.0040a73f
cmp eax, ebx
mov dword [ebp + 0x14], eax
je 0x427ae3
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x15
cmp eax, ebx
je 0x427a74
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 0xb
je 0x427a82
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x427a93
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x427aa4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x427ab5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00419bb8
push dword [ebp - 0x2c]
call fcn.00402fca
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
pop ecx
je 0x427adb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
jmp 0x427da6
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x15
cmp eax, ebx
je 0x427af4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, ebx
mov byte [ebp - 4], 0xb
je 0x427b02
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 0x3c], ebx
cmp byte [edi + 0xa4], bl
mov byte [ebp - 4], 0x19
dec esp
and al, 8
push esi
push edi
xor edi, edi
movzx eax, word [ecx + 0x14]
movzx esi, word [ecx + 6]
test esi, esi
lea eax, [eax + ecx + 0x18]
jbe 0x427c19
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x427c00
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
cmp dword [esp + 0xc], edx
jb 0x427c11
add edx, ecx
cmp dword [esp + 0xc], edx
jb 0x427c1b
inc edi
add eax, 0x28
cmp edi, esi
jb 0x427bf6
xor eax, eax
pop edi
pop esi
ret
inc ecx
adc al, 0x2b
inc ecx
or al, 3
inc esp
and al, 4
add eax, dword [esp + 0xc]
ret
inc ebp
or al, 0x75
adc eax, ebp
dec edx
invalid
xor ebx, ebx
cmp eax, ebx
je 0x428397
mov edi, dword [eax + 0x3c]
add edi, eax
movzx eax, word [edi + 0x14]
lea esi, [eax + edi + 0x18]
mov dword [ebp - 0x44], esi
call fcn.00427b9e
sar dword [edi - 0x4d], 0x33
movzx eax, word [edi + 6]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, dword [ebp + 0x10]
add eax, esi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 8], eax
call fcn.00427b9e
std
mov ecx, 0x8b66a28d
inc edi
push es
cmp ax, bx
jbe 0x427df8
sbb byte [ecx - 0x1017438b], cl
std
invalid
lea ecx, [esi + 0xc]
movzx edx, ax
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
jae 0x427df2
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x427de3
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0xe0
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.00427b9e
add bl, byte [edi - 0x5e]
pop ds
lea eax, [ebp - 0x58]
push eax
call fcn.00427bae
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.00427b63
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x427e8c
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.00427b9e
pop es
iretd