Function at 0x46fce0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [ebp + 8]
mov dword [esp + 0xc], 0x52eeca
mov dword [esp + 8], 0x52ed04
mov dword [esp + 4], 0x400
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.00442564
mov dword [ebp - 0x20], eax
mov dword [esp + 8], 0x52ed50
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x1c], eax
mov dword [esp + 4], 0x52ed1b
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov esi, eax
test eax, eax
je 0x470afd
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sub.msvcrt.dll_fseek
mov dword [esp], ebx
call fcn.0046f90c
mov dword [esp], ebx
call fcn.0046fbb8
test al, al
je 0x470bcf
mov eax, dword [ebx + 0xa0]
inc eax
mov edi, dword [ebx + 8]
cmp eax, edi
jae 0x46fdfd
mov edx, 4
xor ecx, ecx
nop
add edx, 1
adc ecx, 0
inc eax
cmp eax, edi
jb 0x46fdd8
mov eax, edx
xor eax, 0x20
or eax, ecx
je 0x470428
mov eax, edx
xor eax, 0x24
or eax, ecx
je 0x470100
mov eax, 0x1c
mov dword [ebx + 0x60], eax
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x20], eax
test eax, eax
je 0x470ba5
mov dword [esp + 8], 0x52ed74
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
inc dword [ebx + 0xa0]
mov eax, dword [ebx + 0x68]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0046f9b8
mov dword [ebx + 0x68], eax
cmp eax, 0x200
je 0x470434
mov dword [esp], 0x20000
call fcn.0050963c
mov dword [ebx + 0x54], eax
test eax, eax
je 0x470b7b
mov eax, dword [ebx + 0x68]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0xa0]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x90]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0046f9b8
mov edi, eax
mov dword [ebx + 0x90], eax
cmp eax, 0x40000
je 0x4706bc
cmp eax, 0x48000
je 0x4708ac
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x74]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0046f9b8
mov edx, eax
mov dword [ebx + 0x74], eax
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x78]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x28], edx
call fcn.0046f9b8
mov ecx, eax
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x2c], ecx
call fcn.0046f9b8
mov dword [ebx + 0x7c], eax
add edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
lea edx, [edi + edx]
mov ecx, dword [ebp - 0x2c]
lea ecx, [edx + ecx]
add ecx, eax
mov edi, dword [ebx + 0x60]
cmp edi, 0x20
je 0x4706f8
cmp edi, 0x24
je 0x470850
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
xor eax, eax
xor edi, edi
mov dword [esp + 4], eax
mov dword [esp], 0x52edb3
call sub.msvcrt.dll_printf
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x4702a4
mov eax, dword [ebx + 0x78]
test eax, eax
jne 0x470264
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x470224
test edi, edi
jne 0x470170
mov ecx, dword [ebx + 0x84]
test ecx, ecx
jne 0x47010c
mov edx, dword [ebx + 0x80]
test edx, edx
jne 0x47010c
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x4705d4
mov dword [ebp - 0x1c], 0
mov dword [esp + 8], 0x52edbc
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
mov dword [esp], esi
call sub.msvcrt.dll_rewind
cmp dword [ebx + 0x68], 0x200
je 0x4703d4
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x20000
jne 0x470b51
mov eax, dword [ebx + 0x90]
cmp eax, 0x40000
je 0x47063c
cmp eax, 0x48000
je 0x4707a8
mov dword [esp + 8], 0x52ede0
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x470384
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x470334
mov eax, dword [ebx + 0x78]
test eax, eax
jne 0x4702e4
test edi, edi
jne 0x4701b4
mov edi, dword [ebx + 0x80]
test edi, edi
jne 0x470540
mov ecx, dword [ebx + 0x84]
test ecx, ecx
jne 0x47091c
mov dword [esp + 8], 0x52ee1c
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x60]
jne 0x470bf9
mov dword [esp], esi
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x1c]
test eax, eax
sete al
add esp, 0x4c
pop ebx
pop esi
pop edi
leave
ret
mov eax, 0x24
jmp 0x46fe02
mov eax, dword [ebx + 0x88]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x24], eax
test eax, eax
je 0x470b27
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x46ffaf
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x46ffaf
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov eax, dword [ebx + 0x80]
test eax, eax
jne 0x4704fc
mov dword [ebp - 0x1c], 0
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x46ffc4
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x28], eax
test eax, eax
jne 0x46ffc4
mov dword [ebp - 0x1c], 5
jmp 0x46ffc4
mov edx, dword [ebx + 0x80]
test edx, edx
jne 0x470478
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x4700a0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x84]
je 0x4700a0
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
lea esi, [esi]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x38], eax
test eax, eax
jne 0x46ff8b
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
lea esi, [esi]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x34], eax
test eax, eax
jne 0x46ff80
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
lea esi, [esi]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x3c], eax
test eax, eax
jne 0x46ff75
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
lea esi, [esi]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x34]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x78]
je 0x47007c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x7c]
je 0x470071
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x74]
je 0x470066
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x800
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x800
je 0x470021
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov eax, 0x20
jmp 0x46fe02
mov dword [esp], 0x800
call fcn.0050963c
mov dword [ebx + 0x54], eax
test eax, eax
jne 0x46fe70
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
lea esi, [esi]
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x88]
jne 0x470aa9
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x80]
je 0x4701c2
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov eax, dword [ebx + 0x88]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x24], eax
cmp eax, 1
sbb eax, eax
and eax, 5
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x2c], eax
test eax, eax
jne 0x470185
mov dword [ebp - 0x1c], 5
jmp 0x470185
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x88]
jne 0x470ad3
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x4709a0
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x80]
je 0x4700a0
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x28], eax
test eax, eax
je 0x470c6f
cmp dword [ebx + 0x84], 0x31fff
ja 0x46ffbd
mov eax, dword [ebx + 0x8c]
mov dword [esp], eax
call fcn.0050963c
mov dword [ebx + 0x30], eax
test eax, eax
jne 0x46ffbd
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x4c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x20000
jne 0x470d8e
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x50]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x20000
je 0x47003d
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp], 0x20000
call fcn.0050963c
mov dword [ebx + 0x4c], eax
test eax, eax
je 0x470d64
mov dword [esp], 0x20000
call fcn.0050963c
mov dword [ebx + 0x50], eax
test eax, eax
je 0x470d3a
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0x1c], eax
jmp 0x46feb8
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x80]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x2c], ecx
call fcn.0046f9b8
mov edx, eax
mov dword [ebx + 0x80], eax
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebp - 0x2c]
cmp eax, 0x32000
jbe 0x47074a
cmp dword [ebp - 0x20], 0x200000
jbe 0x47074a
cmp dword [ebx + 0x90], 0x48000
je 0x470a78
mov edx, dword [ebx + 0x80]
test edx, edx
je 0x470d17
test eax, eax
jne 0x470778
mov eax, dword [ebp - 0x20]
sub eax, edi
mov edi, eax
sub edi, edx
sub edi, ecx
mov dword [ebx + 0x88], edi
mov eax, edx
xor edi, edi
jmp 0x46ff5a
mov edi, 0x32000
sub edi, eax
mov dword [ebx + 0x8c], edi
mov eax, edx
neg eax
sub eax, dword [ebx + 0x84]
sub eax, dword [ebx + 0x60]
add eax, dword [ebp - 0x20]
sub eax, edi
sub eax, ecx
mov dword [ebx + 0x88], eax
mov eax, edx
xor edi, edi
jmp 0x46ff5a
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x18000
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x18000
jne 0x470ced
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x18000
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x18000
jne 0x470cc3
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x18000
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x18000
je 0x47003d
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x80]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x2c], ecx
call fcn.0046f9b8
mov edx, eax
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x14
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x84]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x28], edx
call fcn.0046f9b8
mov dword [ebx + 0x84], eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
jmp 0x47072a
mov dword [esp], 0x18000
call fcn.0050963c
mov dword [ebx + 0x40], eax
test eax, eax
je 0x470e0c
mov dword [esp], 0x18000
call fcn.0050963c
mov dword [ebx + 0x44], eax
test eax, eax
je 0x470de2
mov dword [esp], 0x18000
call fcn.0050963c
mov dword [ebx + 0x48], eax
test eax, eax
jne 0x4706ea
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x88]
jne 0x470db8
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x84]
je 0x4700a0
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x84]
jne 0x470c99
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x470a20
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x8c]
je 0x470a20
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, dword [ebx + 0x80]
je 0x4700a0
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
nop
test edx, edx
je 0x470a9d
neg edi
sub edi, edx
sub edi, eax
add edi, dword [ebp - 0x20]
sub edi, ecx
mov dword [ebx + 0x88], edi
mov eax, dword [ebx + 0x80]
mov edi, 1
jmp 0x46ff5a
xor eax, eax
mov edi, 1
jmp 0x46ff5a
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 8
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 0x52ee38
mov dword [esp + 8], 0
mov dword [esp + 4], 0x536b20
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
cmp edx, 3
je 0x470e88
cmp edx, 2
je 0x470e49
mov dword [esp], eax
call fcn.005099c0
mov dword [esp + 0xc], 0x52eeca
mov dword [esp + 8], 0x52ee99
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
call fcn.00509b8c
mov al, 1
jmp 0x4700f5
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
xor edi, edi
test eax, eax
je 0x46ff5a
mov edi, dword [ebp - 0x20]
sub edi, dword [ebx + 0x60]
sub edi, eax
sub edi, ecx
mov dword [ebx + 0x88], edi
xor eax, eax
xor edi, edi
jmp 0x46ff5a
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [esp], 4
call fcn.0050981c
mov dword [eax], 5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5373fc
mov dword [esp], eax
call fcn.0050a02c
mov dword [ebp - 0x28], eax
call fcn.00509b8c
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.libgcc_s_dw2_1.dll__Unwind_Resume
mov dword [esp], eax
call fcn.005099c0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x52eeca
mov dword [esp + 8], 0x52ee82
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
jmp 0x470c63
mov dword [esp], eax
call fcn.005099c0
mov esi, dword [eax]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x52eeca
mov dword [esp + 8], 0x52ee60
mov dword [esp + 4], 8
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0043fcd8
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0046fa10
jmp 0x470c63