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

Disassembly:
sub esp, 0x58
fld qword [0x8970e0]
push ebx
fabs
push ebp
fcomp dword [0x896abc]
push esi
push edi
mov esi, ecx
fnstsw ax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0x3f800000
test ah, 5
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x420c0000
jp 0x4bd696
mov dword [esp + 0x58], 0x420c0000
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
mov dword [esp + 0x60], 0
call dword [eax + 0x4c]
fstp dword [esp + 0x5c]
lea ecx, [esp + 0x4c]
call fcn.004b0720
fld dword [esi + 0x90]
fadd dword [0x890bf8]
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0xd8]
mov eax, dword [edx + 0x78]
fabs
mov dword [esp + 0x14], eax
fstp dword [esp + 0x18]
mov byte [esp + 0x13], 1
fld dword [esp + 0x14]
fsub dword [esp + 0x18]
fdiv dword [esp + 0x14]
fsubr dword [0x89096c]
fst dword [esi + 0xd0]
fst dword [esp + 0x14]
fcomp dword [0x890968]
fnstsw ax
test ah, 0x41
jne 0x4bda38
fld dword [esp + 0x14]
fld dword [0x89096c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x4bd724
fstp st(0)
fld dword [0x89096c]
fst dword [esi + 0xd0]
mov eax, dword [ecx + 0xd8]
fld dword [eax + 0x64]
fsub dword [esp + 0x18]
fdiv dword [eax + 0x64]
fsubr dword [0x89096c]
fst dword [esi + 0xd4]
fst dword [esp + 0x14]
fcomp dword [0x890968]
fnstsw ax
test ah, 0x41
jne 0x4bda43
fld dword [esp + 0x14]
fld dword [0x89096c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x4bd778
fstp st(0)
fld dword [0x89096c]
fst dword [esi + 0xd4]
mov edx, dword [ecx + 0x5c]
mov al, byte [edx + 0xb4]
test al, al
jne case.0x4bda6f.1
mov eax, dword [esi + 0x14]
mov edx, dword [eax + 0x34]
mov eax, dword [edx + 0x1ec]
test eax, eax
jne 0x4bda58
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 0x38]
cmp eax, 3
je 0x4bda58
test eax, eax
jne 0x4bda58
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x84]
test eax, eax
je 0x4bda4e
cmp eax, 1
jne case.0x4bda6f.1
mov byte [esp + 0x13], 0
mov eax, dword [ecx + 0xd8]
fld dword [eax + 0x70]
mov ecx, dword [esi + 0xb8]
fsub dword [eax + 0x68]
lea edi, [esi + 0x44]
push ecx
mov ecx, edi
fmul st(2)
fadd dword [eax + 0x68]
fstp dword [esp + 0x40]
fld dword [eax + 0x90]
fsub dword [eax + 0x7c]
fmul st(2)
fadd dword [eax + 0x7c]
fstp dword [esp + 0x44]
fld dword [eax + 0x88]
fsub dword [eax + 0x8c]
fmul st(1)
fadd dword [eax + 0x8c]
fstp dword [esp + 0x20]
fld dword [eax + 0x80]
fsub dword [eax + 0x48]
fmul st(1)
fadd dword [eax + 0x48]
fstp dword [esp + 0x28]
fstp st(0)
fstp st(0)
call fcn.00653790
fsubr dword [0x89096c]
mov edx, dword [esi + 0xb8]
push edx
mov ecx, edi
fstp dword [esp + 0x1c]
call fcn.00653790
fmul dword [esp + 0x1c]
mov eax, dword [esi + 0xb8]
push eax
fadd dword [esp + 0x1c]
mov ecx, edi
fstp dword [esp + 0x20]
call fcn.00653790
mov eax, dword [esi + 0x18]
fmul dword [esp + 0x24]
mov edi, dword [eax + 0xd8]
push 0
lea ecx, [eax + 0xd0]
fstp dword [esp + 0x28]
push 0x38afe02e
call fcn.00454810
test eax, eax
jne 0x4bd89a
push 4
call fcn.006269b0
add esp, 4
fld dword [edi + 0x6c]
mov ecx, dword [esi + 0x18]
fsub dword [edi + 0x6c]
push 0
add ecx, 0xd0
push 0xe3836473
fmul dword [esi + 0xd4]
fadd dword [eax]
fstp dword [esp + 0x28]
call fcn.00454810
test eax, eax
jne 0x4bd8cf
push 4
call fcn.006269b0
add esp, 4
mov ecx, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x134]
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4bd8e6
mov dword [esp + 0x28], ecx
fld dword [esp + 0x3c]
fsub dword [esp + 0x1c]
fmul dword [esp + 0x60]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x24]
fchs
fmul dword [esp + 0x60]
fadd dword [esp + 0x24]
fstp dword [esp + 0x34]
fld dword [esp + 0x40]
fsub dword [esp + 0x20]
fmul dword [esp + 0x60]
fadd dword [esp + 0x20]
fstp dword [esp + 0x30]
fild dword [esp + 0x28]
fld dword [0x8970e8]
fsub st(1)
fmul dword [esp + 0x60]
fadd st(1)
call fcn.007c4b80
fstp st(0)
mov ecx, eax
mov al, byte [esp + 0x13]
test al, al
mov byte [esi + 0x80], 0
lea ebx, [esi + 0xc0]
je 0x4bda89
mov edx, dword [ebx]
mov dword [esp + 0x18], edx
fld dword [esp + 0x18]
fadd dword [0x895074]
fld dword [esp + 0x2c]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x4bd990
fstp st(0)
fld dword [esp + 0x18]
fsub dword [0x895074]
fld dword [esp + 0x2c]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x4bd990
fstp st(0)
fld dword [esp + 0x2c]
mov eax, dword [esi + 0xc4]
fstp dword [ebx]
mov dword [esp + 0x18], eax
fld dword [esp + 0x18]
fadd dword [0x895074]
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x4bd9d2
fstp st(0)
fld dword [esp + 0x18]
fsub dword [0x895074]
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x4bd9d2
fstp st(0)
fld dword [esp + 0x30]
mov edx, dword [esi + 0xc8]
fstp dword [esi + 0xc4]
mov dword [esp + 0x18], edx
fld dword [esp + 0x18]
fadd dword [0x895074]
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x4bda18
fstp st(0)
fld dword [esp + 0x18]
fsub dword [0x895074]
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x4bda18
fstp st(0)
fld dword [esp + 0x34]
mov eax, dword [esi + 0xcc]
fstp dword [esi + 0xc8]
lea edx, [eax + 0x1770]
cmp ecx, edx
jle 0x4bda76
mov ecx, edx
mov dword [esi + 0xcc], ecx
jmp 0x4bdaa2
fld dword [0x890968]
jmp 0x4bd724
fld dword [0x890968]
jmp 0x4bd778
mov byte [esp + 0x13], 1
jmp case.0x4bda6f.1
mov edx, dword [esi + 0x2c]
mov eax, dword [edx + 0x38]
dec eax
cmp eax, 6
ja case.0x4bda6f.1
movzx eax, byte [eax + 0x4bdc24]
jmp dword [eax*4 + 0x4bdc1c]
add eax, 0xffffe890
cmp ecx, eax
jge 0x4bda81
mov ecx, eax
mov dword [esi + 0xcc], ecx
jmp 0x4bdaa2
mov edx, dword [esp + 0x2c]
mov eax, ebx
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0xcc]
push 1
push eax
push 7
call fcn.004e42a0
mov edx, dword [esi + 0xcc]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
mov eax, dword [esi + 0x28]
add esp, 0xc
mov dword [esp + 0x18], edx
fstp dword [esi + 0x7c]
mov ecx, dword [eax + 0x134]
cmp edx, ecx
jl 0x4bdadb
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fstp dword [esi + 0x7c]
fild dword [eax + 0xd0]
mov eax, dword [esi + 0x18]
mov edi, dword [eax + 0xd8]
mov ecx, dword [edi + 0x44]
test ecx, ecx
fmul dword [0x896ab8]
fild dword [edi + 0x44]
jge 0x4bdb07
fadd dword [0x891214]
mov edx, dword [edi + 0x84]
fild dword [edi + 0x84]
test edx, edx
jge 0x4bdb1d
fadd dword [0x891214]
fsub st(1)
fmul dword [esp + 0x60]
fadd st(1)
call fcn.007c4b80
fstp st(0)
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul st(1)
fmul dword [ebx]
call fcn.007c4b80
fild dword [edi + 0x74]
mov ebp, eax
mov eax, dword [edi + 0x74]
test eax, eax
jge 0x4bdb4f
fadd dword [0x891214]
fmul dword [esi + 0xc4]
fmul st(1)
call fcn.007c4b80
fild dword [edi + 0x5c]
mov ecx, dword [edi + 0x5c]
test ecx, ecx
mov ebx, eax
jge 0x4bdb6e
fadd dword [0x891214]
fmul dword [esi + 0xc8]
fmul st(1)
call fcn.007c4b80
mov cl, byte [esp + 0x13]
test cl, cl
je 0x4bdbde
mov ecx, dword [esi + 0x38]
lea edx, [ecx + 0x1b58]
cmp ebp, edx
jle 0x4bdb94
mov ebp, edx
jmp 0x4bdba0
add ecx, 0xffffe4a8
cmp ebp, ecx
jge 0x4bdba0
mov ebp, ecx
mov ecx, dword [esi + 0x3c]
lea edx, [ecx + 0x1b58]
cmp ebx, edx
mov dword [esi + 0x38], ebp
jg 0x4bdbbc
lea edx, [ecx - 0x1b58]
cmp ebx, edx
jl 0x4bdbbc
mov edx, ebx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x3c], edx
lea edx, [ecx + 0x1b58]
cmp eax, edx
jle 0x4bdbd0
mov eax, edx
jmp 0x4bdbe4
add ecx, 0xffffe4a8
cmp eax, ecx
jge 0x4bdbe4
mov eax, ecx
jmp 0x4bdbe4
mov dword [esi + 0x38], ebp
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x18]
mov edx, dword [eax + 0xd8]
mov eax, dword [edx + 0x84]
fild dword [edx + 0x84]
test eax, eax
jge 0x4bdc06
fadd dword [0x891214]
fmul st(1)
call fcn.007c4b80
fstp st(0)
pop edi
mov dword [esi + 0x74], eax
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4