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

Disassembly:
sub esp, 0x6c
push esi
push edi
mov edi, dword [esp + 0x78]
mov esi, ecx
mov ecx, edi
call fcn.005019d0
test eax, eax
je 0x50a400
pop edi
xor eax, eax
pop esi
add esp, 0x6c
ret 4
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.00507960
fld dword [edi + 0x460]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x38]
fld dword [edi + 0x464]
fsub dword [esp + 0x60]
fstp dword [esp + 0x3c]
fld dword [edi + 0x468]
fsub dword [esp + 0x64]
fstp dword [esp + 0x40]
fld dword [esp + 0x3c]
fld dword [esp + 0x38]
fld dword [esp + 0x40]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fcomp dword [0x68662c]
fnstsw ax
test ah, 0x41
je 0x50a3f6
push ebx
mov ecx, esi
call fcn.00507b00
test eax, eax
jne 0x50a490
mov ecx, esi
call fcn.005019c0
test eax, eax
jne 0x50a490
lea ebx, [esi + 0x2d8]
mov dword [esp + 0xc], ebx
add edi, 0x2d8
jmp 0x50a4a2
lea ecx, [esi + 0x2f4]
mov dword [esp + 0xc], ecx
add edi, 0x2f4
mov ebx, ecx
push ebp
lea edx, [esp + 0x70]
push edx
lea ecx, [esi + 0x378]
mov dword [esp + 0x84], edi
call fcn.0051db10
mov eax, dword [ebx + 0x14]
mov ebp, dword [eax]
mov ecx, dword [ebx]
mov edx, edi
mov eax, dword [edx + 0x14]
mov ebx, dword [edx]
mov edi, dword [eax]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x14]
mov eax, dword [eax]
test ecx, ecx
je 0x50a4e7
cmp ecx, eax
je 0x50a4f0
call fcn.006111cc
mov ecx, dword [esp + 0x24]
cmp ebp, esi
je 0x50a809
jmp 0x50a500
mov eax, dword [esp + 0x80]
mov esi, dword [eax + 0x14]
mov eax, dword [eax]
test ebx, ebx
je 0x50a514
cmp ebx, eax
je 0x50a51d
call fcn.006111cc
mov ecx, dword [esp + 0x24]
cmp edi, esi
je 0x50a746
test ecx, ecx
jne 0x50a734
call fcn.006111cc
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x50a53e
call fcn.006111cc
test ebx, ebx
jne 0x50a73b
call fcn.006111cc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x50a557
call fcn.006111cc
mov ecx, dword [ebp + 0x28]
sub ecx, dword [ebp + 0x24]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], 0
je 0x50a714
mov dword [esp + 0x20], 0
cmp dword [esp + 0x1c], eax
jb 0x50a591
call fcn.006111cc
mov esi, dword [ebp + 0x24]
add esi, dword [esp + 0x20]
mov dword [esp + 0x18], 1
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esi]
mov dword [esp + 0x44], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x48], edx
mov edx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov dword [esi + 0x14], edx
fild dword [esp + 0x18]
xor ebx, ebx
fdiv qword [0x673268]
fstp dword [esp + 0x14]
fld dword [esp + 0x70]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x74]
fmul st(1)
fstp dword [esp + 0x50]
fmul dword [esp + 0x78]
fstp dword [esp + 0x54]
fld dword [esp + 0x34]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
fld dword [esp + 0x38]
mov dword [esi], eax
fadd dword [esp + 0x50]
mov eax, 0x92492493
fstp dword [esp + 0x5c]
mov ecx, dword [esp + 0x5c]
fld dword [esp + 0x3c]
mov dword [esi + 4], ecx
fadd dword [esp + 0x54]
fstp dword [esp + 0x60]
mov edx, dword [esp + 0x60]
mov dword [esi + 8], edx
mov ecx, dword [edi + 0x28]
sub ecx, dword [edi + 0x24]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x50a6a6
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x50a666
call fcn.006111cc
mov ebp, dword [edi + 0x24]
add ebp, dword [esp + 0x14]
push ebp
push esi
call fcn.00511be0
add esp, 8
test al, al
jne 0x50a775
mov ecx, dword [edi + 0x28]
sub ecx, dword [edi + 0x24]
add dword [esp + 0x14], 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x50a666
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0x32
mov dword [esp + 0x18], eax
jle 0x50a5d2
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x14], edx
mov edx, dword [esp + 0x3c]
add dword [esp + 0x20], 0x1c
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov ecx, dword [ebp + 0x28]
sub ecx, dword [ebp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x1c], esi
cmp esi, eax
jb 0x50a586
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x50a742
call fcn.006111cc
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x50a729
call fcn.006111cc
mov edi, dword [edi]
mov ecx, dword [esp + 0x24]
jmp 0x50a500
mov eax, dword [ecx]
jmp 0x50a534
mov eax, dword [ebx]
jmp 0x50a54d
mov eax, dword [ebx]
jmp 0x50a71f
test ecx, ecx
jne 0x50a771
call fcn.006111cc
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x50a763
call fcn.006111cc
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp]
mov dword [esp + 0x28], eax
mov ebp, eax
jmp 0x50a4d6
mov eax, dword [ecx]
jmp 0x50a755
fld dword [esi + 4]
fsub dword [ebp + 4]
fld dword [esi]
fsub dword [ebp]
fld dword [esi + 0x10]
fsub dword [ebp + 4]
fld dword [esi + 0xc]
fsub dword [ebp]
fld st(2)
fmulp st(3)
fld st(3)
fmulp st(4)
fxch st(2)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fcompp
fnstsw ax
test ah, 1
jne 0x50a7d4
mov eax, 1
jmp 0x50a7d6
xor eax, eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x10], edx
mov edx, dword [esp + 0x34]
pop ebp
mov dword [esi], edx
mov edx, dword [esp + 0x38]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x34]
pop ebx
mov dword [esi + 4], ecx
pop edi
mov dword [esi + 8], edx
pop esi
add esp, 0x6c
ret 4
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x6c
ret 4