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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
push edi
push 2
mov esi, ecx
mov ecx, dword [0x67ace0]
push 0x14
call fcn.004eb0d0
fild dword [ebp + 0x14]
mov ecx, dword [0x67ace0]
push 0
fstp dword [esp + 0x48]
push 1
fild dword [ebp + 0xc]
fld qword [0x5fe2b8]
fmul st(1), st(0)
fxch st(1)
fsubr dword [esp + 0x4c]
fstp dword [esp + 0x54]
fild dword [ebp + 0x18]
fstp dword [esp + 0x48]
fild dword [ebp + 0x10]
fmulp st(1)
fsubr dword [esp + 0x48]
fstp dword [esp + 0x50]
call fcn.004ea9d0
mov ecx, dword [0x67ace0]
push 0x142
call fcn.004eaa60
mov ecx, dword [0x67ace0]
push 2
push 2
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 0
push 3
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 4
push 1
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 2
push 5
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 0
push 6
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 4
push 4
push 0
call fcn.004eaa10
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
mov dword [esp + 0x20], 0
sar eax, 2
test eax, eax
jbe 0x50d078
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov ebx, dword [esp + 0x20]
sar ecx, 2
cmp ebx, ecx
jb 0x50c904
call fcn.005a01dd
mov edx, dword [esi + 0x10]
fld dword [esp + 0x44]
mov ecx, dword [esi + 0x14]
lea edi, [ebx*4]
mov eax, dword [edi + edx]
fld dword [eax + 0x20]
sub ecx, edx
fadd qword [0x5fe238]
sar ecx, 2
fmul dword [esp + 0x4c]
fsubp st(1)
fstp dword [esp + 0x1c]
cmp ebx, ecx
jb 0x50c939
call fcn.005a01dd
mov edx, dword [esi + 0x10]
fld dword [esp + 0x40]
mov eax, dword [edi + edx]
fld dword [eax + 0x20]
mov ecx, dword [esi + 0x14]
fadd qword [0x5fe238]
sub ecx, edx
sar ecx, 2
fmul dword [esp + 0x48]
fsubp st(1)
fstp dword [esp + 0x24]
cmp ebx, ecx
jb 0x50c967
call fcn.005a01dd
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov eax, dword [edi + edx]
fld dword [eax + 0x24]
sub ecx, edx
sar ecx, 2
fstp dword [esp + 0xc]
cmp ebx, ecx
jb 0x50c985
call fcn.005a01dd
mov edx, dword [esi + 0x14]
sub edx, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
add eax, edi
sar edx, 2
mov dword [esp + 0x2c], eax
cmp ebx, edx
jb 0x50c9a0
call fcn.005a01dd
mov eax, dword [esi + 0x10]
add eax, edi
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x14]
sub eax, dword [esi + 0x10]
sar eax, 2
cmp ebx, eax
jb 0x50c9bb
call fcn.005a01dd
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x10]
sar ecx, 2
add ebx, edi
cmp dword [esp + 0x20], ecx
jb 0x50c9d4
call fcn.005a01dd
mov edx, dword [esi + 0x10]
mov eax, dword [edi + edx]
mov ecx, dword [eax + 0x28]
fld dword [ecx]
mov edx, dword [ebx]
fld dword [ebp + 8]
mov eax, dword [edx + 0x28]
mov ecx, dword [esp + 0x28]
fld st(0)
mov edx, dword [ecx]
fmulp st(2)
mov ecx, dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x30]
fld dword [eax + 4]
mov eax, dword [edx + 0x28]
mov edx, dword [ecx]
fmul st(1)
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
fstp dword [esp + 0x34]
fld dword [eax + 8]
mov eax, dword [edx + 0x28]
fmul st(1)
sar ecx, 2
fstp dword [esp + 0x38]
fmul dword [eax + 0xc]
fstp dword [esp + 0x3c]
cmp dword [esp + 0x20], ecx
jb 0x50ca30
call fcn.005a01dd
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + edi]
add eax, edi
mov edi, dword [0x67ace0]
call fcn.004f8940
mov ecx, eax
call fcn.00429920
push eax
push 0
mov ecx, edi
call fcn.004ea9d0
fldz
fst dword [esp + 0x60]
fst dword [esp + 0x64]
fld dword [esp + 0x1c]
fld dword [esp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fsub st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x54]
fxch st(1)
fst dword [esp + 0x58]
fld1
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x50cab2
fld qword [0x5fe2c0]
mov edi, 0xff
fld qword [0x5fe2b8]
jmp 0x50cb03
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x50cacb
fld qword [0x5fe2c0]
xor edi, edi
fld qword [0x5fe2b8]
jmp 0x50cb03
fld st(0)
fld qword [0x5fe2c0]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(1), st(0)
fld qword [0x5fe2b8]
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(2), st(0)
fldcw word [esp + 0x10]
fxch st(2)
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(1)
fld dword [esp + 0x34]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x50cb19
fstp st(0)
mov edx, 0xff
jmp 0x50cb4e
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x50cb28
fstp st(0)
xor edx, edx
jmp 0x50cb4e
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x38]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x50cb64
fstp st(0)
mov ecx, 0xff
jmp 0x50cb99
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x50cb73
fstp st(0)
xor ecx, ecx
jmp 0x50cb99
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x3c]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x50cbaf
fstp st(0)
mov eax, 0xff
jmp 0x50cbe4
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x50cbbe
fstp st(0)
xor eax, eax
jmp 0x50cbe4
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
shl eax, 8
fst dword [esp + 0x78]
or eax, edi
fxch st(3)
shl eax, 8
fst dword [esp + 0x7c]
or eax, edx
fld dword [esp + 0x2c]
shl eax, 8
fstp dword [esp + 0x68]
or eax, ecx
fld st(5)
mov dword [esp + 0x5c], eax
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x6c]
fxch st(3)
fst dword [esp + 0x70]
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 1
jne 0x50cc35
mov edi, 0xff
jmp 0x50cc6a
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x50cc42
xor edi, edi
jmp 0x50cc6a
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x34]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x50cc80
fstp st(0)
mov edx, 0xff
jmp 0x50ccb5
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x50cc8f
fstp st(0)
xor edx, edx
jmp 0x50ccb5
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x38]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x50cccb
fstp st(0)
mov ecx, 0xff
jmp 0x50cd00
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x50ccda
fstp st(0)
xor ecx, ecx
jmp 0x50cd00
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x3c]
fcom st(4)
fnstsw ax
test ah, 1
jne 0x50cd14
mov eax, 0xff
jmp 0x50cd49
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x50cd21
xor eax, eax
jmp 0x50cd49
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(6)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
shl eax, 8
fst dword [esp + 0x90]
or eax, edi
fxch st(3)
shl eax, 8
fst dword [esp + 0x94]
or eax, edx
fld dword [esp + 0x1c]
shl eax, 8
faddp st(7)
or eax, ecx
fxch st(6)
mov dword [esp + 0x74], eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x80]
fld dword [esp + 0x28]
fstp dword [esp + 0x84]
fxch st(5)
fst dword [esp + 0x88]
fxch st(5)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x50cdab
mov edi, 0xff
jmp 0x50cde0
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x50cdb8
xor edi, edi
jmp 0x50cde0
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x34]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x50cdf6
fstp st(0)
mov edx, 0xff
jmp 0x50ce2b
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x50ce05
fstp st(0)
xor edx, edx
jmp 0x50ce2b
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x38]
fcom st(3)
fnstsw ax
test ah, 1
jne 0x50ce3f
mov ecx, 0xff
jmp 0x50ce74
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x50ce4c
xor ecx, ecx
jmp 0x50ce74
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(6)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
fcom st(3)
fnstsw ax
test ah, 1
jne 0x50ce86
mov eax, 0xff
jmp 0x50cebb
fcom st(6)
fnstsw ax
test ah, 0x41
jp 0x50ce93
xor eax, eax
jmp 0x50cebb
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fld st(0)
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(6)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(3)
shl eax, 8
fst dword [esp + 0xa8]
or eax, edi
fst dword [esp + 0xac]
shl eax, 8
fld dword [esp + 0x1c]
or eax, edx
fstp dword [esp + 0x98]
shl eax, 8
fld dword [esp + 0x24]
or eax, ecx
fstp dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
fxch st(6)
fst dword [esp + 0xa0]
fxch st(1)
fcom st(6)
fnstsw ax
test ah, 1
jne 0x50cf14
fstp st(0)
mov edi, 0xff
jmp 0x50cf49
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x50cf23
fstp st(0)
xor edi, edi
jmp 0x50cf49
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edi, dword [esp + 0x10]
fldcw word [esp + 0xc]
fld dword [esp + 0x34]
fcom st(6)
fnstsw ax
test ah, 1
jne 0x50cf5f
fstp st(0)
mov edx, 0xff
jmp 0x50cf94
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x50cf6e
fstp st(0)
xor edx, edx
jmp 0x50cf94
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(5)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(3)
fcom st(5)
fnstsw ax
test ah, 1
jne 0x50cfa8
fstp st(0)
mov ecx, 0xff
jmp 0x50cfdd
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x50cfb7
fstp st(0)
xor ecx, ecx
jmp 0x50cfdd
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x10], eax
fadd st(4)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fldcw word [esp + 0xc]
fxch st(4)
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x50cff7
fstp st(1)
mov eax, 0xff
fstp st(2)
fstp st(0)
fstp st(0)
jmp 0x50d032
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x50d00c
fstp st(2)
xor eax, eax
fstp st(0)
fstp st(0)
jmp 0x50d032
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
fmulp st(2)
or eax, 0xc00
mov dword [esp + 0x10], eax
faddp st(1)
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
fldcw word [esp + 0xc]
shl eax, 8
or eax, edi
shl eax, 8
or eax, edx
push 0x18
lea edx, [esp + 0x54]
push edx
shl eax, 8
or eax, ecx
mov ecx, dword [0x67ace0]
push 2
push 5
mov dword [esp + 0xb4], eax
call fcn.004eac70
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
mov eax, dword [esp + 0x20]
inc eax
sar ecx, 2
mov dword [esp + 0x20], eax
cmp eax, ecx
jb 0x50c8ee
mov ecx, dword [0x67ace0]
push 0x14
call fcn.004eb0f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14