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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43fdcb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x838
mov eax, dword [0x458e40]
push ebx
push esi
push edi
xor edi, edi
mov dword [esp + 0x83c], eax
mov ebx, ecx
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], 0
cmp dword [ebx + 0x32cc], edi
mov dword [esp + 0x84c], edi
mov dword [esp + 0xc], edi
jbe 0x41e896
mov eax, dword [ebx + 0x32fc]
mov ecx, dword [eax + 4]
lea esi, [ebx + 0x32f8]
push ecx
mov ecx, esi
call fcn.004184f0
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], edi
mov dword [eax], eax
mov esi, dword [esi + 4]
mov dword [esi + 8], esi
call fcn.00421230
mov ecx, eax
call fcn.00421350
push 0x64
push edi
push edi
call fcn.0040d320
mov ecx, eax
call fcn.0040f2d0
mov edx, dword [ebx + 0x32c8]
lea esi, [ebx + 0x2290]
lea edi, [ebx + 0x2a90]
mov ecx, 0x200
rep movsd dword es:[edi], dword [esi]
mov edi, dword [edx]
lea eax, [esp + 0x10]
push eax
lea ecx, [ebx + 0x32f8]
mov dword [ebx + 0x32dc], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 1
call fcn.0041e1d0
mov dword [eax], edi
mov eax, dword [ebx + 0x32c8]
mov esi, dword [eax]
cmp esi, eax
mov dword [esp + 0x10], esi
je 0x41e849
jmp 0x41e730
mov esi, dword [esp + 0x10]
cmp dword [esp + 0xc], 0x14
jle 0x41e75e
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], eax
inc eax
push ecx
lea ecx, [ebx + 0x32f8]
mov dword [esp + 0x18], eax
call fcn.0041e1d0
mov dword [eax], esi
mov dword [esp + 0xc], 0
mov edx, dword [ebx + 0x201c]
xor eax, eax
mov ecx, 0x200
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
mov esi, dword [esi + 8]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
add esi, edx
cmp eax, 0x10
mov ecx, edi
jae 0x41e789
lea ecx, [esp + 0x20]
mov edx, dword [esp + 0x30]
add ecx, edx
cmp eax, 0x10
mov edx, edi
jae 0x41e79c
lea edx, [esp + 0x20]
mov edi, edx
test edx, edx
jne 0x41e7a4
xor eax, eax
jmp 0x41e7a8
mov eax, edx
sub eax, edi
test ecx, ecx
je 0x41e7ae
sub ecx, edx
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.00402500
lea esp, [esp]
push esi
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
call fcn.00417e60
mov esi, eax
lea eax, [esp + 0x38]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e7d6
sub eax, edx
push eax
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x24]
call fcn.00402940
lea eax, [esp + 0x38]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e7f5
sub eax, edx
mov ecx, eax
mov eax, 0x38e38e39
imul ecx
mov ecx, dword [esp + 0xc]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [ecx + eax + 1]
lea eax, [esp + 0x38]
mov dword [esp + 0xc], edx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e824
sub eax, edx
mov dword [esp + 0x18], eax
jne 0x41e7c0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, dword [ebx + 0x32c8]
mov dword [esp + 0x10], eax
jne 0x41e72c
mov ecx, dword [esp + 0x14]
lea eax, [ebx + 0x32f4]
dec ecx
mov dword [eax], ecx
push eax
lea ecx, [ebx + 0x32f8]
call fcn.0041e1d0
mov edx, dword [eax]
mov ecx, ebx
mov dword [ebx + 0x32dc], edx
mov dword [ebx + 0x2050], 0
call fcn.0041e250
cmp dword [esp + 0x34], 0x10
jb 0x41e88f
mov eax, dword [esp + 0x20]
push eax
call fcn.00433080
add esp, 4
mov eax, 1
jmp 0x41e898
xor eax, eax
mov ecx, dword [esp + 0x844]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x83c]
call fcn.004332fd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret