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

Disassembly:
jmp 0x51c7a0
push ecx
mov eax, dword [esp + 8]
push esi
push eax
mov ecx, 0x7c3b98
call fcn.0040ea4d
mov esi, eax
test esi, esi
je 0x51ca80
push edi
push 0x50
push 0
push 0x7f9d44
call fcn.00610b10
mov edx, dword [esi]
mov eax, dword [edx + 0x78]
add esp, 0xc
mov ecx, esi
call eax
movzx ecx, ax
push ecx
mov ecx, 0x7c3b98
call fcn.004010fa
mov esi, eax
movzx edx, word [esi + 0xc6]
push edx
mov ecx, 0x7d6f78
call fcn.0040dad5
mov edi, eax
movzx eax, word [esi + 0xc8]
fnstcw word [esp + 0x10]
imul eax, eax, 0x68
mov ecx, dword [eax + edi + 8]
mov dword [0x7f9d44], ecx
movzx edx, word [esi + 0xc8]
imul edx, edx, 0x68
mov eax, dword [edx + edi + 0xc]
mov dword [0x7f9d48], eax
movzx ecx, word [esi + 0xc8]
movzx eax, word [esp + 0x10]
imul ecx, ecx, 0x68
fld dword [ecx + edi + 0x20]
or eax, 0xc00
mov dword [esp + 8], eax
fldcw word [esp + 8]
fistp dword [esp + 8]
movzx edx, word [esp + 8]
mov word [0x7f9d50], dx
movzx eax, word [esi + 0xc8]
fldcw word [esp + 0x10]
imul eax, eax, 0x68
mov ecx, dword [eax + edi + 0x10]
mov dword [0x7f9d4c], ecx
movzx edx, word [esi + 0xc8]
imul edx, edx, 0x68
movzx eax, word [edx + edi + 0x18]
mov word [0x7f9d52], ax
movzx ecx, word [esi + 0xc8]
imul ecx, ecx, 0x68
movzx edx, word [ecx + edi + 0x1a]
mov word [0x7f9d54], dx
movzx eax, word [esi + 0xc8]
imul eax, eax, 0x68
mov cx, word [eax + edi + 0x1c]
mov word [0x7f9d56], cx
movzx edx, word [esi + 0xc8]
imul edx, edx, 0x68
movzx eax, word [edx + edi + 0x1e]
mov word [0x7f9d58], ax
movzx ecx, word [esi + 0xc8]
imul ecx, ecx, 0x68
fld dword [ecx + edi + 0x14]
fstp dword [0x7f9d5c]
movzx edx, word [esi + 0xc8]
imul edx, edx, 0x68
mov eax, dword [edx + edi - 0xc]
fild dword [edx + edi - 0xc]
test eax, eax
jns 0x51c8f3
fadd dword [0x64ba74]
push ecx
fstp dword [0x7f9d60]
movzx ecx, word [esi + 0xc8]
fld1
imul ecx, ecx, 0x68
fstp dword [esp]
lea edx, [ecx + edi + 0x24]
push edx
mov ecx, 0x7f9d64
call fcn.0040f1b4
movzx eax, word [esi + 0xc8]
fld1
imul eax, eax, 0x68
push ecx
lea ecx, [eax + edi + 0x3c]
fstp dword [esp]
push ecx
mov ecx, 0x7f9d7c
call fcn.0040f1b4
mov edi, 0x215
lea esp, [esp]
push edi
push 7
mov ecx, 0x7c3b98
call fcn.0040bedd
mov esi, eax
test esi, esi
je 0x51ca65
mov edx, dword [esi]
mov eax, dword [edx + 0x74]
mov ecx, esi
call eax
push eax
mov ecx, 0x7f9d28
call fcn.0040d86e
test eax, eax
je 0x51ca65
cmp dword [eax + 0xc], 0
je 0x51ca65
mov edx, dword [esi]
mov eax, dword [edx + 0x78]
mov ecx, esi
call eax
movzx ecx, ax
push ecx
mov ecx, 0x7c3b98
call fcn.004010fa
mov esi, eax
test esi, esi
je 0x51ca65
mov edx, dword [esi + 0x64]
add dword [0x7f9d44], edx
movzx eax, word [esi + 0x6c]
add dword [0x7f9d48], eax
movzx ecx, word [esi + 0xc4]
add word [0x7f9d50], cx
movzx edx, word [esi + 0xa8]
add dword [0x7f9d4c], edx
movzx eax, word [esi + 0xa0]
add word [0x7f9d52], ax
movzx ecx, word [esi + 0xa2]
add word [0x7f9d54], cx
mov dx, word [esi + 0xa4]
add word [0x7f9d56], dx
movzx eax, word [esi + 0xa6]
add word [0x7f9d58], ax
movzx ecx, word [esi + 0xce]
mov dword [esp + 0x10], ecx
push ecx
lea eax, [esi + 0xac]
fild dword [esp + 0x14]
mov ecx, 0x7f9d64
fadd dword [0x7f9d5c]
fstp dword [0x7f9d5c]
movzx edx, word [esi + 0xcc]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [0x7f9d60]
fstp dword [0x7f9d60]
fld1
fstp dword [esp]
push eax
call fcn.0040f1b4
fld1
push ecx
fstp dword [esp]
add esi, 0x70
push esi
mov ecx, 0x7f9d7c
call fcn.0040f1b4
inc edi
mov ecx, 0x21c
cmp di, cx
jb 0x51c940
mov ecx, dword [0x7b21e8]
call fcn.0040dfda
pop edi
pop esi
pop ecx
ret 4