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

Disassembly:
push 0xffffffffffffffff
push 0x616a41
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov eax, dword [0x682d00]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], edi
call fcn.00516a20
mov eax, dword [esi]
mov edx, dword [eax + 0x40]
mov ecx, esi
mov dword [esp + 0x74], 1
mov dword [esp + 0x14], edi
call edx
fmul qword [0x6325d8]
push esi
lea ecx, [esp + 0x24]
fdiv qword [0x6325d0]
fstp qword [esp + 0x2c]
call fcn.004ba9c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 2
call fcn.004ba9e0
lea ecx, [esp + 0x20]
call fcn.004baa40
test eax, eax
je 0x470b51
lea ecx, [esp + 0x20]
call fcn.004baa40
mov ebp, eax
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
mov ecx, ebp
call edx
mov ecx, ebp
cmp eax, 2
jne 0x4709de
call fcn.004c6240
test eax, eax
je 0x470a78
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4709d2
jmp 0x470a6e
call fcn.004a7a50
mov ecx, eax
call fcn.00475ce0
test eax, eax
je 0x470a09
mov ecx, ebp
call fcn.004a7a50
mov ecx, eax
call fcn.00475ce0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x4c]
call eax
test eax, eax
jne 0x470a78
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
cmp eax, 9
jne 0x470b22
mov ebx, dword [ebp + 0x3c]
test ebx, ebx
je 0x470a45
mov eax, dword [ebx + 8]
test eax, eax
jne 0x470a41
mov edi, dword [ebx + 4]
and edi, 0x7f
call fcn.00500b30
mov edi, dword [eax + edi*4 - 4]
push ebx
mov ecx, edi
call fcn.004fffc0
mov edi, eax
jmp 0x470a47
xor edi, edi
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 2
jne 0x470b22
mov ecx, edi
call fcn.004c6240
test eax, eax
je 0x470a78
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x470a67
sub eax, edx
test eax, eax
ja 0x470b22
fld qword [esp + 0x28]
sub esp, 8
cmp dword [esp + 0x1c], 0
mov eax, esp
fstp qword [eax]
mov ecx, esi
mov dword [esp + 0x24], esp
je 0x470ae7
mov edx, dword [esi]
mov eax, dword [edx + 0x44]
call eax
push eax
lea ecx, [esp + 0x64]
push ebp
push ecx
call fcn.00472590
add esp, 0x14
push eax
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], 3
call fcn.00517620
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 4
call fcn.00516f10
lea ecx, [esp + 0x44]
mov byte [esp + 0x74], 3
call fcn.00516b60
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.00516b60
jmp 0x470b22
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
call edx
push eax
lea eax, [esp + 0x64]
push ebp
push eax
call fcn.00472590
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 5
call fcn.00516f10
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.00516b60
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x20]
call fcn.004baa10
lea ecx, [esp + 0x20]
call fcn.004baa40
test eax, eax
jne 0x4709a6
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x470b51
cmp dword [esp + 0x80], edi
je 0x470c01
cmp dword [esi + 0x60], edi
jbe 0x470c01
mov bl, 6
lea esp, [esp]
cmp dword [esp + 0x14], 0
je 0x470bbc
mov edx, dword [esi]
mov eax, dword [edx + 0x58]
lea ecx, [esp + 0x44]
push ecx
push edi
mov ecx, esi
call eax
mov ecx, eax
call fcn.00472fc0
push eax
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], bl
call fcn.00517620
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 7
call fcn.00516f10
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], bl
call fcn.00516b60
lea ecx, [esp + 0x44]
mov byte [esp + 0x74], 2
call fcn.00516b60
jmp 0x470bf7
mov eax, dword [esi]
lea edx, [esp + 0x58]
push edx
mov edx, dword [eax + 0x58]
push edi
mov ecx, esi
call edx
mov ecx, eax
call fcn.00472fc0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 8
call fcn.00516f10
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.00516b60
mov dword [esp + 0x14], 1
inc edi
cmp edi, dword [esi + 0x60]
jb 0x470b60
cmp dword [esp + 0x14], 0
je 0x470c43
mov esi, dword [esp + 0x7c]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.00516b00
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 1
mov byte [esp + 0x74], 1
call fcn.0051a4a0
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 0
call fcn.00516b60
mov eax, esi
jmp 0x470e5c
push esi
lea ecx, [esp + 0x24]
call fcn.004ba9f0
lea ecx, [esp + 0x20]
call fcn.004ba9e0
lea ecx, [esp + 0x20]
call fcn.004baa40
test eax, eax
je 0x470e22
lea ecx, [esp + 0x20]
call fcn.004baa40
mov edi, eax
mov ecx, edi
call fcn.004a7a50
mov ecx, eax
call fcn.00475ce0
test eax, eax
je 0x470dca
mov ecx, edi
call fcn.004a7a50
mov ecx, eax
call fcn.00475ce0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x50]
call eax
test eax, eax
je 0x470dca
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 3
je 0x470d20
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 4
je 0x470d20
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 9
jne 0x470dca
mov ebx, dword [edi + 0x3c]
test ebx, ebx
je 0x470cfe
mov eax, dword [ebx + 8]
test eax, eax
jne 0x470cfa
mov ebp, dword [ebx + 4]
and ebp, 0x7f
call fcn.00500b30
mov ebp, dword [eax + ebp*4 - 4]
push ebx
mov ecx, ebp
call fcn.004fffc0
mov ebx, eax
jmp 0x470d00
xor ebx, ebx
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
cmp eax, 3
je 0x470d20
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
cmp eax, 4
jne 0x470dca
fld qword [esp + 0x28]
sub esp, 8
cmp dword [esp + 0x1c], 0
mov eax, esp
fstp qword [eax]
mov ecx, esi
mov dword [esp + 0x24], esp
je 0x470d8f
mov edx, dword [esi]
mov eax, dword [edx + 0x44]
call eax
push eax
lea ecx, [esp + 0x50]
push edi
push ecx
call fcn.00472590
add esp, 0x14
push eax
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], 9
call fcn.00517620
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xa
call fcn.00516f10
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 9
call fcn.00516b60
lea ecx, [esp + 0x44]
mov byte [esp + 0x74], 2
call fcn.00516b60
jmp 0x470dca
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
call edx
push eax
lea eax, [esp + 0x64]
push edi
push eax
call fcn.00472590
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xb
call fcn.00516f10
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.00516b60
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x20]
call fcn.004baa10
lea ecx, [esp + 0x20]
call fcn.004baa40
test eax, eax
jne 0x470c67
cmp dword [esp + 0x14], eax
je 0x470e22
mov esi, dword [esp + 0x7c]
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.00516b00
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 1
mov byte [esp + 0x74], 1
call fcn.0051a4a0
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 0
call fcn.00516b60
mov eax, esi
jmp 0x470e5c
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
push edx
push edi
mov ecx, esi
call fcn.004708b0
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 1
mov byte [esp + 0x74], 1
call fcn.0051a4a0
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 0
call fcn.00516b60
mov eax, edi
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 8