Function at 0x1001adb0
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x284
cmp byte [0x10281631], 0
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x1c], edi
je 0x1001ba5a
mov ebx, dword [0x10281360]
test ebx, ebx
je 0x1001ba5a
mov eax, ebx
mov dword [esp + 0xc], eax
test eax, eax
je 0x1001ba5a
mov eax, dword [0x1028135c]
test eax, eax
jne 0x1001ae2b
mov edx, 0xe80c2f78
mov ecx, 0x10219689
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195b1
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov ebx, dword [0x10281360]
mov dword [0x1028135c], eax
mov ecx, dword [esp + 0xc]
cmp dword [ecx + eax], 0
jle 0x1001ba5a
mov eax, dword [0x102813b4]
test eax, eax
jne 0x1001ae70
mov edx, 0xe80c2f78
mov ecx, 0x102197a5
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195b1
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813b4], eax
test byte [ebx + eax], 1
jne 0x1001ba5a
call fcn.1000b770
cmp eax, 9
je 0x1001ba5a
cmp eax, 8
je 0x1001ba5a
cmp byte [0x102496a5], 0
jne 0x1001ba5a
mov ebx, dword [0x10281360]
mov ecx, ebx
mov eax, dword [0x102812f0]
mov dword [esp + 0xc], ecx
test eax, eax
jne 0x1001aeeb
mov edx, 0xe80c2f78
mov ecx, 0x102195cd
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov ebx, dword [0x10281360]
mov ecx, dword [esp + 0xc]
mov dword [0x102812f0], eax
movq xmm0, qword [ecx + eax]
mov ecx, dword [ecx + eax + 8]
movq qword [esp + 0x50], xmm0
movq qword [esp + 0x20], xmm0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x1001af3a
mov edx, 0xe80c2f78
mov ecx, 0x102195cd
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102812f0], eax
movss xmm2, dword [esp + 0x20]
subss xmm2, dword [ebx + eax]
movss xmm1, dword [esp + 0x24]
subss xmm1, dword [ebx + eax + 4]
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [ebx + eax + 8]
mulss xmm2, xmm2
mov dword [esp + 0x30], 0
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0xc], xmm2
sqrtss xmm0, dword [esp + 0xc]
movss dword [esp + 0x30], xmm0
cmp dword [0x102813d8], 0
jne 0x1001afc2
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813d8], eax
lea edx, [esp + 0x12]
mov byte [esp + 0x12], 0
mov ecx, edi
call fcn.10016920
mov ecx, dword [0x10281360]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, dword [0x10281360]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x74], eax
mov eax, dword [ecx]
movq qword [esp + 0x6c], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movss xmm1, dword [esp + 0x20]
lea ecx, [esp + 0x90]
mov esi, dword [esp + 0x14]
movss dword [esp + 0x40], xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movss xmm1, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [0x10281360]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x60]
push eax
movq qword [esp + 0x64], xmm0
lea eax, [esp + 0x70]
movq xmm0, qword [esp + 0x54]
movq qword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [0x102409cc]
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x198], 0
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x198], 0
push eax
mov dword [esp + 0x198], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x88], vtable.trace_world_only.0
mov dword [esp + 0x48], esi
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x58], xmm0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x188]
push edx
lea edx, [esp + 0x7c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x98]
push 0x201400b
push edx
call dword [eax + 0x14]
mov eax, dword [0x10281360]
lea ecx, [esp + 0xe0]
movq xmm0, qword [esp + 0x50]
movss xmm1, dword [esp + 0x20]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x60]
push eax
movq qword [esp + 0x34], xmm0
lea eax, [esp + 0x70]
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [0x102408d8]
push eax
lea eax, [esp + 0x48]
movss dword [esp + 0x48], xmm1
movss xmm1, dword [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x1f4], 0
push eax
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x90], vtable.trace_world_only.0
mov dword [esp + 0x48], esi
movss dword [esp + 0x54], xmm1
movss dword [esp + 0x58], xmm0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x1e0]
push edx
lea edx, [esp + 0x84]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xe8]
push 0x201400b
push edx
call dword [eax + 0x14]
mov eax, dword [0x10281360]
movq xmm0, qword [esp + 0x50]
mov dword [esp + 0x240], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 0
mov dword [esp + 0x244], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x254], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x88], vtable.trace_world_only.0
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x60]
movq qword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x20]
lea ecx, [esp + 0x130]
push eax
lea eax, [esp + 0x70]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x28]
push eax
lea eax, [esp + 0x48]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x30]
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x44], esi
push eax
movss dword [esp + 0x58], xmm0
call fcn.100146d0
mov ecx, dword [0x102812e4]
lea edx, [esp + 0x238]
push edx
lea edx, [esp + 0x8c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x138]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm3, dword [esp + 0x1b4]
xorps xmm2, xmm2
movss xmm0, dword [0x102472e4]
movss xmm1, dword [0x10240668]
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x1001b4cb
comiss xmm0, xmm1
mov byte [esp + 0x10], 1
ja 0x1001b4d0
mov byte [esp + 0x10], 0
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x1001b4e3
comiss xmm0, xmm1
mov byte [esp + 0x11], 1
ja 0x1001b4e8
mov byte [esp + 0x11], 0
mov eax, dword [0x102813d8]
mov ebx, dword [0x10281360]
test eax, eax
jne 0x1001b525
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813d8], eax
movss xmm1, dword [ebx + eax + 4]
movss xmm0, dword [ebx + eax]
mulss xmm0, xmm0
mov dword [esp + 0x30], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [esp + 0xc], xmm0
sqrtss xmm0, dword [esp + 0xc]
movss dword [esp + 0x30], xmm0
mov ecx, dword [0x1024b2f0]
mov edx, dword fs:[0x2c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], edx
cmp byte [0x102496a5], 0
jne 0x1001ba5a
mov eax, dword [0x1028159c]
mov ecx, dword [edx + ecx*4]
mov esi, dword [eax + 0x1c]
mov eax, dword [0x10286fd0]
dec esi
cmp eax, dword [ecx + 4]
jle 0x1001b5d0
push 0x10286fd0
call fcn.1018b6e4
add esp, 4
cmp dword [0x10286fd0], 0xffffffff
jne 0x1001b5d0
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov ecx, str.client.dll
call fcn.10007f00
push 0x10286fd0
mov dword [0x10286fd4], eax
call fcn.1018b693
add esp, 4
push esi
push 0
call dword [0x10286fd4]
mov eax, dword [0x102813b4]
mov ebx, dword [0x10281360]
mov dword [esp + 0xc], ebx
test eax, eax
jne 0x1001b620
mov edx, 0xe80c2f78
mov ecx, 0x102197a5
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195b1
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov ebx, dword [0x10281360]
mov dword [0x102813b4], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + eax]
mov dword [esp + 0xc], eax
mov eax, dword [0x102813d8]
test eax, eax
jne 0x1001b662
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov dword [0x102813d8], eax
movq xmm0, qword [ebx + eax]
mov eax, dword [ebx + eax + 8]
xor ebx, ebx
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x38], eax
movss xmm0, dword [esp + 0x38]
mov byte [esp + 0x13], 0
movss dword [esp + 0x18], xmm0
push 0x64
call fcn.1018b313
add esp, 4
mov ecx, eax
push edi
call fcn.10017ee0
cmp dword [esp + 0x14], 0
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x30]
jne 0x1001b6ad
or ecx, 4
jmp 0x1001b6b0
and ecx, 0xfffffffb
mov dword [eax + 0x30], ecx
mov ecx, eax
call fcn.1002a2e0
call fcn.1002a990
test byte [esp + 0xc], 1
jne 0x1001ba40
cmp byte [esp + 0x10], 0
jne 0x1001b97b
cmp byte [esp + 0x11], 0
jne 0x1001b97b
cmp byte [0x10286f5b], 0
jne 0x1001b97b
cmp byte [0x10281674], 0
jne 0x1001b97b
lea edx, [esp + 0x13]
mov ecx, edi
call fcn.10016920
test al, al
jne 0x1001b97b
mov edi, dword [0x10281360]
mov eax, edi
mov ecx, dword [0x102813d8]
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x1001b75e
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov edi, dword [0x10281360]
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x102813d8], ecx
movss xmm0, dword [eax + ecx + 8]
movss xmm1, dword [0x10240974]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001b788
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001b987
mov eax, edi
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x1001b7cd
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov edi, dword [0x10281360]
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x102813d8], ecx
movss xmm0, dword [eax + ecx + 8]
movss xmm1, dword [0x10240970]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001b7f7
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001b987
mov eax, edi
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x1001b83c
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov edi, dword [0x10281360]
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x102813d8], ecx
movss xmm0, dword [eax + ecx + 8]
movss xmm1, dword [0x10240978]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001b866
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001b987
mov eax, edi
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x1001b8ab
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov edi, dword [0x10281360]
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [0x102813d8], ecx
movss xmm0, dword [eax + ecx + 8]
movss xmm1, dword [0x1024097c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001b8d5
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001b987
mov eax, dword [0x102813b4]
mov dword [esp + 0xc], edi
test eax, eax
jne 0x1001b91c
mov edx, 0xe80c2f78
mov ecx, 0x102197a5
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195b1
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov edi, dword [0x10281360]
mov ecx, dword [0x102813d8]
mov dword [0x102813b4], eax
mov edx, dword [esp + 0xc]
mov eax, dword [edx + eax]
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x1001b95c
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov ecx, eax
mov dword [0x102813d8], ecx
movss xmm0, dword [edi + ecx + 8]
inc ebx
mov edi, dword [esp + 0x1c]
movss dword [esp + 0x18], xmm0
cmp ebx, 2
jl 0x1001b688
jmp 0x1001ba40
mov edi, dword [0x10281360]
mov ecx, dword [0x102813d8]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
add eax, ebx
mov byte [0x102496a5], 1
cmp dword [esp + 0x14], 0
mov dword [0x102496ac], eax
mov eax, dword [esp + 0x2c]
sete byte [0x102496a6]
mov dword [0x102496b4], eax
test ecx, ecx
jne 0x1001b9e6
mov edx, 0xe80c2f78
mov ecx, 0x10219945
call fcn.10004f10
mov edx, 0xc10bf213
mov ecx, 0x102195d9
mov esi, eax
call fcn.10004f10
mov edx, esi
mov ecx, eax
call fcn.10127750
mov ecx, eax
mov dword [0x102813d8], ecx
movss xmm1, dword [edi + ecx + 4]
movss xmm0, dword [edi + ecx]
mulss xmm0, xmm0
mov dword [esp + 0x40], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [esp + 0x2c], xmm0
sqrtss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x40]
mulss xmm0, dword [0x102408ec]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
mulss xmm0, dword [0x102408ec]
mov edi, dword [esp + 0x1c]
movss dword [edi + 0x28], xmm0
movss dword [edi + 0x24], xmm0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
inc eax
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], eax
cmp eax, 2
jl 0x1001b573
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret