Function at 0x41a250
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d1ad6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x254
push esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x260], 0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x1c]
push esi
lea edx, [esp + 0x44]
push ecx
push edx
mov byte [esp + 0x26c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xbff00000
call fcn.00405980
add esp, 0xc
lea ecx, [esp + 0x28]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.004051b0
fld dword [esp + 0xc]
fld dword [esp + 0x10]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld dword [esp + 8]
fmul dword [esp + 8]
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fld st(0)
fabs
fcomp qword [0x4e00d0]
fnstsw ax
test ah, 0x41
je 0x41a338
fstp st(0)
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
jmp 0x41a358
fld dword [esp + 8]
fdiv st(1)
fstp dword [esp + 8]
fld dword [esp + 0xc]
fdiv st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0x10]
fdiv st(1)
fstp dword [esp + 0x10]
fstp st(0)
fld dword [esp + 8]
call sub.MSVCRT.dll__CIasin
fmul qword [0x4e00c8]
fdiv qword [0x4e1428]
fstp qword [esp + 0x34]
fld dword [esp + 0x10]
fabs
fcomp qword [0x4e00c0]
fld dword [esp + 0xc]
fnstsw ax
test ah, 0x41
jne 0x41a3a0
fld dword [esp + 0x10]
fpatan
fmul qword [0x4e00b8]
fdiv qword [0x4e1428]
fstp qword [esp + 0x14]
jmp 0x41a3e8
fcomp qword [0x4e00c0]
fnstsw ax
test ah, 0x41
jne 0x41a3bf
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x40568000
jmp 0x41a3e8
fld dword [esp + 0xc]
fcomp qword [0x4e00c0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0xc0568000
fnstsw ax
test ah, 1
jne 0x41a3e8
mov dword [esp + 0x18], 0
mov ecx, dword [ebp + 8]
mov al, byte [ecx]
cmp al, 0x41
je 0x41a4b6
cmp al, 0x61
je 0x41a4b6
lea edx, [esp + 0x58]
push 4
push edx
call fcn.0041a770
fld dword [esp + 0x30]
lea eax, [esp + 0x160]
lea ecx, [esp + 0x1c]
fstp qword [esp + 0xc0]
fld dword [esp + 0x34]
push eax
lea edx, [esp + 0x13]
fstp qword [esp + 0xcc]
fld dword [esp + 0x3c]
push ecx
push edx
fstp qword [esp + 0xdc]
mov byte [esp + 0x1b], 0x58
call fcn.00405a50
lea eax, [esp + 0xec]
lea ecx, [esp + 0x48]
push eax
lea edx, [esp + 0x1e]
push ecx
push edx
mov byte [esp + 0x26], 0x59
call fcn.00405a50
lea eax, [esp + 0x1f8]
lea ecx, [esp + 0x178]
push eax
push 4
push 4
lea edx, [esp + 0x84]
push ecx
push edx
call fcn.00405b20
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x10c]
push eax
push 4
push 4
lea edx, [esp + 0x218]
push ecx
push edx
call fcn.00405bd0
add esp, 0x48
mov ecx, dword [esp + 0x258]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x58]
push 4
push eax
call fcn.0041a770
fld dword [esi]
lea ecx, [esp + 0x160]
push 4
fstp qword [esp + 0xc4]
fld dword [esi + 4]
push ecx
fstp qword [esp + 0xd0]
fld dword [esi + 8]
fstp qword [esp + 0xd8]
fld qword [esp + 0x24]
fchs
fstp qword [esp + 0x2c]
call fcn.0041a770
fld qword [0x4e1428]
fmul qword [esp + 0x2c]
lea edx, [esp + 0xe8]
push 4
push edx
fmul qword [0x4e00a0]
fld st(0)
fcos
fst qword [esp + 0x198]
fstp qword [esp + 0x1c0]
fsin
fst qword [esp + 0x1a0]
fchs
fstp qword [esp + 0x1b8]
fld qword [esp + 0x4c]
fchs
fstp qword [esp + 0x34]
call fcn.0041a770
fld qword [0x4e1428]
fmul qword [esp + 0x34]
lea eax, [esp + 0x1f0]
lea ecx, [esp + 0x170]
push eax
push 4
fmul qword [0x4e00a0]
push 4
lea edx, [esp + 0xfc]
push ecx
push edx
fld st(0)
fcos
fst qword [esp + 0x104]
fstp qword [esp + 0x154]
fsin
fchs
fst qword [esp + 0x114]
fchs
fstp qword [esp + 0x144]
call fcn.00405b20
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x84]
push eax
push 4
push 4
lea edx, [esp + 0x210]
push ecx
push edx
call fcn.00405bd0
mov ecx, dword [esp + 0x298]
add esp, 0x40
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret