Function at 0x42e256
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45fa32
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push esi
mov eax, dword [0x484084]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
and dword [esp + 0xc], 0
and dword [esp + 0x38], 0
fld qword [0x47ed08]
fstp qword [esp + 0x14]
mov eax, dword [ebp + 8]
fld qword [esp + 0x14]
fadd qword [0x47ed00]
fadd qword [esp + 0x14]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fsub qword [0x47ed50]
fadd qword [esp + 0x14]
fadd qword [esp + 0x14]
fadd qword [esp + 0x14]
fadd qword [esp + 0x14]
fsub qword [0x47ece8]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fsub qword [0x47ed70]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fadd qword [esp + 0x14]
fld qword [esp + 0x14]
fdiv qword [0x47ecf8]
faddp st(1)
fld qword [esp + 0x14]
fmul qword [0x47ed38]
faddp st(1)
fadd qword [esp + 0x14]
fld qword [esp + 0x14]
fmul qword [0x47ede8]
faddp st(1)
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fsub qword [0x47ed68]
fadd qword [esp + 0x14]
fld qword [esp + 0x14]
fmul qword [0x47ecf0]
fsubp st(1)
fsub qword [esp + 0x14]
fld qword [esp + 0x14]
fmul qword [esp + 0x14]
faddp st(1)
fsub qword [esp + 0x14]
fld qword [esp + 0x14]
mov eax, dword [eax + 0x70]
fmul qword [0x47ed78]
faddp st(1)
fstp qword [esp + 0x14]
test eax, eax
je 0x42e35d
mov ecx, dword [eax]
lea edx, [esp + 0xc]
push edx
push eax
call dword [ecx + 0x3c]
mov eax, dword [esp + 0xc]
and dword [esp + 0x10], 0
test eax, eax
je 0x42e379
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push 0x47e750
push eax
call dword [ecx]
mov byte [esp + 0x38], 1
fld qword [0x47ece8]
fstp qword [esp + 0x1c]
fld qword [0x47ece0]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fsub qword [esp + 0x14]
fld qword [esp + 0x14]
fld qword [0x47ecd8]
fdiv st(1), st(0)
fxch st(2)
faddp st(1)
fstp qword [esp + 0x1c]
fld qword [esp + 0x14]
fmul qword [esp + 0x1c]
fsub qword [0x47ecd0]
fld qword [esp + 0x14]
fmulp st(2)
fsubrp st(1)
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x14]
fadd qword [esp + 0x14]
fsub qword [0x47ecc8]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
mov eax, dword [esp + 0x10]
fmul qword [0x47ecc0]
fstp qword [esp + 0x14]
test eax, eax
jne 0x42e41a
or dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0xc]
test eax, eax
je 0x42e413
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x42e49b
push dword [ebp + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
fld qword [0x47ed18]
fstp qword [esp + 0x14]
mov ecx, eax
fld qword [0x47ede8]
fstp qword [esp + 0x1c]
fld qword [0x47ed10]
fstp qword [esp + 0x1c]
fld qword [0x47ed38]
fstp qword [esp + 0x24]
fld qword [esp + 0x1c]
fld qword [esp + 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42e46a
fld qword [esp + 0x1c]
fadd qword [esp + 0x14]
fstp qword [esp + 0x1c]
xor eax, eax
test ecx, ecx
sete al
mov byte [esp + 0x38], 0
mov esi, eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42e486
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0xc]
test eax, eax
je 0x42e499
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 8