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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esp + 0x10], esi
cmp dword [esi + 0x1c], ebx
je 0x419a03
mov eax, dword [esi + 0x20]
mov dword [esi + 0x1c], eax
mov al, 1
jmp 0x419a05
xor al, al
cmp al, bl
je 0x419daf
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x18]
fmul qword [ebp + 8]
fadd qword [eax + 0x10]
fstp qword [eax + 0x10]
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0x14]
push edx
mov eax, dword [ecx + 0x10]
push eax
call fcn.00433da0
mov eax, dword [esi + 0x1c]
add esp, 8
fstp st(0)
fld qword [eax + 0x38]
fmul qword [ebp + 8]
fadd qword [eax + 0x20]
fstp qword [eax + 0x20]
mov ecx, dword [esi + 0x1c]
fld qword [ecx + 0x20]
fcomp qword [ecx + 0x28]
fnstsw ax
test ah, 1
je 0x419a6a
fld qword [ecx + 0x28]
fadd st(0), st(0)
fsub qword [ecx + 0x20]
fstp qword [ecx + 0x20]
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x38]
fmul qword [0x4a4520]
fstp qword [eax + 0x38]
mov ecx, dword [esi + 0x1c]
fld qword [ecx + 0x20]
fcomp qword [ecx + 0x30]
fnstsw ax
test ah, 0x41
jne 0x419a94
fld qword [ecx + 0x30]
fadd st(0), st(0)
fsub qword [ecx + 0x20]
fstp qword [ecx + 0x20]
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x38]
fmul qword [0x4a4520]
fstp qword [eax + 0x38]
mov eax, dword [esi + 0x1c]
fld qword [eax + 0x10]
fld st(0)
fcos
mov ecx, dword [eax + 8]
cmp ecx, ebx
fxch st(1)
fsin
fxch st(1)
fmul qword [eax + 0x20]
fxch st(1)
fmul qword [eax + 0x20]
fst qword [esp + 0x28]
je 0x419ac9
fld qword [ecx + 0xa0]
faddp st(2)
fadd qword [ecx + 0xa8]
fst qword [esp + 0x28]
mov ecx, dword [eax + 0xa0]
mov dword [eax + 0xb8], ecx
mov edx, dword [eax + 0xa4]
mov dword [eax + 0xbc], edx
mov eax, dword [esi + 0x1c]
fld st(1)
mov ecx, dword [eax + 0xa8]
mov dword [eax + 0xc0], ecx
mov edx, dword [eax + 0xac]
mov dword [eax + 0xc4], edx
mov eax, dword [esi + 0x1c]
fstp qword [eax + 0xa0]
mov ecx, dword [esi + 0x1c]
fstp qword [ecx + 0xa8]
mov eax, dword [esi + 0x1c]
fadd qword [esi + 8]
fstp qword [esp + 0x38]
fld qword [esp + 0x28]
fadd qword [esi + 0x10]
fstp qword [esp + 0x28]
fld qword [eax + 0x78]
fmul qword [ebp + 8]
fadd qword [eax + 0x70]
fstp qword [eax + 0x70]
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + 0x74]
push eax
mov ecx, dword [edx + 0x70]
push ecx
call fcn.00433da0
mov eax, dword [esi + 0x1c]
add esp, 8
fstp st(0)
cmp dword [eax + 0xd0], ebx
jne 0x419b59
fld qword [eax + 0x88]
jmp 0x419b5f
fld qword [eax + 0x90]
fld qword [ebp + 8]
fadd qword [eax + 0xc8]
fstp qword [eax + 0xc8]
mov eax, dword [esi + 0x1c]
fcom qword [eax + 0xc8]
lea ecx, [eax + 0xc8]
fnstsw ax
test ah, 1
je 0x419be1
fld qword [ecx]
fsub st(1)
fstp qword [ecx]
mov ecx, dword [esi + 0x1c]
fld qword [ecx + 0x90]
fcomp qword [0x4a4510]
fnstsw ax
test ah, 0x41
jne 0x419bce
cmp dword [ecx + 0xd0], ebx
fstp st(0)
jne 0x419bbf
mov dword [ecx + 0xd0], 1
mov ecx, dword [esi + 0x1c]
fld qword [ecx + 0x90]
jmp 0x419bce
mov dword [ecx + 0xd0], ebx
mov ecx, dword [esi + 0x1c]
fld qword [ecx + 0x88]
fcom qword [ecx + 0xc8]
add ecx, 0xc8
fnstsw ax
test ah, 1
jne 0x419b84
mov eax, dword [esi + 0x1c]
fstp st(0)
cmp dword [eax + 0xd0], ebx
jne 0x419d87
cmp dword [eax + 0xb0], ebx
jne 0x419c33
cmp dword [eax + 0x98], 1
jne 0x419c39
fld qword [eax + 0xa8]
fld qword [eax + 0xa0]
fsub qword [eax + 0xb8]
fxch st(1)
fsub qword [eax + 0xc0]
fxch st(1)
fdiv qword [ebp + 8]
fxch st(1)
fdiv qword [ebp + 8]
fxch st(1)
fstp qword [esp + 0x20]
fstp qword [esp + 0x18]
jmp 0x419c59
mov dword [eax + 0xb0], ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0x1c]
fld qword [ebp + 8]
fadd qword [eax + 0xd8]
fstp qword [eax + 0xd8]
mov edx, dword [esi + 0x1c]
fld qword [edx + 0xd8]
fcomp qword [edx + 0x40]
lea ecx, [edx + 0xd8]
add edx, 0x40
fnstsw ax
test ah, 0x41
jne 0x419d87
fld qword [ecx]
fsub qword [edx]
fstp qword [ecx]
mov edi, dword [esi + 0x1c]
lea ebx, [edi + 0x48]
call fcn.00493690
cdq
fld qword [ebx]
mov ecx, 0x3e8
mov esi, dword [esi + 0x1c]
idiv ecx
fsub qword [edi + 0x50]
fmul qword [0x4a4508]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fxch st(1)
fmulp st(1)
fadd qword [ebx]
fstp qword [esp + 0x30]
call fcn.00493690
cdq
fld qword [esi + 0x80]
mov ecx, 0x3e8
mov edi, dword [esi + 0x60]
idiv ecx
fld qword [esi + 0x80]
fxch st(1)
fmul qword [0x4a4508]
fxch st(1)
fmul qword [0x4a4528]
fsubr qword [esi + 0x70]
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
mov ebx, dword [esi + 0x5c]
mov esi, dword [esi + 0x58]
push eax
push ecx
mov eax, dword [esp + 0x18]
push edi
push ebx
push esi
mov ecx, dword [eax + 0x18]
mov eax, dword [esp + 0x3c]
sub esp, 8
sub esp, 8
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x50]
fild dword [esp + 0x38]
fxch st(2)
fmulp st(2)
faddp st(1)
fld st(0)
fsin
fxch st(1)
fcos
fxch st(1)
fmul qword [esp + 0x54]
fxch st(1)
fmul qword [esp + 0x54]
fxch st(1)
fadd qword [esp + 0x3c]
fxch st(1)
fadd qword [esp + 0x44]
fxch st(1)
fstp qword [esp + 8]
fstp qword [esp]
push edx
push eax
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
push edx
push eax
call fcn.00424f70
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0x1c]
fld qword [edx + 0xd8]
fcomp qword [edx + 0x40]
lea ecx, [edx + 0xd8]
add edx, 0x40
fnstsw ax
test ah, 0x41
je 0x419c8b
xor ebx, ebx
mov eax, dword [esi + 0x1c]
cmp eax, ebx
je 0x419da5
mov ecx, dword [eax]
cmp ecx, ebx
je 0x419d9b
mov dword [esi + 0x1c], ecx
mov al, 1
jmp 0x419da7
cmp eax, ebx
je 0x419da5
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x1c], ecx
xor al, al
cmp al, bl
jne 0x419a0d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8