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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x67254e
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push esi
push edi
mov eax, dword [0x8a0c44]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [ebp + 8], 0
mov dword [esp + 0x1c], 0
je case.default.0x501f13
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x130]
add eax, 0xfffffffe
cmp eax, 9
ja case.default.0x501f13
jmp dword [eax*4 + 0x502370]
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 0
test edi, edi
je 0x501f66
movzx eax, word [esi + 0x138]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x8c]
mov ecx, esi
call eax
push eax
mov ecx, edi
call fcn.00450d10
mov dword [esp + 0x80], 0xffffffff
push eax
jmp 0x50233d
xor eax, eax
mov dword [esp + 0x80], 0xffffffff
push eax
jmp 0x50233d
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 1
test edi, edi
je 0x501f66
mov ecx, dword [esi + 0x138]
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
push ecx
mov ecx, esi
call eax
push eax
mov ecx, edi
call fcn.00450d10
mov dword [esp + 0x80], 0xffffffff
push eax
jmp 0x50233d
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 2
test edi, edi
je 0x501f66
fld qword [esi + 0x138]
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call eax
push eax
mov ecx, edi
call fcn.00450c60
mov dword [esp + 0x80], 0xffffffff
push eax
jmp 0x50233d
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 3
test edi, edi
je 0x501f66
fld dword [esi + 0x138]
jmp 0x501fe9
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 4
test edi, edi
je 0x501f66
cmp byte [esi + 0x138], 0
mov eax, dword [esi]
setne cl
movzx edx, cl
push edx
mov edx, dword [eax + 0x8c]
mov ecx, esi
call edx
push eax
mov ecx, edi
call fcn.00450dc0
mov dword [esp + 0x80], 0xffffffff
push eax
jmp 0x50233d
fld dword [esi + 0x138]
sub esp, 8
fstp qword [esp]
call fcn.0043d640
fld dword [esi + 0x13c]
mov dword [esp + 0x2c], eax
fstp qword [esp]
mov dword [esp + 0x30], edx
call fcn.0043d640
push 0x24
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 1
call fcn.0063f278
mov edi, eax
add esp, 0xc
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 5
test edi, edi
je 0x50210b
mov eax, dword [esi]
mov edx, dword [eax + 0x8c]
mov ecx, esi
call edx
push eax
mov ecx, edi
call fcn.00450e70
mov esi, eax
jmp 0x50210d
xor esi, esi
mov dword [esp + 0x80], 0xffffffff
test esi, esi
je case.default.0x501f13
lea eax, [esp + 0x24]
push eax
push 3
mov ecx, esi
call fcn.004503a0
push esi
jmp 0x50233d
movzx ecx, byte [esi + 0x139]
push ecx
call fcn.0043d720
mov dword [esp + 0x2c], edx
movzx edx, byte [esi + 0x13a]
push edx
mov dword [esp + 0x2c], eax
call fcn.0043d720
mov dword [esp + 0x34], eax
movzx eax, byte [esi + 0x13b]
push eax
mov dword [esp + 0x3c], edx
call fcn.0043d720
movzx ecx, byte [esi + 0x138]
push ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.0043d720
push 0x24
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
call fcn.0063f278
mov edi, eax
add esp, 0x14
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 6
test edi, edi
je 0x5021bf
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
mov ecx, esi
call eax
push eax
mov ecx, edi
call fcn.00450e70
mov esi, eax
jmp 0x5021c1
xor esi, esi
mov dword [esp + 0x80], 0xffffffff
test esi, esi
je case.default.0x501f13
lea ecx, [esp + 0x24]
push ecx
push 4
mov ecx, esi
call fcn.004503a0
push esi
jmp 0x50233d
fld dword [esi + 0x13c]
sub esp, 8
fstp qword [esp]
call fcn.0043d640
fld dword [esi + 0x140]
mov dword [esp + 0x2c], eax
fstp qword [esp]
mov dword [esp + 0x30], edx
call fcn.0043d640
fld dword [esi + 0x144]
fstp qword [esp]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
call fcn.0043d640
fld dword [esi + 0x138]
fstp qword [esp]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
call fcn.0043d640
push 0x24
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
call fcn.0063f278
mov edi, eax
add esp, 0xc
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 7
test edi, edi
je 0x5021bf
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
mov ecx, esi
call eax
push eax
mov ecx, edi
call fcn.00450e70
mov esi, eax
jmp 0x5021c1
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 8
test edi, edi
je 0x5022b8
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
mov ecx, esi
call eax
push eax
mov ecx, edi
call fcn.00450e70
mov edi, eax
jmp 0x5022ba
xor edi, edi
mov dword [esp + 0x80], 0xffffffff
test edi, edi
je case.default.0x501f13
mov ecx, dword [esi + 0x138]
push ecx
mov ecx, edi
call fcn.00450510
jmp 0x50233c
push 0x24
call fcn.0063f278
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 9
test edi, edi
je 0x502314
mov edx, dword [esi]
mov eax, dword [edx + 0x8c]
mov ecx, esi
call eax
push eax
mov ecx, edi
call fcn.00450e70
mov edi, eax
jmp 0x502316
xor edi, edi
mov dword [esp + 0x80], 0xffffffff
test edi, edi
je case.default.0x501f13
mov ecx, dword [esi + 0x148]
mov edx, dword [esi + 0x138]
push 0
push ecx
push edx
mov ecx, edi
call fcn.00450590
push edi
mov ecx, dword [ebp + 8]
add ecx, 0xc4
call fcn.0043c250
test eax, eax
je case.default.0x501f13
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4