Function at 0x4098b4
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4553f7
mov eax, dword fs:[0]
push eax
sub esp, 0x430
mov eax, dword [0x47b084]
xor eax, esp
mov dword [esp + 0x428], eax
push esi
mov eax, dword [0x47b084]
xor eax, esp
push eax
lea eax, [esp + 0x438]
mov dword fs:[0], eax
push 0x4b
pop esi
mov dword [esp + 8], esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add eax, dword [esp + 8]
push 0x28
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x63
sub eax, ecx
add eax, dword [esp + 0xc]
add eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 0x1e]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
imul eax, ecx
pop ecx
sub ecx, eax
mov eax, dword [esp + 8]
sub ecx, eax
add ecx, dword [esp + 8]
push 0x16
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffd2
pop ecx
push 0x400
push 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
imul eax, eax, 0x1a
sub ecx, eax
mov eax, dword [esp + 0x10]
sub ecx, eax
add ecx, dword [esp + 0x10]
lea eax, [esp + 0x34]
add ecx, dword [esp + 0x10]
push eax
add ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
call fcn.00413550
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x63
sub eax, ecx
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx + 0x1e]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul eax, ecx
push 0x28
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
add ecx, dword [esp + 0x14]
push 0x16
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffd2
pop ecx
push 0x28
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
imul eax, eax, 0x1a
sub ecx, eax
mov eax, dword [esp + 0x18]
sub ecx, eax
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
imul eax, eax, 0x63
sub eax, ecx
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx + 0x1e]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
imul eax, ecx
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
add ecx, dword [esp + 0x14]
push 0x16
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffd2
pop ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
imul eax, eax, 0x1a
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
add ecx, dword [esp + 0x14]
lea eax, [ebp + 0xc]
add ecx, dword [esp + 0x14]
push eax
add ecx, dword [esp + 0x18]
lea eax, [esp + 0x3c]
add ecx, dword [esp + 0x18]
push dword [ebp + 8]
mov dword [esp + 0x1c], ecx
push 0x3ff
push eax
call fcn.00413dcb
fld qword [0x475a00]
fstp qword [esp + 0x30]
add esp, 0x1c
fld qword [0x4759f8]
fst qword [esp + 0xc]
fld qword [esp + 0xc]
fmul qword [esp + 0x14]
fld qword [esp + 0x14]
fsub qword [esp + 0x14]
faddp st(1)
fld qword [esp + 0xc]
fmul qword [0x4759f0]
fmul qword [esp + 0xc]
mov byte [esp + 0x42b], 0
fsubp st(1)
fld qword [0x4759e8]
fsub st(1), st(0)
fxch st(1)
fstp qword [esp + 0xc]
fld qword [0x4759d0]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fsub qword [esp + 0xc]
fsub qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fsub qword [0x4759c8]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fmul qword [0x4759c0]
fsub qword [esp + 0xc]
fadd qword [esp + 0xc]
fsub qword [esp + 0xc]
fadd qword [esp + 0xc]
fadd qword [esp + 0xc]
fld qword [esp + 0xc]
fmul qword [0x4759b8]
faddp st(1)
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fdiv qword [0x4759b0]
fmul qword [esp + 0xc]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fmul qword [esp + 0xc]
fmul qword [esp + 0xc]
fld qword [esp + 0xc]
fadd qword [esp + 0xc]
fsub qword [0x4759a8]
faddp st(1)
fadd qword [0x4759a0]
fadd qword [esp + 0xc]
fsub qword [0x475998]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fsubrp st(2)
fld qword [esp + 0xc]
faddp st(2)
fxch st(1)
fsub qword [0x475990]
fsub qword [esp + 0xc]
fsub qword [esp + 0xc]
fld qword [esp + 0xc]
fmul qword [0x475988]
faddp st(1)
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
lea eax, [esp + 0x2c]
fmul qword [esp + 0xc]
lea ecx, [esp + 0x20]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fadd qword [0x475980]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
fmul qword [0x475978]
fdiv qword [0x475930]
fdiv qword [0x475970]
fadd qword [esp + 0xc]
fld qword [esp + 0xc]
fmulp st(2)
fld qword [esp + 0xc]
fmulp st(2)
faddp st(1)
fld qword [esp + 0xc]
mov dword [esp + 0x1c], eax
fadd st(0), st(0)
lea eax, [esp + 0x1c]
push eax
faddp st(1)
fstp qword [esp + 0x10]
call fcn.00411510
and dword [esp + 0x440], 0
push eax
mov ecx, edi
call fcn.00411537
or dword [esp + 0x440], 0xffffffff
lea ecx, [esp + 0x20]
call fcn.0041156c
mov dword [esp + 0xc], 0x21
mov dword [esp + 8], 0x57
mov dword [esp + 0x14], 0x17
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
imul eax, ecx
push 0xb
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
add ecx, dword [esp + 0x14]
add ecx, dword [esp + 8]
add ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov eax, dword [esp + 8]
imul eax, eax, 0x61
add eax, dword [esp + 8]
add eax, dword [esp + 0xc]
mov dword [esp + 8], eax
mov eax, edi
mov ecx, dword [esp + 0x438]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x428]
xor ecx, esp
call fcn.00411479
mov esp, ebp
pop ebp
ret