Function at 0x10b645a0
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x10e25838
push eax
mov dword fs:[0], esp
sub esp, 0xbc
push ebx
mov ebx, ecx
fld dword [ebx + 0x1a8]
push ebp
fld dword [ebx + 0x1a4]
push edi
fld dword [ebx + 0x1a0]
mov edi, edx
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fcom qword [0x10e49258]
fnstsw ax
test ah, 5
jp 0x10b6460d
fstp st(0)
fld dword [0x10e4500c]
fld dword [0x10e4500c]
fld dword [0x10e4500c]
jmp 0x10b6463b
fsqrt
fdivr dword [0x10e45008]
fld st(0)
fmul dword [ebx + 0x1a8]
fstp dword [esp + 0x28]
fld st(0)
fmul dword [ebx + 0x1a4]
fstp dword [esp + 0x24]
fmul dword [ebx + 0x1a0]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
mov eax, dword [edi + 0x25c]
mov ecx, dword [edi + 0x260]
mov dword [esp + 0xc], eax
fmul dword [esp + 0xc]
fstp dword [esp + 0x24]
fmul dword [esp + 0xc]
fld dword [esp + 0xc]
mov dword [esp + 0xc], ecx
fmul st(2)
mov ecx, dword [edi + 0x250]
mov edx, dword [ecx]
fstp dword [esp + 0x30]
fld dword [esp + 0x24]
fmul dword [esp + 0xc]
fstp dword [esp + 0x28]
fmul dword [esp + 0xc]
fstp dword [esp + 0x10]
fstp st(0)
fld dword [esp + 0x30]
fmul dword [esp + 0xc]
fstp dword [esp + 0x30]
call dword [edx + 0x80]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fld dword [esp + 0x28]
fmul st(1)
fld dword [esp + 0x10]
fmul st(2)
fstp dword [esp + 0x28]
fld dword [esp + 0x30]
fmul st(2)
fstp dword [esp + 0x30]
fmul dword [0x10e4708c]
fstp dword [esp + 0x24]
fstp st(0)
fld dword [esp + 0x28]
fmul dword [0x10e4708c]
fstp dword [esp + 0x28]
fld dword [esp + 0x30]
fmul dword [0x10e4708c]
fstp dword [esp + 0x30]
fld dword [ebx + 0x1b4]
fld dword [ebx + 0x1b0]
fld dword [ebx + 0x1ac]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fcom qword [0x10e49258]
fnstsw ax
test ah, 5
jp 0x10b6472a
fstp st(0)
fld dword [0x10e4500c]
fld dword [0x10e4500c]
fld dword [0x10e4500c]
jmp 0x10b64758
fsqrt
fdivr dword [0x10e45008]
fld st(0)
fmul dword [ebx + 0x1b4]
fstp dword [esp + 0x10]
fld st(0)
fmul dword [ebx + 0x1b0]
fstp dword [esp + 0xc]
fmul dword [ebx + 0x1ac]
fld dword [esp + 0xc]
fld dword [esp + 0x10]
mov eax, dword [edi + 0x25c]
fchs
fstp dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov ecx, dword [edi + 0x250]
fchs
mov edx, dword [ecx]
fxch st(1)
fchs
fstp dword [esp + 0x50]
fld dword [esp + 0x10]
fmul dword [esp + 0xc]
fstp dword [esp + 0x10]
fmul dword [esp + 0xc]
fld dword [esp + 0x50]
fmul dword [esp + 0xc]
fld dword [edi + 0x264]
fld dword [esp + 0x10]
fmul st(1)
fstp dword [esp + 0x10]
fxch st(2)
fmul st(2)
fstp dword [esp + 0x2c]
fmul st(1)
fstp dword [esp + 0x50]
fstp st(0)
call dword [edx + 0x80]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
mov eax, dword [0x10fceeec]
test eax, eax
fld dword [esp + 0x10]
mov dword [esp + 0x14], 0x3f800000
fmul st(1)
mov dword [esp + 0x18], 0x3f800000
fld dword [esp + 0x2c]
mov dword [esp + 0x1c], 0x3f800000
fmul st(2)
mov dword [esp + 0x20], 0x3f800000
fstp dword [esp + 0x2c]
fld dword [esp + 0x50]
fmul st(2)
fstp dword [esp + 0x50]
fmul dword [0x10e4708c]
fstp dword [esp + 0xc]
fstp st(0)
fld dword [esp + 0x2c]
fmul dword [0x10e4708c]
fstp dword [esp + 0x10]
fld dword [esp + 0x50]
fmul dword [0x10e4708c]
fstp dword [esp + 0x50]
je 0x10b648c5
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x34]
test dword [ecx + 0x5ac], 0x20000
je 0x10b64885
mov eax, dword [edi + 0x350]
test ah, ah
jns 0x10b64885
mov dword [esp + 0x3c], 0x3f000000
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], 0x3f666666
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], 0x3f000000
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], 0x3f800000
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], eax
jmp 0x10b648bd
mov al, byte [edi + 0x2c]
test al, al
je 0x10b648c5
xor eax, eax
mov al, byte [edi + 0x2f]
xor ecx, ecx
mov cl, byte [edi + 0x2e]
push 0xff
lea edx, [esp + 0x40]
push eax
push ecx
push edx
call fcn.10a220c0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0xc]
add esp, 0x10
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ebx, dword [0x10fcef4c]
mov ebp, dword [0x10fcef48]
push 0
push 0x100
push ebx
push ebp
mov dword [esp + 0x6c], 0x10ea22c8
call fcn.10ddeb40
add eax, 0xe1
adc edx, 0
add ebp, 1
adc ebx, 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov dword [0x10fcef48], ebp
mov dword [0x10fcef4c], ebx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0xd4], 0
call fcn.1097fa00
mov ebp, dword [edi + 0x250]
lea ecx, [edi + 0x148]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
push ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
call fcn.1097ee20
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10b64aad
mov eax, dword [0x110bb810]
test eax, eax
jne 0x10b649b9
push 0
push ecx
mov eax, esp
mov dword [eax], 0
mov eax, dword [0x110b8acc]
test eax, eax
mov dword [esp + 0x54], esp
jne 0x10b64993
push 0x10e44b40
call fcn.10a1d1a0
add esp, 4
mov dword [0x110b8acc], eax
call fcn.10a1e730
mov edx, dword [0x110b8acc]
push 0xffffffffffffffff
push edx
call fcn.10a2bdf0
mov ecx, dword [0x110b84a0]
add esp, 0x10
push 0x110bb810
mov dword [0x110bb810], eax
call fcn.10a1dec0
mov eax, dword [0x110bb810]
mov dword [eax + 0x40], ebx
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 8
mov ebx, dword [ebx + 0x88]
test bl, 1
jne 0x10b64a78
mov al, byte [edi + 0x2a9]
cmp al, 2
je 0x10b64a78
test bl, 2
je 0x10b64a20
mov ecx, dword [0x110bb810]
mov byte [ecx + 0x44], 2
mov eax, dword [0x110bb810]
and dword [eax + 0x48], 0xfffffffe
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 2
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 4
mov edx, dword [0x110bb810]
mov byte [edx + 0x4c], 0
jmp 0x10b64aa7
cmp al, 3
jne 0x10b64a2f
mov eax, dword [0x110bb810]
mov byte [eax + 0x44], 4
jmp 0x10b64a5b
cmp al, 4
jne 0x10b64a3f
mov ecx, dword [0x110bb810]
mov byte [ecx + 0x44], 1
jmp 0x10b64a5b
cmp al, 6
jne 0x10b64a4e
mov edx, dword [0x110bb810]
mov byte [edx + 0x44], al
jmp 0x10b64a5b
cmp al, 7
jne 0x10b64aa7
mov eax, dword [0x110bb810]
mov byte [eax + 0x44], 5
mov eax, dword [0x110bb810]
and dword [eax + 0x48], 0xfffffffe
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 2
mov eax, dword [0x110bb810]
and dword [eax + 0x48], 0xfffffffb
jmp 0x10b64aa7
mov ecx, dword [0x110bb810]
mov byte [ecx + 0x44], 0
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 1
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 2
mov eax, dword [0x110bb810]
or dword [eax + 0x48], 4
mov edx, dword [0x110bb810]
mov byte [edx + 0x4c], 0x7f
mov ebp, dword [0x110bb810]
fld dword [esp + 0x3c]
mov dword [esp + 0x70], 0
fsub dword [esp + 0x30]
mov dword [esp + 0x74], 0
mov dword [esp + 0x88], 0x3f800000
mov dword [esp + 0x8c], 0
fst dword [esp + 0x14]
mov dword [esp + 0xa0], 0x3f800000
fld dword [esp + 0x40]
mov dword [esp + 0xa4], 0x3f800000
fsub dword [esp + 0x28]
fld st(0)
fld dword [esp + 0x44]
fsub dword [esp + 0x24]
fst dword [esp + 0x4c]
fld dword [esp + 0x14]
fsub dword [esp + 0x50]
fstp dword [esp + 0x14]
mov eax, dword [esp + 0x14]
fxch st(1)
mov dword [esp + 0x60], eax
fsub dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x84], eax
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x64], ecx
fsub dword [esp + 0xc]
mov dword [esp + 0x9c], eax
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [esp + 0x3c]
mov dword [esp + 0x68], edx
fadd dword [esp + 0x30]
fst dword [esp + 0x30]
fld dword [esp + 0x40]
fadd dword [esp + 0x28]
fld st(0)
fld dword [esp + 0x44]
fadd dword [esp + 0x24]
fst dword [esp + 0x2c]
fld dword [esp + 0x30]
fsub dword [esp + 0x50]
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
fxch st(1)
mov dword [esp + 0x78], ecx
fsub dword [esp + 0x10]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], edx
fsub dword [esp + 0xc]
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fxch st(1)
mov dword [esp + 0x80], ecx
fstp dword [esp + 0x30]
fld dword [esp + 0x2c]
fld dword [esp + 0x30]
fadd dword [esp + 0x50]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
fxch st(1)
mov dword [esp + 0x90], edx
fadd dword [esp + 0x10]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], ecx
fadd dword [esp + 0xc]
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fxch st(1)
mov dword [esp + 0x98], edx
fstp dword [esp + 0x30]
fld dword [esp + 0x4c]
fld dword [esp + 0x30]
fadd dword [esp + 0x50]
fstp dword [esp + 0x14]
fxch st(1)
fadd dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fadd dword [esp + 0xc]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x5c]
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
push eax
mov dword [esp + 0xb0], edx
mov edx, dword [esi]
mov dword [esp + 0xb4], ecx
push 0
mov ecx, esi
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0x3f800000
call dword [edx + 0x50]
mov edx, dword [esi]
push 0x10f46d88
push 0
mov ecx, esi
mov edi, eax
call dword [edx + 0x38]
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x5c], esp
push 0
mov ecx, eax
mov dword [esp + 0x28], 0
mov edx, dword [esp + 0x28]
mov dword [ecx], edx
push 0
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
push 0
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x38]
mov dword [ecx + 8], edx
push 1
mov dword [eax + 0xc], 0
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x24]
mov edx, dword [esi]
push 0
push 0
push 0
push ebp
mov ecx, esi
call dword [edx + 0x3c]
mov eax, dword [esi]
push 0
push 0
mov ecx, esi
call dword [eax + 0x54]
mov edx, dword [esi]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 2
push edi
push 2
mov ecx, esi
call dword [edx + 0x5c]
mov ecx, dword [esp + 0xc8]
pop edi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xc8
ret