Function at 0x54a3f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x656270
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 1
call fcn.00643d20
mov eax, dword [esi + 0x570]
test eax, eax
je 0x54a451
push ecx
mov ecx, dword [esi + 0x56c]
mov eax, esp
mov dword [esp + 0x3c], esp
mov dword [eax], ecx
lea ecx, [esi + 0x568]
call fcn.0043a190
test eax, eax
je 0x54a451
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x40
push 0x69cd60
push edx
jmp 0x54aab8
mov eax, dword [esi + 0x544]
push 0
push 0
push 0x147
push eax
call dword [fcn.0065f498]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x54aaa9
cmp eax, 8
je 0x54aaa9
xor ecx, ecx
cmp eax, 5
setl cl
push 0
push ecx
push esi
call fcn.0047da30
add esp, 0xc
test eax, eax
je 0x54aac0
xor eax, eax
lea edi, [esi + 0x568]
xor ebx, ebx
push eax
mov ecx, edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], eax
mov word [esp + 0x44], ax
call fcn.00643f00
mov eax, dword [eax + 0x14]
push ebx
add eax, 0x76c
mov ecx, edi
mov word [esp + 0x48], ax
call fcn.00643f00
mov eax, dword [eax + 0x10]
push ebx
inc eax
mov ecx, edi
mov byte [esp + 0x4a], al
call fcn.00643f00
mov eax, dword [eax + 0xc]
lea edi, [esi + 0x56c]
push ebx
mov ecx, edi
mov byte [esp + 0x4b], al
call fcn.00643f00
mov eax, dword [eax + 0x14]
push ebx
add eax, 0x76c
mov ecx, edi
mov word [esp + 0x40], ax
call fcn.00643f00
mov eax, dword [eax + 0x10]
push ebx
inc eax
mov ecx, edi
mov byte [esp + 0x42], al
call fcn.00643f00
mov eax, dword [eax + 0xc]
mov edx, dword [esi + 0x1d0ec]
mov byte [esp + 0x3f], al
lea eax, [esi + 0x16dac]
push eax
lea eax, [esi + 0x1cb74]
push edx
push eax
call fcn.00475ed0
mov edi, eax
push ebx
lea ecx, [esp + 0x24]
push edi
push ecx
mov dword [esp + 0x4c], edi
call fcn.00471ed0
add esp, 0x18
mov eax, dword [eax]
lea ecx, [esi + 0x164]
push eax
mov dword [esp + 0x78], ebx
call fcn.00643d44
lea ecx, [esp + 0x14]
mov dword [esp + 0x74], 0xffffffff
call fcn.00643d26
lea ecx, [esi + 0x1a4]
push 0x69a94c
call fcn.00643d44
lea ebp, [esi + 0x60]
push edi
push ebx
mov ecx, ebp
call fcn.004a3ca0
push 1
mov ecx, ebp
call fcn.004a3d30
push ebx
mov ecx, ebp
call fcn.004a3d10
xor eax, eax
mov dword [0x8998ac], eax
mov dword [0x8998b4], eax
mov dword [0x8998b0], eax
mov eax, dword [esi + 0x16da0]
add eax, 0x104
mov edx, eax
shl edx, 6
add edx, eax
lea eax, [esi + edx*4]
push eax
call fcn.006448fc
test eax, eax
mov dword [0x8998ac], eax
je 0x54aac0
push 0x6bbc84
push eax
call dword [fcn.0065e1d8]
mov ecx, dword [0x8998ac]
push 0x6bbc70
push ecx
mov dword [0x8998bc], eax
call dword [fcn.0065e1d8]
mov edx, dword [0x8998ac]
push 0x6bbc5c
push edx
mov dword [0x8998b4], eax
call dword [fcn.0065e1d8]
mov ecx, dword [0x8998bc]
mov dword [0x8998b0], eax
test ecx, ecx
je 0x54aa85
mov edx, dword [0x8998b4]
test edx, edx
je 0x54aa85
test eax, eax
je 0x54aa85
push 0x485a00
call ecx
add esp, 4
lea ecx, [esp + 0x28]
call fcn.00643d62
lea ecx, [esp + 0x24]
mov dword [esp + 0x74], 1
call fcn.00643d62
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 2
call fcn.00643d62
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 3
call fcn.00643d62
lea eax, [esp + 0x28]
lea ecx, [esi + 0x1e4]
push eax
mov byte [esp + 0x78], 4
call fcn.00644164
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esi + 0x224]
call fcn.00644164
lea edx, [esp + 0x20]
lea ecx, [esi + 0x264]
push edx
call fcn.00644164
lea eax, [esp + 0x1c]
lea ecx, [esi + 0x2a4]
push eax
call fcn.00644164
mov ecx, dword [esp + 0x28]
push ecx
call dword [fcn.0065f1d8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], eax
push edx
call dword [fcn.0065f1d8]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
push eax
call dword [fcn.0065f1d8]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x70], eax
push ecx
call dword [fcn.0065f1d8]
mov ecx, dword [esi + 0x16da0]
mov dword [esp + 0x78], eax
mov eax, ecx
xor edx, edx
shl eax, 5
add eax, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
add esp, 0x10
lea eax, [eax + eax*4]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edx
lea ecx, [ecx + eax*2]
cmp word [esi + ecx*2 + 0x790], dx
lea eax, [esi + ecx*2 + 0x790]
jle 0x54a742
mov ecx, dword [esp + edx*4 + 0x5c]
mov dword [esp + edx*4 + 0x4c], ecx
inc edx
movsx ecx, word [eax]
cmp edx, ecx
jl 0x54a732
mov eax, 1
mov dword [esi + 0x1cb70], 0
mov dword [esi + 0x1cb6c], eax
mov ecx, esi
mov dword [0x8267f8], eax
call fcn.0054aae0
push 2
mov ecx, esi
call fcn.00643d4a
mov ecx, eax
call fcn.00643f18
push 0x258
call fcn.004784f0
add esp, 4
lea ecx, [esp + 0x14]
push 0x6bbc4c
call fcn.00643d2c
lea edx, [esp + 0x14]
lea ecx, [esi + 0xc4]
push edx
mov byte [esp + 0x78], 5
call fcn.004daa80
lea ecx, [esp + 0x14]
mov byte [esp + 0x74], 4
call fcn.00643d26
push 0x2d00
call fcn.00643b70
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x10], 0
call fcn.00643d62
test edi, edi
mov byte [esp + 0x74], 6
mov dword [esp + 0x14], 0
jle 0x54a9ac
lea eax, [esi + 0x19c8c]
lea edi, [esi + 0x16dac]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
and ecx, 0x80000001
jns 0x54a809
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x54a826
push 1
call dword [fcn.0065e26c]
call fcn.0047e360
mov eax, dword [esi + 0x1cb6c]
test eax, eax
je 0x54a982
mov eax, dword [esi + 0x570]
push 0
cmp eax, 1
jne 0x54a8b7
mov edx, dword [esi + 0x564]
mov ax, word [esp + 0x44]
test edx, edx
setne dl
push edx
mov edx, dword [esp + 0x44]
sub esp, 8
mov ecx, esp
sub esp, 8
mov dword [ecx], edx
mov edx, dword [esp + 0x5c]
mov word [ecx + 4], ax
xor eax, eax
mov byte [ecx + 6], al
mov ecx, esp
mov ax, bx
mov dword [ecx], edx
mov word [ecx + 4], ax
mov eax, dword [esp + 0x44]
push eax
mov byte [ecx + 6], bl
call fcn.0047f970
mov dx, word [edi]
add esp, 4
lea ecx, [esp + 0x64]
push eax
push ecx
mov ecx, dword [0x826818]
push edx
call fcn.004466b0
movsx ax, byte [eax + 0xec]
mov cx, word [edi]
push eax
push ecx
mov ecx, dword [0x826818]
call fcn.004466b0
push eax
call dword [0x8998b0]
add esp, 0x28
jmp 0x54a90c
mov ecx, dword [esi + 0x564]
mov eax, dword [esp + 0x30]
test ecx, ecx
setne dl
push edx
push 0x7d0
push eax
call fcn.0047f970
mov dx, word [edi]
add esp, 4
lea ecx, [esp + 0x58]
push eax
push ecx
mov ecx, dword [0x826818]
push edx
call fcn.004466b0
movsx ax, byte [eax + 0xec]
mov cx, word [edi]
push eax
push ecx
mov ecx, dword [0x826818]
call fcn.004466b0
push eax
call dword [0x8998b4]
add esp, 0x1c
test eax, eax
je 0x54a961
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
inc eax
mov dx, word [edi]
mov dword [esp + 0x10], eax
sub esp, 8
fild dword [esp + 0x18]
mov word [ecx], dx
add ecx, 2
mov dword [esp + 0x38], ecx
fmul qword [0x663768]
fidiv dword [esp + 0x3c]
fstp qword [esp]
push eax
lea eax, [esp + 0x24]
push 0x69ccf8
push eax
call fcn.00643d50
mov ecx, dword [esp + 0x2c]
add esp, 0x14
push ecx
lea ecx, [esi + 0x1a4]
call fcn.00643d44
mov ecx, ebp
call fcn.004a3d50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
inc eax
add edi, 2
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x54a7f8
jmp 0x54a9ac
push 0
mov ecx, ebp
call fcn.004a3d10
push 0x6c7010
push 0x458
mov ecx, esi
call fcn.0064428a
push 0x6c7010
lea ecx, [esi + 0xc4]
call fcn.00643d44
mov edx, dword [esp + 0x38]
push edx
call fcn.00643cfc
mov eax, dword [esi + 0x1cb6c]
xor edi, edi
add esp, 4
cmp eax, edi
je 0x54aa17
push 0x6bbc40
lea ecx, [esp + 0x34]
call fcn.00643d2c
lea eax, [esp + 0x30]
lea ecx, [esi + 0xc4]
push eax
mov byte [esp + 0x78], 7
call fcn.004daa80
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 6
call fcn.00643d26
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x10]
push 1
push ecx
lea eax, [esi + 0x19c8c]
push edx
push eax
call fcn.004843e0
add esp, 0x10
mov dword [esi + 0x1cb6c], edi
mov ecx, esi
call fcn.0054ab70
mov dword [0x8267f8], edi
mov dword [esi + 0x1cb70], 1
mov ecx, dword [0x8998ac]
push ecx
call fcn.00644902
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], 4
call fcn.00643d26
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 3
call fcn.00643d26
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 2
call fcn.00643d26
lea ecx, [esp + 0x24]
mov byte [esp + 0x74], 1
call fcn.00643d26
lea ecx, [esp + 0x28]
mov dword [esp + 0x74], 0xffffffff
call fcn.00643d26
jmp 0x54aac0
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x30
push 0x6bbc28
push edx
call fcn.00471ac0
mov eax, dword [0x8998ac]
add esp, 0x14
push eax
call fcn.00644902
jmp 0x54aac0
mov ecx, dword [esi + 0x20]
push 0
push 0
push 0x40
push 0x69cccc
push ecx
call fcn.00471ac0
add esp, 0x14
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x68
ret 4