Function at 0x403c88
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45b743
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
mov eax, dword [0x47e084]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
and dword [esp + 0x28], 0
and dword [esp + 0x38], 0
mov dword [esp + 0x10], 0x61
mov dword [esp + 0x18], 0x43
mov dword [esp + 0xc], 0x16
mov dword [esp + 0x14], 0x33
mov dword [esp + 0x1c], 0x2e
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x403d58
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, dword [esp + 0xc]
sub ecx, eax
mov eax, dword [esp + 0x1c]
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x14]
push 0x75
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
add ecx, dword [esp + 0x1c]
push 0xffffffffffffffcd
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x18]
pop ecx
sub ecx, eax
add ecx, dword [esp + 0x14]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x28]
push eax
call fcn.00404528
mov eax, dword [esp + 0x28]
test eax, eax
je 0x403d78
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
lea ebx, [eax - 0x1c]
call fcn.00431dfa
fld qword [0x478b40]
fst qword [esp + 0x1c]
fld qword [esp + 0x1c]
fld qword [0x478b28]
fdiv st(1), st(0)
fld qword [0x478a30]
fdiv st(2), st(0)
fld qword [esp + 0x1c]
faddp st(3)
fld qword [esp + 0x1c]
fld qword [0x478b20]
fdiv st(1), st(0)
fld qword [esp + 0x1c]
fmulp st(2)
fxch st(4)
fsubrp st(1)
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fld qword [0x478b18]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fadd qword [esp + 0x1c]
fadd qword [0x478b10]
fsub qword [esp + 0x1c]
fsub qword [0x478b08]
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x478b00]
faddp st(1)
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fadd qword [0x478a60]
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [esp + 0x1c]
faddp st(1)
fsub qword [esp + 0x1c]
fsub qword [0x478af8]
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x478af0]
fsubp st(1)
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fsub qword [0x478ae8]
fld qword [esp + 0x1c]
fmul qword [esp + 0x1c]
faddp st(1)
fstp qword [esp + 0x1c]
fxch st(4)
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fdivrp st(2)
fdivp st(1)
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fdivrp st(2)
fld qword [esp + 0x1c]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmulp st(2)
faddp st(1)
fadd qword [esp + 0x1c]
fadd qword [0x478b10]
fsub qword [esp + 0x1c]
fsub qword [0x478b08]
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x478b00]
faddp st(1)
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fadd qword [0x478a60]
fadd qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [esp + 0x1c]
faddp st(1)
fsub qword [esp + 0x1c]
fsub qword [0x478af8]
fsub qword [esp + 0x1c]
fld qword [esp + 0x1c]
fmul qword [0x478af0]
fsubp st(1)
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fsub qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fadd qword [esp + 0x1c]
fsub qword [0x478ae8]
fld qword [esp + 0x1c]
fmul qword [esp + 0x1c]
mov eax, dword [esp + 0x28]
faddp st(1)
fstp qword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov esp, ebp
pop ebp
ret