Function at 0x41e6a0
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get number of processors

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5363ab
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov eax, dword [esi + 0x320]
sub eax, ebx
je 0x41e85f
dec eax
je 0x41e6ee
push str.Unknown_state
push ebx
call fcn.004015b0
add esp, 8
pop esi
pop ebx
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
mov eax, dword [esi + 0x194]
and eax, 0xfffbbfff
or eax, 0x22000
mov dword [esi + 0x194], eax
mov eax, dword [esi + 0x288]
test al, 0x10
je 0x41e7d0
and al, 0xef
push str.Bad_register_index
push 1
mov dword [esi + 0x288], eax
call fcn.004015b0
add esp, 8
mov word [esi + 0x222], 1
mov edx, dword [0x6a9038]
lea ecx, [esp + 8]
add esi, 8
push ecx
add edx, 8
push esi
lea eax, [esp + 0x18]
push edx
push eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x38], 0xe
mov dword [esp + 0x3c], 0xb
mov dword [esp + 0x18], 0xc
call fcn.004e7760
add esp, 0xc
lea ecx, [esp + 0x20]
push eax
push ecx
call fcn.004e7840
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 8]
lea eax, [esp + 0x40]
push eax
push ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ebx
call fcn.00470430
mov ecx, dword [0x6a9038]
add esp, 0x14
mov word [esp + 0x30], 0x1e
lea eax, [esp + 0x28]
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
pop esi
pop ebx
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
cmp word [esi + 0x128], 5
jl 0x41e80c
mov eax, dword [esi + 0x324]
test al, 1
jne 0x41e80c
lea ecx, [esi + 8]
push ebx
or al, 1
push ecx
push 6
mov dword [esi + 0x324], eax
call fcn.004e5da0
add eax, 0x1dc
add esp, 4
or ah, 0x80
push eax
call fcn.00471ea0
add esp, 0xc
cmp byte [esi + 0x142], bl
je 0x41e94f
mov edx, dword [esi + 0x194]
mov eax, dword [esi + 0x218]
and edx, 0xfffddfff
mov dword [esi + 0x31c], 2
or edx, 0x44000
and al, 0xfb
mov dword [esi + 0x194], edx
mov dword [esi + 0x218], eax
mov dword [esi + 0x320], ebx
pop esi
pop ebx
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
mov dword [esi + 0x68], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x218]
push ebp
push edi
and al, 0xfe
push 0xffffffffffffffff
or al, 4
push ebx
push 0x23
mov ecx, esi
mov dword [esi + 0x218], eax
call fcn.00460c10
mov dword [esi + 0x324], ebx
mov al, byte [0x60cfc5]
cmp al, bl
push 4
je 0x41e8c2
call fcn.004e5da0
and al, 0xfe
push 0x64
mov edi, dword [eax*4 + 0x548a68]
mov ebp, dword [eax*4 + 0x548a64]
call fcn.004e5da0
add esp, 8
cmp eax, 0x3c
jg 0x41e8f5
lea ecx, [esi + 8]
push ebx
push ecx
jmp 0x41e8eb
call fcn.004e5da0
and al, 0xfe
push 0x64
mov edi, dword [eax*4 + 0x548a58]
mov ebp, dword [eax*4 + 0x548a54]
call fcn.004e5da0
add esp, 8
cmp eax, 0x3c
jg 0x41e8f5
lea edx, [esi + 8]
push ebx
push edx
push edi
push ebp
call fcn.00479d30
add esp, 0x10
mov eax, dword [esi + 0x194]
push str.Bad_register_index
and eax, 0xfffbbfff
push 1
or eax, 0x22000
mov dword [esi + 0x194], eax
call fcn.004015b0
push 0x38
mov word [esi + 0x222], bx
call fcn.00455390
add esp, 0xc
mov dword [esp + 0x14], eax
pop edi
cmp eax, ebx
mov dword [esp + 0x50], ebx
pop ebp
je 0x41e949
push 0x10
push 6
push 0x3b800
push 5
push esi
mov ecx, eax
call fcn.00401c40
inc dword [esi + 0x320]
mov ecx, dword [esp + 0x44]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x48
ret