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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c89fd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x10
push esi
push edi
mov eax, dword [0x623ec0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1c], edi
mov dword [edi], vtable.TreeNode.0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov byte [edi + 0x14], 0
mov dword [edi + 0x18], 0xffffffff
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [ebp - 4], 0
movq xmm0, qword [ebx + 8]
mov eax, dword [ebx + 0x10]
mov ecx, dword [0x9c25b4]
mov esi, dword [ebx + 0x20]
mov dword [edi], vtable.TMArrow.0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 0
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0
mov dword [edi + 0x90], 0
mov dword [0x9c25a8], 0x4c
movq qword [edi + 0x28], xmm0
movq qword [edi + 0x40], xmm0
movq xmm0, qword [ebx + 0x14]
mov dword [edi + 0x30], eax
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 0x1c]
movq qword [edi + 0x34], xmm0
mov dword [edi + 0x3c], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x4c], esi
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movss xmm1, dword [ebx + 0x18]
movss xmm0, dword [ebx + 0x14]
subss xmm0, dword [ebx + 8]
subss xmm1, dword [ebx + 0xc]
movss xmm2, dword [ebx + 0x1c]
subss xmm2, dword [ebx + 0x10]
mov dword [edi + 0x24], eax
mulss xmm0, xmm0
mov dword [edi + 0x6c], 0
mulss xmm1, xmm1
mov dword [edi + 0x7c], 0
mulss xmm2, xmm2
mov dword [edi + 0x80], 0
addss xmm0, xmm1
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0
mov dword [edi + 0x90], 0
addss xmm0, xmm2
call fcn.00445ac0
mov eax, dword [edi + 0x5c]
movss dword [ebp - 0x18], xmm0
cmp eax, 0x97
jg 0x4e378f
je 0x4e36d0
sub eax, 0x68
je 0x4e36b3
sub eax, 1
jne 0x4e3787
test esi, esi
jne 0x4e3694
mov dword [edi + 0x60], 0x375
call fcn.005bdc60
imul eax, eax, 0x64
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x2c]
jmp 0x4e3973
cmp esi, 1
jne 0x4e36a0
mov dword [edi + 0x60], 0x397
call fcn.005bdc60
imul eax, eax, 0x64
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x2c]
jmp 0x4e3973
mov dword [edi + 0x60], 0x36f
call fcn.005bdc60
imul eax, eax, 0x96
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x2c]
jmp 0x4e3973
mov dword [edi + 0x60], 0x320
mov dword [edi + 0x54], 0
test esi, esi
jle 0x4e3752
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 1
push 0xcc
push 0
push esi
call fcn.00468b40
mov ecx, dword [ebx + 0x20]
mov eax, 0xaaaaaaab
movss xmm3, dword [edi + 0x54]
add esp, 0xc
mul ecx
push 1
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
push dword [ecx*4 + 0x5ffc7c]
mov ecx, esi
push 0x1c
call fcn.004f2590
mov byte [ebp - 4], 0
mov dword [edi + 0x6c], eax
test eax, eax
je 0x4e3752
mov dword [eax + 0x98], 0x3fa66666
mov eax, dword [edi + 0x6c]
mov dword [eax + 0x9c], 0x3fa66666
mov ecx, dword [0x9c25cc]
test ecx, ecx
je 0x4e3777
push 0x85
call fcn.004a8da0
test eax, eax
je 0x4e3777
sub esp, 0xc
push 0
push ecx
mov ecx, eax
call fcn.004a86c0
movss xmm0, dword [ebp - 0x18]
call fcn.005bdc60
imul eax, eax, 0x32
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x2c]
jmp 0x4e3973
cmp eax, 0x2710
jg 0x4e392e
je 0x4e377c
sub eax, 0x98
je 0x4e3882
sub eax, 1
jne 0x4e3787
test esi, esi
jne 0x4e37bc
mov dword [edi + 0x60], 0x369
jmp 0x4e3868
cmp esi, 1
jne 0x4e37cd
mov dword [edi + 0x60], 0x36a
jmp 0x4e3868
cmp esi, 2
jne 0x4e37de
mov dword [edi + 0x60], 0x36b
jmp 0x4e3868
cmp esi, 3
jne 0x4e37ec
mov dword [edi + 0x60], 0x36c
jmp 0x4e3868
cmp esi, 4
jne 0x4e37fa
mov dword [edi + 0x60], 0x36d
jmp 0x4e3868
cmp esi, 5
jne 0x4e3808
mov dword [edi + 0x60], 0x37c
jmp 0x4e3868
cmp esi, 6
jne 0x4e3816
mov dword [edi + 0x60], 0x38b
jmp 0x4e3868
cmp esi, 7
jne 0x4e3824
mov dword [edi + 0x60], 0x38c
jmp 0x4e3868
cmp esi, 8
jne 0x4e3832
mov dword [edi + 0x60], 0x38d
jmp 0x4e3868
cmp esi, 9
jne 0x4e3840
mov dword [edi + 0x60], 0x25
jmp 0x4e3868
cmp esi, 0xa
jne 0x4e384e
mov dword [edi + 0x60], 0x2ff
jmp 0x4e3868
cmp esi, 0xb
jne 0x4e385c
mov dword [edi + 0x60], 0xafe
jmp 0x4e3868
cmp esi, 0x63
jne 0x4e3868
mov dword [edi + 0x60], 0xb69
mov dword [edi + 0x54], 0
call fcn.005bdc60
imul eax, eax, 0x64
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x2c]
jmp 0x4e3973
call fcn.005bdc60
imul ecx, eax, 0x32
mov dword [ebp - 0x18], eax
mov dword [edi + 0x64], ecx
test esi, esi
jne 0x4e389d
mov dword [edi + 0x60], 0x367
jmp 0x4e391b
cmp esi, 1
jne 0x4e38ab
mov dword [edi + 0x60], 0x368
jmp 0x4e391b
cmp esi, 2
jne 0x4e391b
push 0xcc
mov dword [edi + 0x60], 0x35f
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 2
push 0xcc
push 0
push esi
call fcn.00468b40
movss xmm3, dword [edi + 0x54]
add esp, 0xc
mov ecx, esi
push 1
push 0xff001020
push 0x1c
call fcn.004f2590
mov byte [ebp - 4], 0
mov dword [edi + 0x6c], eax
test eax, eax
je 0x4e3914
mov dword [eax + 0x98], 0x40000000
mov eax, dword [edi + 0x6c]
mov dword [eax + 0x9c], 0x40000000
imul eax, dword [ebp - 0x18], 0x46
mov dword [edi + 0x64], eax
push ecx
mov ecx, 0x86
call fcn.005bc750
mov eax, dword [ebx + 0x2c]
add esp, 4
jmp 0x4e3973
sub eax, 0x2711
je 0x4e395c
sub eax, 1
je 0x4e3953
sub eax, 1
jne 0x4e3787
mov dword [edi + 0x64], 0x320
mov dword [edi + 0x60], 0x320
jmp 0x4e396e
mov dword [edi + 0x64], 0x3e8
jmp 0x4e3967
call fcn.005bdc60
imul eax, eax, 0x64
mov dword [edi + 0x64], eax
mov dword [edi + 0x60], 0xb18
mov eax, 5
mov ecx, dword [edi + 0x64]
test ecx, ecx
jne 0x4e3983
mov dword [edi + 0x64], 1
jmp 0x4e3992
cmp ecx, 0x1388
jbe 0x4e3992
mov dword [edi + 0x64], 0x1388
cmp eax, 8
je 0x4e39aa
cmp eax, 7
je 0x4e39aa
cmp eax, 6
je 0x4e39aa
cmp eax, 5
je 0x4e39aa
xor ecx, ecx
jmp 0x4e39ac
mov ecx, eax
mov dword [edi + 0x70], ecx
mov ecx, dword [edi + 0x5c]
mov dword [edi + 0x68], 0
cmp ecx, 0x97
je 0x4e39e7
cmp ecx, 0x98
je 0x4e39e7
cmp ecx, 0x99
je 0x4e39e7
cmp ecx, 0x2710
je 0x4e39e7
xor edx, edx
cmp ecx, 0x2711
jne 0x4e3b12
movss xmm0, dword [0x604cc4]
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x14], 0x777777
cmp ecx, 0x98
jne 0x4e3a0d
movss xmm0, dword [0x604ccc]
jmp 0x4e3a1d
cmp ecx, 0x99
jne 0x4e3a22
movss xmm0, dword [0x604d20]
movss dword [ebp - 0x18], xmm0
add eax, 0xfffffffb
cmp eax, 3
ja case.default.0x4e3a2a
jmp dword [eax*4 + 0x4e3b88]
mov dword [ebp - 0x14], 0x883333
jmp case.default.0x4e3a2a
mov dword [ebp - 0x14], 0x884388
jmp case.default.0x4e3a2a
mov dword [ebp - 0x14], 0x338843
jmp case.default.0x4e3a2a
mov dword [ebp - 0x14], 0x222288
cmp ecx, 0x2710
jne 0x4e3a6c
movss xmm0, dword [0x604cb8]
mov dword [ebp - 0x14], 0xffaaaaff
jmp 0x4e3a83
cmp ecx, 0x2711
jne 0x4e3a88
movss xmm0, dword [0x604d2c]
mov dword [ebp - 0x14], 0xff7777ff
movss dword [ebp - 0x18], xmm0
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 3
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm0, dword [ebp - 0x18]
movss xmm1, dword [ebx + 0xc]
subss xmm1, dword [0x604ccc]
mov ecx, dword [ebx + 0x10]
movq xmm3, qword [ebx + 8]
movss xmm2, dword [ebx + 0x10]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm0
push dword [ebp - 0x14]
movss xmm0, dword [ebx + 8]
push 0x19a
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movss dword [eax], xmm0
movss dword [eax + 4], xmm1
movss dword [eax + 8], xmm2
mov eax, esp
movq qword [eax], xmm3
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004ecb20
mov edx, eax
mov byte [ebp - 4], 0
mov dword [edi + 0x68], edx
test edx, edx
je 0x4e3b5d
mov dword [edx + 0x6c], 1
mov eax, dword [edi + 0x68]
mov dword [eax + 0x17c], 1
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x64]
add ecx, 0x7d0
mov dword [eax + 0x84], ecx
mov eax, dword [0x9c25b0]
mov edx, dword [edi + 0x68]
mov ecx, dword [eax + 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [ecx + 0x10], edx
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4e3b5d
mov dword [eax + 8], edx
mov eax, dword [ebx + 0x30]
mov dword [edi + 0x74], eax
mov al, byte [ebx + 0x28]
mov byte [edi + 0x78], al
mov dword [ebp - 4], 0xffffffff
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x2c