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

Disassembly:
sub esp, 0x21c
mov eax, dword [esp + 0x224]
push ebx
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x230]
push esi
cmp eax, ecx
push edi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x24], eax
jge 0x4c7bdc
mov ecx, dword [sym.imp.MSVCRT.dll_fseek]
mov edi, dword [sym.imp.MSVCRT.dll_fread]
mov edx, 8
mov ebx, 0xfffffffe
jmp 0x4c56ef
mov eax, dword [esp + 0x234]
mov ecx, dword [sym.imp.MSVCRT.dll_fseek]
mov edi, dword [sym.imp.MSVCRT.dll_fread]
mov edx, 8
mov ebx, 0xfffffffe
mov esi, dword [esp + 0x24]
sub esi, eax
mov eax, dword [esp + 0x230]
lea eax, [eax + esi*8]
mov esi, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x201
jg 0x4c58ea
je 0x4c58be
add eax, 0xfffffeff
cmp eax, 0xa
ja case.default.0x4c5723
jmp dword [eax*4 + 0x4c7bec]
push 0x1ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.00468fb0
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x1e4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.0046a130
jmp 0x4c7bb9
push 0x1f0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.004695d0
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x1f4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.00469a00
jmp 0x4c7bb9
push 0x1f0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0046a2a0
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x1ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.00469880
jmp 0x4c7bb9
push 0xbc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0046ac70
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x1e0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.0046ad30
jmp 0x4c7bb9
push 0x1d4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0046aa30
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1e4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0046a450
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x1e8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.0046a5c0
jmp 0x4c7bb9
push 0x208
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0041df00
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
cmp eax, 0x301
jg 0x4c664a
je 0x4c661e
add eax, 0xfffffdfe
cmp eax, 0x1c
ja case.default.0x4c5723
jmp dword [eax*4 + 0x4c7c18]
push 0x1f8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0043ded0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
cmp dword [0x659958], edx
jge 0x4c5970
push 0x1f8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00441af0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x3b8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00438b80
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
cmp dword [0x659958], edx
jge 0x4c59d0
push 0x258
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00441dc0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x2d0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00438c70
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x220
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0043ee60
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1fc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0043f7a0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x280
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00443db0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x260
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c5aae
push esi
mov ecx, eax
call fcn.00445960
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
mov esi, dword [esi + 0x238]
jmp 0x4c7ab9
xor esi, esi
mov ecx, ebp
push esi
call fcn.004c7d90
mov esi, dword [esi + 0x238]
jmp 0x4c7ab9
push 0x1ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0043e4f0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x200
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0041e540
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x224
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044eab0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044f1e0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1f0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044f350
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1e8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.00453380
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x268
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c5be2
push esi
mov ecx, eax
call fcn.00455030
mov esi, eax
jmp 0x4c5be4
xor esi, esi
mov edx, dword [esi]
lea eax, [esp + 0x104]
push eax
mov ecx, esi
call dword [edx + 4]
mov ecx, dword [eax]
push 0x1e8
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c5cda
push esi
mov ecx, esi
call fcn.00454fc0
mov eax, dword [eax + 0x1c]
push ecx
mov ecx, esp
push eax
call fcn.00411730
lea ecx, [esp + 0x7c]
call fcn.004c7d50
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x80]
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x84]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x88]
mov ebx, eax
call fcn.004c7d60
lea eax, [ebx + eax*2]
mov ecx, esi
push eax
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x8c]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x90]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x190]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c5cdc
xor ebx, ebx
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov dword [esp + 0x80], ecx
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0x80], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0x82], ax
mov edx, dword [esp + 0x80]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edx
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x12]
movsx edx, word [esi + 0x14]
sub eax, ecx
lea ecx, [esp + 0xf4]
inc eax
push eax
movsx eax, word [esi + 0x10]
sub edx, eax
inc edx
push edx
push 0
push 0
jmp 0x4c772c
push 0x27c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c5d5f
push esi
mov ecx, eax
call fcn.00455650
mov esi, eax
jmp 0x4c5d61
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x34], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c5e48
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x38]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x38]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x40]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x44]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x48]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x4c]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0xf8]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c5e4a
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0x90], eax
call fcn.004a13e0
sub word [esp + 0x90], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0x92], ax
mov ecx, dword [esp + 0x90]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x194]
jmp 0x4c772c
push 0x268
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c5ecd
push esi
mov ecx, eax
call fcn.00455ff0
mov esi, eax
jmp 0x4c5ecf
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x114]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x70], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c5fbf
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x74]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x74]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x7c]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x80]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x84]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x88]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x1e0]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c5fc1
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0xd0], eax
call fcn.004a13e0
sub word [esp + 0xd0], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xd2], ax
mov ecx, dword [esp + 0xd0]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x134]
jmp 0x4c772c
push 0x1e4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044ada0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1dc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00453c30
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1f0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.004683f0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x330
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c60cb
push esi
mov ecx, eax
call fcn.00451dd0
mov esi, eax
jmp 0x4c7744
xor esi, esi
jmp 0x4c7744
push 0x424
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00452610
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x268
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c611b
push esi
mov ecx, eax
call fcn.004568d0
mov esi, eax
jmp 0x4c611d
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x194]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x44], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c6204
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x48]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x48]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x50]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x54]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x58]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x5c]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x150]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c6206
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0xa0], eax
call fcn.004a13e0
sub word [esp + 0xa0], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xa2], ax
mov ecx, dword [esp + 0xa0]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x1f4]
jmp 0x4c772c
push 0xe7c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c6289
push esi
mov ecx, eax
call fcn.00456e30
mov esi, eax
jmp 0x4c628b
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x144]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x64], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x68], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c6372
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x68]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x68]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x70]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x74]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x78]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x7c]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x1c0]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c6374
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0xc0], eax
call fcn.004a13e0
sub word [esp + 0xc0], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xc2], ax
mov ecx, dword [esp + 0xc0]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x164]
jmp 0x4c772c
push 0xe8c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c63f7
push esi
mov ecx, eax
call fcn.00457ba0
mov esi, eax
jmp 0x4c63f9
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x1d4]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x54], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c64e0
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x58]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x60]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x64]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x68]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x6c]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x180]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c64e2
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0xb0], eax
call fcn.004a13e0
sub word [esp + 0xb0], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xb2], ax
mov ecx, dword [esp + 0xb0]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x1c4]
jmp 0x4c772c
push 0x1ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0045bd80
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0045c550
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x214
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044f7b0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x3dc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044fe50
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x83b4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0044a0f0
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x20c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0041ea50
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
cmp eax, 0x501
jg 0x4c727d
je 0x4c7231
add eax, 0xfffffcfe
cmp eax, 0x14
ja case.default.0x4c5723
jmp dword [eax*4 + 0x4c7c8c]
push 0x234
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0041f870
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x20c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0041f1b0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x1fc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0043ea00
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x204
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00420070
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
mov ecx, dword [eax*4 + 0x53a4b0]
push 0x3b8
test ecx, ecx
jne 0x4c6754
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c676c
push esi
mov ecx, eax
call fcn.004c7d70
mov esi, eax
jmp 0x4c676e
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c676c
push esi
mov ecx, eax
call fcn.004333c0
mov esi, eax
jmp 0x4c676e
xor esi, esi
lea edx, [ebp + 0x68]
mov ecx, esi
push edx
call fcn.004331e0
mov eax, dword [ebp + 0x4ec]
test eax, eax
jne 0x4c7796
lea eax, [esi + 0x50]
push esi
mov ecx, ebp
mov dword [ebp + 0x4ec], eax
call fcn.004c7d90
jmp 0x4c7bc4
push 0x2d0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c67ba
push esi
mov ecx, eax
call fcn.00436b60
mov esi, eax
jmp 0x4c67bc
xor esi, esi
lea ecx, [ebp + 0x68]
push ecx
mov ecx, esi
call fcn.004331e0
mov eax, dword [ebp + 0x4ec]
test eax, eax
jne 0x4c7796
lea edx, [esi + 0x50]
push esi
mov ecx, ebp
mov dword [ebp + 0x4ec], edx
call fcn.004c7d90
jmp 0x4c7bc4
push 0x21c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.004212b0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x250
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.00447010
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0xe0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.004af810
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x260
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c676c
push esi
mov ecx, eax
call fcn.00437d70
mov esi, eax
jmp 0x4c676e
call fcn.0047de30
mov ecx, eax
call fcn.0049d440
test eax, eax
je 0x4c68c9
push 0x1e8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0044ab90
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
mov eax, dword [0x6bf548]
test eax, eax
je case.default.0x4c5723
push 0x1e0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0044a550
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x200
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00421960
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x288
call fcn.00470250
mov edi, eax
xor ebx, ebx
add esp, 4
cmp edi, ebx
je 0x4c698d
mov al, byte [0x8fa7dc]
test al, 1
jne 0x4c697b
mov dl, al
or eax, 0xffffffff
or dl, 1
push fcn.00402b00
mov byte [0x8fa7dc], dl
mov word [0x8fa7e2], bx
mov word [0x8fa7e0], bx
mov word [0x8fa7e6], ax
mov word [0x8fa7e4], ax
call fcn.0051c6ca
add esp, 4
push 0x8fa7e0
push ebx
push esi
mov ecx, edi
call fcn.0044e7f0
mov edi, eax
jmp 0x4c698f
xor edi, edi
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xc]
mov ecx, edi
call fcn.004c4400
lea eax, [ebp + 0x58]
mov ecx, edi
push eax
call fcn.0041d1d0
mov ecx, edi
call fcn.0044d550
test eax, eax
je 0x4c7bc4
mov eax, dword [0x659aa0]
mov ecx, dword [edi + 0x224]
test eax, ecx
je 0x4c69d3
xor ebx, ebx
mov bx, word [edi + 0x254]
test ebx, ebx
jg 0x4c69df
mov ecx, 0x675aa8
call fcn.004a13e0
mov ebx, eax
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x10]
lea esi, [edi + 0x10]
mov dword [esp + 0xd8], ecx
sub word [esp + 0xd8], bx
mov edx, dword [esp + 0xd8]
mov dword [esi], eax
mov dword [esi + 4], edx
movsx eax, word [esi + 6]
movsx ecx, word [esi + 2]
movsx edx, word [esi + 4]
sub eax, ecx
lea ecx, [esp + 0xe4]
inc eax
push eax
movsx eax, word [esi]
sub edx, eax
inc edx
push edx
push 0
push 0
call fcn.004b4a60
mov ecx, dword [eax]
push esi
mov dword [edi + 0x34], ecx
mov ecx, edi
mov edx, dword [eax + 4]
mov dword [edi + 0x38], edx
call fcn.0043dbd0
push ebx
lea eax, [ebp + 0x58]
push 0
push eax
mov ecx, edi
call fcn.004c4570
jmp 0x4c7bc4
push 0x288
call fcn.00470250
mov edi, eax
xor eax, eax
add esp, 4
cmp edi, eax
je 0x4c6ab6
mov cl, byte [0x8fa7dc]
test cl, 1
jne 0x4c6aa3
mov dl, cl
mov word [0x8fa7e2], ax
mov word [0x8fa7e0], ax
or dl, 1
or eax, 0xffffffff
push fcn.00402b00
mov byte [0x8fa7dc], dl
mov word [0x8fa7e6], ax
mov word [0x8fa7e4], ax
call fcn.0051c6ca
add esp, 4
push 0x8fa7e0
push 2
push esi
mov ecx, edi
call fcn.0044d000
mov ebx, eax
jmp 0x4c6ab8
xor ebx, ebx
mov eax, dword [0x659a4c]
mov ecx, dword [ebx + 0x224]
test eax, ecx
je 0x4c6ae2
mov ecx, dword [ebx + 0x12c]
push 0x24
push ecx
call fcn.00470260
add esp, 8
xor ebp, ebp
mov dword [ebx + 0x12c], ebp
jmp 0x4c6ae4
xor ebp, ebp
push 0x288
call fcn.00470250
mov edi, eax
add esp, 4
cmp edi, ebp
je 0x4c6b48
mov al, byte [0x8fa7dc]
test al, 1
jne 0x4c6b35
mov dl, al
or eax, 0xffffffff
or dl, 1
push fcn.00402b00
mov byte [0x8fa7dc], dl
mov word [0x8fa7e2], bp
mov word [0x8fa7e0], bp
mov word [0x8fa7e6], ax
mov word [0x8fa7e4], ax
call fcn.0051c6ca
add esp, 4
push 0x8fa7e0
push 1
push esi
mov ecx, edi
call fcn.0044e7f0
mov edi, eax
jmp 0x4c6b4a
xor edi, edi
push 0x1e0
call fcn.00470250
add esp, 4
cmp eax, ebp
je 0x4c6b69
push edi
push ebx
push esi
mov ecx, eax
call fcn.0046dc30
mov esi, eax
jmp 0x4c6b6b
xor esi, esi
mov edx, dword [ebx + 0x27c]
push esi
mov ecx, ebx
mov dword [ebx + 0x218], edx
call fcn.004c4670
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
mov ecx, ebx
call fcn.004c4400
mov ecx, dword [esp + 0x68]
lea ebp, [ecx + 0x58]
mov ecx, ebx
push ebp
call fcn.0041d1d0
lea edx, [ebx + 0x10]
mov ecx, ebx
push edx
call fcn.0043dbd0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov ecx, edi
call fcn.004c4400
push ebp
mov ecx, edi
call fcn.0041d1d0
lea ecx, [edi + 0x10]
push ecx
mov ecx, edi
call fcn.0043dbd0
mov edx, dword [edi + 8]
mov ecx, edi
and edx, 0xfffffffe
or dh, 0x80
mov dword [edi + 8], edx
call fcn.0044d550
test eax, eax
je 0x4c6c13
mov eax, dword [0x659aa0]
mov ecx, dword [edi + 0x224]
test eax, ecx
je 0x4c6bfb
xor eax, eax
mov ax, word [edi + 0x254]
test eax, eax
jg 0x4c6c05
mov ecx, 0x675aa8
call fcn.004a13e0
push eax
push 0x20000
push ebp
mov ecx, edi
call fcn.004c4570
mov ebp, dword [esp + 0x68]
push esi
mov ecx, ebp
mov dword [edi + 0x284], ebx
call fcn.004c7d90
jmp 0x4c7bc4
push 0x214
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00450940
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x208
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00422350
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x250
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c6c9f
push esi
mov ecx, eax
call fcn.004513f0
mov esi, eax
jmp 0x4c6ca1
xor esi, esi
push esi
mov ecx, ebp
call fcn.004c7d90
mov ecx, dword [0x659a40]
mov eax, dword [esi + 0x1e4]
test ecx, eax
jne 0x4c7bc4
jmp 0x4c774c
push 0x340
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c6cdf
push esi
mov ecx, eax
call fcn.0045e080
mov esi, eax
jmp 0x4c6ce1
xor esi, esi
mov edx, dword [esi]
lea eax, [esp + 0xec]
push eax
mov ecx, esi
call dword [edx + 4]
mov ecx, dword [eax]
push 0x1e8
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c6dc8
push esi
mov ecx, esi
call fcn.0045ed20
mov eax, dword [eax + 0x1c]
push ecx
mov ecx, esp
push eax
call fcn.00411730
lea ecx, [esp + 0x30]
call fcn.004c7d50
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x34]
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x38]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x3c]
mov ebx, eax
call fcn.004c7d60
lea eax, [ebx + eax*2]
mov ecx, esi
push eax
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x40]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x44]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x118]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c6dca
xor ebx, ebx
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov dword [esp + 0x88], ecx
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0x88], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0x8a], ax
mov edx, dword [esp + 0x88]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edx
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x12]
movsx edx, word [esi + 0x14]
sub eax, ecx
lea ecx, [esp + 0x10c]
inc eax
push eax
movsx eax, word [esi + 0x10]
sub edx, eax
inc edx
push edx
push 0
push 0
jmp 0x4c772c
push 0x11938
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c6e4d
push esi
mov ecx, eax
call fcn.0045a190
mov esi, eax
jmp 0x4c6e4f
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x11c]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c6f36
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x40]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x40]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x48]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x4c]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x50]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x54]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x148]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c6f38
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0x98], eax
call fcn.004a13e0
sub word [esp + 0x98], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0x9a], ax
mov ecx, dword [esp + 0x98]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x14c]
jmp 0x4c772c
push 0x2dc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c6fbb
push esi
mov ecx, eax
call fcn.00461f80
mov esi, eax
jmp 0x4c6fbd
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x14c]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c70a4
push esi
mov ecx, esi
call fcn.00454fc0
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x50]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x50]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x58]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x5c]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x60]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x64]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x178]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c70a6
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0xa8], eax
call fcn.004a13e0
sub word [esp + 0xa8], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xaa], ax
mov ecx, dword [esp + 0xa8]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x17c]
jmp 0x4c772c
push 1
push 0x23c0
call fcn.00487160
mov ecx, eax
call fcn.00483920
test eax, eax
push 0x318
je 0x4c7140
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7158
push esi
mov ecx, eax
call fcn.0044c100
mov ebx, eax
jmp 0x4c715a
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7158
push esi
mov ecx, eax
call fcn.0044ba80
mov ebx, eax
jmp 0x4c715a
xor ebx, ebx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
mov ecx, ebx
call fcn.004c4400
lea edi, [ebp + 0x58]
mov ecx, ebx
push edi
call fcn.0041d1d0
push 0x42c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7191
push ebx
push esi
mov ecx, eax
call fcn.0044c420
mov ebp, eax
jmp 0x4c7193
xor ebp, ebp
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xc]
mov ecx, ebp
call fcn.004c4400
push edi
mov ecx, ebp
call fcn.0041d1d0
push 0x314
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c71c8
push ebp
push esi
mov ecx, eax
call fcn.0044cad0
mov esi, eax
jmp 0x4c71ca
xor esi, esi
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
mov ecx, esi
call fcn.004c4400
push edi
mov ecx, esi
call fcn.0041d1d0
push 0
push 0
push edi
mov ecx, ebx
call fcn.004c4480
push 0
push 0
push edi
mov ecx, ebx
call fcn.004c4570
push 0
push 0
push edi
mov ecx, ebp
call fcn.004c4480
push 0
push 0
push edi
mov ecx, ebp
call fcn.004c4570
push 0
push 0
push edi
mov ecx, esi
call fcn.004c4480
push 0
push 0
push edi
mov ecx, esi
call fcn.004c4570
mov ebp, dword [esp + 0x68]
jmp 0x4c7bc4
push 0x1f8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c724e
push esi
mov ecx, eax
call fcn.00423620
mov esi, eax
jmp 0x4c7250
xor esi, esi
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
mov ecx, esi
call fcn.004c4400
lea edi, [ebp + 0x58]
mov ecx, esi
push edi
call fcn.0041d1d0
push 0
push 0x10001
push edi
mov ecx, esi
call fcn.004c4480
jmp 0x4c7bc4
cmp eax, 0x601
jg 0x4c7afc
je 0x4c7ad6
add eax, 0xfffffafe
cmp eax, 0xd
ja case.default.0x4c5723
jmp dword [eax*4 + 0x4c7ce0]
push 0x1fc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00422730
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x404
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c72ec
push esi
mov ecx, eax
call fcn.004244c0
mov esi, eax
jmp 0x4c72ee
xor esi, esi
mov ecx, esi
call fcn.00427500
lea ecx, [esp + 0x17c]
mov ebx, eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x5c], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
call fcn.00470250
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x4c73ec
lea ecx, [esp + 0x1fc]
push esi
push ecx
mov ecx, esi
call fcn.00427450
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x60]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x60]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x68]
mov edi, eax
call fcn.004c7d60
lea ecx, [edi + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x6c]
mov edi, eax
call fcn.004c7d60
mov edx, ebx
mov ecx, esi
add edx, edi
lea eax, [edx + eax*2]
push eax
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x70]
mov edi, eax
call fcn.004c7d60
sub edi, eax
mov ecx, esi
push edi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x74]
mov edi, eax
call fcn.004c7d60
sub edi, eax
lea ecx, [esp + 0x1a8]
push edi
call fcn.004b4a60
mov ecx, dword [esp + 0x20]
push eax
call fcn.0046a740
jmp 0x4c73ee
xor eax, eax
push eax
mov ecx, ebp
call fcn.004c7d90
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc]
mov ecx, esi
call fcn.004c4400
lea edi, [ebp + 0x58]
mov ecx, esi
push edi
call fcn.0041d1d0
push 0
push 0x10001
push edi
mov ecx, esi
call fcn.004c4480
test ebx, ebx
jle 0x4c7bc4
push ebx
push 0
push edi
mov ecx, esi
call fcn.004c4570
jmp 0x4c7bc4
push 0x27c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7453
push esi
mov ecx, eax
call fcn.0042c930
mov esi, eax
jmp 0x4c7455
xor esi, esi
mov ecx, esi
call fcn.0042a620
test eax, eax
je 0x4c7487
mov eax, dword [esi + 0x214]
shr eax, 0x18
test eax, eax
jg 0x4c7477
mov ecx, 0x675aa8
call fcn.004a13e0
push eax
lea eax, [ebp + 0x58]
push 2
push eax
mov ecx, esi
call fcn.004c4480
jmp 0x4c74b7
mov ecx, esi
call fcn.0042a650
test eax, eax
je 0x4c74b7
mov eax, dword [esi + 0x214]
shr eax, 0x18
test eax, eax
jg 0x4c74a9
mov ecx, 0x675aa8
call fcn.004a13e0
push eax
lea ecx, [ebp + 0x58]
push 0
push ecx
mov ecx, esi
call fcn.004c4570
push esi
mov ecx, ebp
call fcn.004c7d90
mov edi, dword [esi + 0x21c]
test edi, edi
je 0x4c74d4
push edi
mov ecx, ebp
call fcn.004c7d90
and dword [edi + 8], ebx
mov esi, dword [esi + 0x220]
jmp 0x4c7ab9
push 0x24c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.0042f5e0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
push 0x24c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c752a
push 2
push esi
mov ecx, eax
call fcn.0042f980
mov edi, eax
jmp 0x4c752c
xor edi, edi
push edi
mov ecx, ebp
call fcn.004c7d90
mov esi, dword [edi + 0x21c]
test esi, esi
je 0x4c7549
push esi
mov ecx, ebp
call fcn.004c7d90
and dword [esi + 8], ebx
mov edi, dword [edi + 0x218]
test edi, edi
je 0x4c7bc4
push edi
mov ecx, ebp
call fcn.004c7d90
mov eax, dword [edi + 8]
and al, 0xfe
mov dword [edi + 8], eax
jmp 0x4c7bc4
push 0x24c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7589
push esi
mov ecx, eax
call fcn.0042fce0
mov edi, eax
jmp 0x4c758b
xor edi, edi
push edi
mov ecx, ebp
call fcn.004c7d90
mov esi, dword [edi + 0x21c]
test esi, esi
je 0x4c7ab3
jmp 0x4c7aa8
push 0x24c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7589
push esi
mov ecx, eax
call fcn.0042ffb0
mov edi, eax
jmp 0x4c758b
push 0x2b4
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c75e0
push esi
mov ecx, eax
call fcn.0042de00
mov esi, eax
jmp 0x4c75e2
xor esi, esi
mov edx, dword [esi]
lea eax, [esp + 0x19c]
push eax
mov ecx, esi
call dword [edx + 4]
mov ecx, dword [eax]
push 0x1e8
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c76c9
push esi
mov ecx, esi
call fcn.0042f5d0
mov eax, dword [eax + 0x1c]
push ecx
mov ecx, esp
push eax
call fcn.00411730
lea ecx, [esp + 0x1c]
call fcn.004c7d50
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x20]
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x24]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x28]
mov ebx, eax
call fcn.004c7d60
lea eax, [ebx + eax*2]
mov ecx, esi
push eax
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x2c]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x30]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x1c8]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c76cb
xor ebx, ebx
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov dword [esp + 0xb8], ecx
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xb8], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xba], ax
mov edx, dword [esp + 0xb8]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edx
movsx eax, word [esi + 0x16]
movsx ecx, word [esi + 0x12]
movsx edx, word [esi + 0x14]
sub eax, ecx
lea ecx, [esp + 0x1bc]
inc eax
push eax
movsx eax, word [esi + 0x10]
sub edx, eax
inc edx
push edx
push 0
push 0
call fcn.004b4a60
mov ecx, dword [eax]
push ebx
mov dword [esi + 0x34], ecx
mov ecx, ebp
mov edx, dword [eax + 4]
mov dword [esi + 0x38], edx
call fcn.004c7d90
push esi
mov ecx, ebp
call fcn.004c7d90
lea edi, [ebp + 0x58]
push 0
push 0
push edi
mov ecx, esi
call fcn.004c4570
push 0
push 0
push edi
mov ecx, esi
call fcn.004c4480
jmp 0x4c7bc4
push 0x1e8
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7794
push esi
mov ecx, eax
call fcn.00422db0
mov esi, eax
mov ecx, ebp
push esi
call fcn.004c7d90
jmp 0x4c7bc4
xor esi, esi
push esi
mov ecx, ebp
call fcn.004c7d90
jmp 0x4c7bc4
push 0x2ec
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c77c0
push esi
mov ecx, eax
call fcn.00465320
mov esi, eax
jmp 0x4c77c2
xor esi, esi
mov eax, dword [esi]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, esi
call dword [eax + 4]
mov edx, dword [eax]
push 0x1e8
mov dword [esp + 0x20], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
call fcn.00470250
mov edi, eax
add esp, 4
test edi, edi
je 0x4c78a9
push esi
mov ecx, esi
call fcn.00467420
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esp
push edx
call fcn.00411730
lea ecx, [esp + 0x24]
call fcn.004c7d50
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push eax
call fcn.004c7d60
push eax
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d40
lea ecx, [esp + 0x2c]
mov ebx, eax
call fcn.004c7d60
lea ecx, [ebx + eax*2]
push ecx
mov ecx, esi
call fcn.0046d060
mov ecx, eax
call fcn.004c7d30
lea ecx, [esp + 0x30]
mov ebx, eax
call fcn.004c7d60
lea edx, [ebx + eax*2]
mov ecx, esi
push edx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d60
lea ecx, [esp + 0x34]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
mov ecx, esi
push ebx
call fcn.0046d060
mov ecx, eax
call fcn.004c7d20
lea ecx, [esp + 0x38]
mov ebx, eax
call fcn.004c7d60
sub ebx, eax
lea ecx, [esp + 0x1f8]
push ebx
call fcn.004b4a60
push eax
mov ecx, edi
call fcn.0046a740
mov ebx, eax
jmp 0x4c78ab
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 0x10]
mov ecx, 0x675aa8
mov dword [esp + 0xc8], eax
call fcn.004a13e0
sub word [esp + 0xc8], ax
mov ecx, 0x675aa8
call fcn.004a13e0
sub word [esp + 0xca], ax
mov ecx, dword [esp + 0xc8]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ecx
movsx edx, word [esi + 0x16]
movsx eax, word [esi + 0x12]
movsx ecx, word [esi + 0x14]
sub edx, eax
inc edx
push edx
movsx edx, word [esi + 0x10]
sub ecx, edx
inc ecx
push ecx
push 0
push 0
lea ecx, [esp + 0x1fc]
call fcn.004b4a60
mov ecx, dword [eax]
push ebx
mov dword [esi + 0x34], ecx
mov ecx, ebp
mov edx, dword [eax + 4]
mov dword [esi + 0x38], edx
call fcn.004c7d90
push esi
mov ecx, ebp
call fcn.004c7d90
mov eax, dword [0x659a58]
mov ecx, dword [esi + 0x2e8]
test eax, ecx
mov dword [esp + 0x10], 0
je 0x4c794b
mov dword [esp + 0x10], 2
xor ecx, ecx
mov cl, byte [esi + 0x237]
mov edi, ecx
test edi, edi
jg 0x4c7965
mov ecx, 0x675aa8
call fcn.004a13e0
mov edi, eax
mov edx, dword [esp + 0x10]
lea ebx, [ebp + 0x58]
push edi
push edx
push ebx
mov ecx, esi
call fcn.004c4570
push edi
push 0
push ebx
mov ecx, esi
call fcn.004c4480
jmp 0x4c7bc4
mov edx, dword [0x659a18]
lea eax, [esi + 4]
push 0
push eax
push edx
mov dword [esp + 0x1c], 0
call ecx
mov eax, dword [0x659a18]
lea ecx, [esp + 0x1c]
push eax
push 1
push 4
push ecx
call edi
push 0x278
call fcn.00470250
add esp, 0x20
test eax, eax
je 0x4c79d0
mov edx, dword [esp + 0x10]
mov ecx, eax
push edx
push esi
call fcn.00430aa0
mov esi, eax
jmp 0x4c79d2
xor esi, esi
mov ecx, esi
call fcn.0042a620
test eax, eax
je 0x4c79f3
mov eax, dword [esi + 0x214]
shr eax, 0x18
test eax, eax
jg 0x4c7477
jmp 0x4c746d
mov ecx, esi
call fcn.0042a650
test eax, eax
je 0x4c74b7
mov eax, dword [esi + 0x214]
shr eax, 0x18
test eax, eax
jg 0x4c74a9
jmp 0x4c749f
mov edx, dword [0x659a18]
push 0
push esi
push edx
mov dword [esp + 0x1c], 0
call ecx
mov eax, dword [0x659a18]
lea ecx, [esp + 0x1c]
push eax
push 1
push 4
push ecx
call edi
push 0x258
call fcn.00470250
add esp, 0x20
test eax, eax
je 0x4c7a68
mov edx, dword [esp + 0x10]
mov ecx, eax
push edx
push esi
call fcn.00430570
push eax
mov ecx, ebp
call fcn.004c7d90
jmp 0x4c7bc4
xor eax, eax
mov ecx, ebp
push eax
call fcn.004c7d90
jmp 0x4c7bc4
push 0x24c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7a94
push esi
mov ecx, eax
call fcn.00430250
mov edi, eax
jmp 0x4c7a96
xor edi, edi
push edi
mov ecx, ebp
call fcn.004c7d90
mov esi, dword [edi + 0x21c]
test esi, esi
je 0x4c7ab3
push esi
mov ecx, ebp
call fcn.004c7d90
and dword [esi + 8], ebx
mov esi, dword [edi + 0x218]
test esi, esi
je 0x4c7bc4
push esi
mov ecx, ebp
call fcn.004c7d90
mov eax, dword [esi + 8]
and al, 0xfe
mov dword [esi + 8], eax
jmp 0x4c7bc4
push 0x1e0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0046f440
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
cmp eax, 0xff02
jg 0x4c7b6f
je 0x4c7b54
cmp eax, 0x602
je 0x4c7b35
cmp eax, 0xff01
jne case.default.0x4c5723
push 0x220
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.0046e7b0
jmp 0x4c7bb9
push 0x1e0
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
push esi
mov ecx, eax
call fcn.0046f100
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
push 0x208
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.0046ed10
jmp 0x4c7bb9
cmp eax, 0xff03
je 0x4c7b9c
push 0xbc
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7b94
mov ecx, eax
call fcn.0046bbc0
lea ecx, [ebp + 0x58]
push ecx
jmp 0x4c7bbd
lea ecx, [ebp + 0x58]
xor eax, eax
push ecx
jmp 0x4c7bbd
push 0x21c
call fcn.00470250
add esp, 4
test eax, eax
je 0x4c7bb7
push esi
mov ecx, eax
call fcn.0046ee80
jmp 0x4c7bb9
xor eax, eax
lea edx, [ebp + 0x58]
push edx
mov ecx, eax
call fcn.0041d1d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x238]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x4c56d2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret 0xc