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

Disassembly:
sub esp, 0x5c
mov eax, dword [esp + 0x60]
fldz
mov eax, dword [eax]
fld dword [esp + 0x70]
mov edx, dword [0x52b3ac]
fcom st(1)
push ebx
push ebp
mov ebp, dword [eax + 4]
imul ebp, dword [esp + 0x6c]
add ebp, dword [eax + 0x18]
mov eax, dword [edx]
mov edx, dword [eax + 4]
imul edx, dword [0x52b3b0]
add edx, dword [eax + 0x18]
mov eax, ecx
and eax, 0xf800
mov dword [esp + 0x4c], eax
mov eax, ecx
and eax, 0x7e0
mov dword [esp + 0x50], eax
mov eax, ecx
and eax, 0x1f
push esi
mov dword [esp + 0x58], eax
push edi
xor edi, edi
fnstsw ax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
test ah, 0x41
jnp 0x430dbe
fld dword [esp + 0x84]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jnp 0x430dbe
cmp ecx, edi
je 0x430dbe
mov eax, dword [ebp]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
mov eax, dword [ebp + 4]
mov dword [esp + 0x24], eax
sub eax, dword [ebp + 0xc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x78]
mov dword [esp + 0x34], eax
fild dword [ebp + 8]
fmul st(2)
fdiv dword [esp + 0x1c]
fsubp st(1)
fstp dword [esp + 0x78]
fild dword [esp + 0x24]
fstp dword [esp + 0x20]
fld dword [esp + 0x7c]
fild dword [esp + 0x34]
fmul st(3)
fdiv dword [esp + 0x20]
fsub qword [0x4a6bd0]
fsubp st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fild dword [0x52be08]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x430dbc
fld st(0)
faddp st(3)
fxch st(2)
fst qword [esp + 0x40]
fld qword [0x4a6ba0]
fsub st(1), st(0)
fild dword [0x52be04]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 1
je 0x430dcc
fld dword [esp + 0x78]
fild dword [0x52be18]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x430dca
faddp st(2)
fxch st(1)
fst qword [esp + 0x60]
fsubrp st(1)
fild dword [0x52be3c]
fcompp
fnstsw ax
test ah, 1
je 0x430dd0
sub esp, 8
fstp qword [esp]
call sub.MSVCR90.dll_floor
add esp, 8
call fcn.00499690
mov esi, eax
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
fld dword [esp + 0x7c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x43099d
fild dword [esp + 0x18]
fld st(1)
fsub qword [0x4a6ba0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x430969
inc esi
mov dword [esp + 0x18], esi
fisubr dword [esp + 0x18]
sub esp, 8
fmul dword [esp + 0x28]
fdiv dword [esp + 0x8c]
fmul qword [0x4a6da0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call sub.MSVCR90.dll_floor
add esp, 8
call fcn.00499690
mov edi, eax
jmp 0x43099f
fstp st(0)
mov ebx, dword [0x52be04]
cmp esi, ebx
jge 0x430a07
mov ecx, ebx
sub ecx, esi
imul ecx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
sub esp, 8
fild dword [esp + 0x3c]
fdiv dword [esp + 0x8c]
fmul qword [0x4a6da0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call sub.MSVCR90.dll_floor
fnstcw word [esp + 0x1c]
add esp, 8
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], ebx
mov esi, ebx
fldcw word [esp + 0x34]
fistp qword [esp + 0x48]
mov edx, dword [esp + 0x48]
add edi, edx
fldcw word [esp + 0x14]
fld qword [esp + 0x40]
push ecx
fsub qword [0x4a6bd0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041c740
mov ecx, dword [0x52be08]
add esp, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
jle 0x430a39
mov dword [esp + 0x20], ecx
mov eax, ecx
sub eax, esi
inc eax
test eax, eax
jle 0x430dd2
fld dword [esp + 0x78]
sub esp, 8
fstp qword [esp]
call sub.MSVCR90.dll_floor
add esp, 8
call fcn.00499690
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fld dword [esp + 0x78]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x430ac7
fild dword [esp + 0x14]
fld st(1)
fsub qword [0x4a6ba0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x430a8b
inc dword [esp + 0x14]
fisubr dword [esp + 0x14]
sub esp, 8
fmul dword [esp + 0x24]
fdiv dword [esp + 0x88]
fmul qword [0x4a6da0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call sub.MSVCR90.dll_floor
add esp, 8
call fcn.00499690
fld dword [esp + 0x78]
mov ebx, eax
mov dword [esp + 0x1c], ebx
jmp 0x430ad3
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x1c]
fild dword [0x52be3c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x430b4a
mov esi, dword [0x52be3c]
mov eax, esi
sub eax, dword [esp + 0x14]
sub esp, 8
imul eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fdiv dword [esp + 0x88]
fmul qword [0x4a6da0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call sub.MSVCR90.dll_floor
fnstcw word [esp + 0x1c]
add esp, 8
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x34], eax
fldcw word [esp + 0x34]
fistp qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
add ebx, ecx
mov dword [esp + 0x1c], ebx
fldcw word [esp + 0x14]
mov dword [esp + 0x14], esi
fld qword [esp + 0x60]
push ecx
fsub qword [0x4a6bd0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041c740
mov esi, eax
mov eax, dword [0x52be18]
add esp, 4
cmp esi, eax
jle 0x430b75
mov esi, eax
mov eax, dword [esp + 0x28]
shl eax, 0x10
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fdiv dword [esp + 0x80]
call fcn.00499690
mov edx, dword [esp + 0x24]
shl edx, 0x10
mov dword [esp + 0x34], edx
fild dword [esp + 0x34]
mov dword [esp + 0x80], eax
fdiv dword [esp + 0x84]
call fcn.00499690
mov edx, eax
mov dword [esp + 0x34], eax
test ebx, ebx
jge 0x430bd9
lea esp, [esp]
cmp dword [esp + 0x14], esi
jg 0x430bd5
add ebx, dword [esp + 0x80]
inc dword [esp + 0x14]
test ebx, ebx
jl 0x430bc0
mov dword [esp + 0x1c], ebx
mov eax, ebx
sar eax, 0x10
test eax, eax
je 0x430bf0
and ebx, 0xffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], ebx
test edi, edi
jge 0x430c0a
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x18], eax
jg 0x430c0e
inc dword [esp + 0x18]
add edi, edx
test edi, edi
jl 0x430bf4
jmp 0x430c0e
mov eax, dword [esp + 0x20]
mov ecx, edi
sar ecx, 0x10
test ecx, ecx
je 0x430c21
mov dword [esp + 0x2c], ecx
and edi, 0xffff
sub esi, dword [esp + 0x14]
sub eax, dword [esp + 0x18]
inc esi
mov ecx, esi
inc eax
mov dword [esp + 0x48], ecx
mov esi, eax
test ecx, ecx
jle 0x430dd2
test esi, esi
jle 0x430dd2
shl dword [esp + 0x14], 1
dec ecx
imul ecx, dword [esp + 0x80]
add ecx, ebx
sar ecx, 0x10
add ecx, dword [esp + 0x30]
mov dword [esp + 0x28], edi
cmp ecx, dword [ebp]
jl 0x430c69
dec dword [esp + 0x80]
lea eax, [esi - 1]
imul eax, edx
add eax, edi
sar eax, 0x10
add eax, dword [esp + 0x2c]
cmp eax, dword [ebp + 4]
jl 0x430c82
dec edx
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
call fcn.00417890
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test edi, edi
je 0x430dd2
mov edx, dword [0x52b3b0]
mov eax, dword [0x52b3ac]
push edx
call fcn.00417890
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x14]
add esp, 4
test ecx, ecx
jne 0x430cd2
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.004177d0
add esp, 4
jmp 0x430cdd
mov ebx, ecx
call fcn.00413ac0
mov ebx, dword [esp + 0x1c]
test esi, esi
jle 0x430dd2
mov edx, dword [esp + 0x18]
lea eax, [edx*4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], esi
jmp 0x430d0c
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [ebp + 0x2c]
mov ebp, dword [esp + 0x48]
sar ecx, 0x10
sub edx, ecx
sub edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + edx*4 - 4]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax]
add eax, dword [esp + 0x40]
add edx, edi
add edx, dword [esp + 0x30]
add eax, dword [esp + 0x14]
mov edi, ebx
cmp byte [edx], 0
je 0x430d80
movzx esi, word [eax]
mov ecx, esi
and ecx, 0xf800
sub ecx, dword [esp + 0x54]
jns 0x430d5e
xor ecx, ecx
mov ebx, esi
and ebx, 0x7e0
sub ebx, dword [esp + 0x58]
jns 0x430d6e
xor ebx, ebx
and esi, 0x1f
sub esi, dword [esp + 0x5c]
jns 0x430d79
xor esi, esi
or ecx, ebx
or ecx, esi
mov word [eax], cx
add edi, dword [esp + 0x80]
add eax, 2
mov ecx, edi
sar ecx, 0x10
add edx, ecx
and edi, 0xffff
sub ebp, 1
jne 0x430d46
mov edx, dword [esp + 0x34]
add dword [esp + 0x28], edx
add dword [esp + 0x70], 4
sub dword [esp + 0x74], 1
jne 0x430d00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
fstp st(2)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret