Function at 0x411390
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x455737
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x250
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x1fc]
lea esi, [edi + 0x1fc]
test eax, eax
mov dword [esp + 0x30], esi
jne 0x411400
push esi
push 0x45a3e0
push 7
push 0
push 0x45a820
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jge 0x4113eb
mov dword [esi], 0
xor al, al
jmp 0x411cb8
mov eax, dword [esi]
mov edx, dword [edi + 4]
push 0
push 0
mov ecx, dword [eax]
push 0x280e
push edx
push eax
call dword [ecx + 0x10]
mov edi, dword [esp + 0x270]
cmp edi, 0x46c22c
je 0x411c92
test edi, edi
je 0x411c92
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [0x466060]
mov dword [esp + 0x20], eax
mov dword [esp + 0x268], 0
mov dword [esp + 0x10], eax
push edi
push edi
mov byte [esp + 0x270], 1
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [esp + 0x18]
call fcn.004166a0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
jl 0x411676
push 0x466c14
push ecx
call fcn.00429260
add esp, 8
test eax, eax
je 0x411672
mov ecx, dword [esp + 0x10]
sub eax, ecx
test eax, eax
jl 0x411676
mov ecx, dword [esp + 0x3a]
mov edx, dword [esp + 0x36]
mov eax, dword [esp + 0x34]
and ecx, 0xffff
and edx, 0xffff
push ecx
and eax, 0xffff
push edx
push eax
lea ecx, [esp + 0x2c]
push 0x466c04
push ecx
call fcn.00415e70
mov esi, dword [esp + 0x34]
mov edx, 0x466c14
add esp, 0x14
mov dword [esp + 0x28], esi
test edx, edx
je 0x411672
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
test edi, edi
mov dword [esp + 0x18], edi
je 0x411672
test esi, esi
jne 0x4114ef
xor ebx, ebx
jmp 0x4114f8
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov esi, ecx
mov eax, dword [ecx - 8]
add eax, ecx
cmp ecx, eax
mov dword [esp + 0x1c], eax
jae 0x411676
push 0x466c14
push esi
call fcn.00429260
add esp, 8
test eax, eax
je 0x411539
lea esi, [eax + edi]
push 0x466c14
push esi
inc ebp
call fcn.00429260
add esp, 8
test eax, eax
jne 0x411523
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [esi + eax + 1]
mov eax, dword [esp + 0x1c]
cmp esi, eax
jb 0x411511
test ebp, ebp
jle 0x411672
lea ecx, [esp + 0x10]
call fcn.004020d0
mov esi, dword [esp + 0x18]
mov edi, ebx
mov eax, dword [esp + 0x10]
sub edi, esi
imul edi, ebp
mov ecx, dword [eax - 8]
mov dword [esp + 0x14], ecx
add edi, ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x2c], edi
cmp ecx, edi
jl 0x411586
cmp dword [eax - 0xc], 1
jle 0x4115bd
push edi
lea ecx, [esp + 0x14]
lea esi, [eax - 0xc]
mov ebp, eax
call fcn.00402070
test eax, eax
je 0x411672
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x10]
push eax
lea ecx, [edi + 1]
push ebp
push ecx
push edx
call fcn.00410080
add esp, 0x10
push esi
call fcn.00416800
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
mov ebp, eax
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x1c], ecx
jae 0x41166f
push 0x466c14
push ebp
call fcn.00429260
mov esi, eax
add esp, 8
test esi, esi
je 0x411654
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
sub edi, esi
mov ebp, dword [eax - 4]
sub edi, ecx
sub ebp, esi
add edi, eax
add ebp, eax
add ecx, esi
mov edx, ebp
push edi
sub edx, ebx
lea eax, [esi + ebx]
inc edx
push ecx
push edx
push eax
mov dword [esp + 0x34], eax
call fcn.00411d80
mov eax, dword [esp + 0x38]
push ebx
inc ebp
push eax
push ebp
push esi
call fcn.00410080
mov ebp, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov ecx, ebx
push 0x466c14
mov byte [edi + ebp], 0
mov edi, dword [esp + 0x38]
sub ecx, eax
push ebp
add edi, ecx
mov dword [esp + 0x3c], edi
call fcn.00429260
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x4115e4
mov edi, dword [esp + 0x2c]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebp, [eax + ebp + 1]
mov eax, dword [esp + 0x1c]
cmp ebp, eax
jb 0x4115d0
mov eax, dword [esp + 0x10]
mov dword [eax - 8], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
jl 0x411ac9
push 0x466bfc
push ecx
call fcn.00429260
add esp, 8
test eax, eax
je 0x411888
mov ecx, dword [esp + 0x10]
sub eax, ecx
test eax, eax
jl 0x41188c
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x20]
and edx, 0xffff
mov eax, dword [edx*4 + 0x4662b0]
push eax
push 0x466bf4
push ecx
call fcn.00415e70
mov esi, dword [esp + 0x2c]
mov edx, 0x466bfc
add esp, 0xc
mov dword [esp + 0x24], esi
test edx, edx
je 0x411888
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
mov dword [esp + 0x14], eax
je 0x411888
test esi, esi
jne 0x4116f9
xor ebx, ebx
jmp 0x411706
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov esi, ecx
mov eax, dword [ecx - 8]
add eax, ecx
cmp ecx, eax
mov dword [esp + 0x18], eax
jae 0x41188c
mov edi, dword [esp + 0x14]
push 0x466bfc
push esi
call fcn.00429260
add esp, 8
test eax, eax
je 0x41174b
lea esi, [eax + edi]
push 0x466bfc
push esi
inc ebp
call fcn.00429260
add esp, 8
test eax, eax
jne 0x411735
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [esi + eax + 1]
mov eax, dword [esp + 0x18]
cmp esi, eax
jb 0x411723
test ebp, ebp
jle 0x411888
lea ecx, [esp + 0x10]
call fcn.004020d0
mov esi, dword [esp + 0x14]
mov edi, ebx
mov eax, dword [esp + 0x10]
sub edi, esi
imul edi, ebp
mov ecx, dword [eax - 8]
mov dword [esp + 0x1c], ecx
add edi, ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x28], edi
cmp ecx, edi
jl 0x411798
cmp dword [eax - 0xc], 1
jle 0x4117d3
push edi
lea ecx, [esp + 0x14]
lea esi, [eax - 0xc]
mov ebp, eax
call fcn.00402070
test eax, eax
je 0x411888
mov edi, dword [esp + 0x28]
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x10]
push ecx
lea edx, [edi + 1]
push ebp
push edx
push eax
call fcn.00410080
add esp, 0x10
push esi
call fcn.00416800
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
mov ebp, eax
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x18], ecx
jae 0x411885
push 0x466bfc
push ebp
call fcn.00429260
mov esi, eax
add esp, 8
test esi, esi
je 0x41186a
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
sub edi, esi
mov ebp, dword [eax - 4]
sub edi, ecx
sub ebp, esi
add edi, eax
add ebp, eax
add ecx, esi
mov edx, ebp
push edi
sub edx, ebx
lea eax, [esi + ebx]
inc edx
push ecx
push edx
push eax
mov dword [esp + 0x3c], eax
call fcn.00411d80
mov eax, dword [esp + 0x34]
push ebx
inc ebp
push eax
push ebp
push esi
call fcn.00410080
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
mov ecx, ebx
push 0x466bfc
mov byte [edi + ebp], 0
mov edi, dword [esp + 0x40]
sub ecx, eax
push ebp
add edi, ecx
mov dword [esp + 0x44], edi
call fcn.00429260
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x4117fa
mov edi, dword [esp + 0x28]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebp, [eax + ebp + 1]
mov eax, dword [esp + 0x18]
cmp ebp, eax
jb 0x4117e6
mov eax, dword [esp + 0x10]
mov dword [eax - 8], edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
test eax, eax
jl 0x411ac9
push 0x466bec
push ecx
call fcn.00429260
add esp, 8
test eax, eax
je 0x411ac5
mov ecx, dword [esp + 0x10]
sub eax, ecx
test eax, eax
jl 0x411ac9
mov eax, dword [esp + 0x3e]
cmp ax, 0xa
jb 0x4118e2
mov edx, dword [esp + 0x3c]
and eax, 0xffff
and edx, 0xffff
push eax
push edx
lea eax, [esp + 0x28]
push 0x466be0
push eax
jmp 0x4118fd
mov ecx, dword [esp + 0x3c]
and eax, 0xffff
and ecx, 0xffff
push eax
push ecx
lea edx, [esp + 0x28]
push 0x466bd4
push edx
call fcn.00415e70
mov esi, dword [esp + 0x30]
mov eax, 0x466bec
add esp, 0x10
mov dword [esp + 0x28], esi
test eax, eax
je 0x411ac5
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
mov dword [esp + 0x14], eax
je 0x411ac5
test esi, esi
jne 0x411935
xor ebx, ebx
jmp 0x411942
mov ecx, dword [esp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov ecx, dword [esp + 0x10]
xor ebp, ebp
mov esi, ecx
mov eax, dword [ecx - 8]
add eax, ecx
cmp ecx, eax
mov dword [esp + 0x18], eax
jae 0x411ac9
mov edi, dword [esp + 0x14]
push 0x466bec
push esi
call fcn.00429260
add esp, 8
test eax, eax
je 0x411987
lea esi, [eax + edi]
push 0x466bec
push esi
inc ebp
call fcn.00429260
add esp, 8
test eax, eax
jne 0x411971
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [esi + eax + 1]
mov eax, dword [esp + 0x18]
cmp esi, eax
jb 0x41195f
test ebp, ebp
jle 0x411ac5
lea ecx, [esp + 0x10]
call fcn.004020d0
mov esi, dword [esp + 0x14]
mov edi, ebx
mov eax, dword [esp + 0x10]
sub edi, esi
imul edi, ebp
mov ecx, dword [eax - 8]
mov dword [esp + 0x1c], ecx
add edi, ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x24], edi
cmp ecx, edi
jl 0x4119d4
cmp dword [eax - 0xc], 1
jle 0x411a0f
push edi
lea ecx, [esp + 0x14]
lea esi, [eax - 0xc]
mov ebp, eax
call fcn.00402070
test eax, eax
je 0x411ac5
mov edi, dword [esp + 0x24]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x10]
push edx
lea eax, [edi + 1]
push ebp
push eax
push ecx
call fcn.00410080
add esp, 0x10
push esi
call fcn.00416800
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
mov ebp, eax
add ecx, eax
cmp eax, ecx
mov dword [esp + 0x18], ecx
jae 0x411ac2
push 0x466bec
push ebp
call fcn.00429260
mov esi, eax
add esp, 8
test esi, esi
je 0x411aa7
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
sub edi, esi
mov ebp, dword [eax - 4]
sub edi, ecx
sub ebp, esi
lea edx, [esi + ecx]
add ebp, eax
add edi, eax
mov ecx, ebp
push edi
sub ecx, ebx
lea eax, [esi + ebx]
inc ecx
push edx
push ecx
push eax
mov dword [esp + 0x3c], eax
call fcn.00411d80
mov edx, dword [esp + 0x38]
push ebx
inc ebp
push edx
push ebp
push esi
call fcn.00410080
mov ebp, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov eax, ebx
push 0x466bec
mov byte [edi + ebp], 0
mov edi, dword [esp + 0x40]
sub eax, ecx
push ebp
add edi, eax
mov dword [esp + 0x44], edi
call fcn.00429260
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x411a36
mov edi, dword [esp + 0x24]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebp, [eax + ebp + 1]
mov eax, dword [esp + 0x18]
cmp ebp, eax
jb 0x411a22
mov eax, dword [esp + 0x10]
mov dword [eax - 8], edi
mov ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ebp, ebp
push ebp
push ebp
push 0xffffffffffffffff
push ecx
push ebp
push ebp
call esi
mov ebx, eax
lea ecx, [ebx + ebx]
push ecx
call fcn.00428524
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, eax
push ebx
push edi
push 0xffffffffffffffff
push edx
push ebp
push ebp
call esi
mov ebx, dword [esp + 0x274]
cmp ebx, ebp
je 0x411c3c
push ebp
push ebp
push 0xffffffffffffffff
push ebx
push ebp
push ebp
call esi
push eax
lea eax, [esp + 0x5c]
push eax
push 0xffffffffffffffff
push ebx
push ebp
push ebp
call esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov ecx, dword [0x456538]
mov edx, dword [0x45653c]
mov eax, dword [0x456540]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x456544]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ebp
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x14]
push ecx
mov byte [esp + 0x26c], 4
mov eax, dword [esi]
push eax
mov edx, dword [eax]
call dword [edx + 0x3c]
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x44]
push edx
call fcn.00411cf0
mov eax, dword [esp + 0x54]
push 0xefffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x24]
push ecx
push edx
lea eax, [esp + 0x6c]
push 3
push eax
call fcn.00411d20
add esp, 0x1c
cmp eax, ebp
jl 0x411bda
mov eax, dword [esi]
mov edx, dword [esp + 0x18]
push 1
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
mov eax, dword [esi]
push 0x64
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [esi]
push ebp
push 9
push edi
mov edx, dword [eax]
push eax
call dword [edx + 0x50]
mov eax, dword [esi]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
lea ecx, [esp + 0x18]
call fcn.00415e30
mov esi, dword [esi]
mov eax, dword [esp + 0x14]
push ebp
push eax
mov edx, dword [esi]
push esi
call dword [edx + 0x34]
mov ecx, dword [esp + 0x54]
push ecx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [esp + 0x14]
mov byte [esp + 0x268], 2
call fcn.00415e50
lea ecx, [esp + 0x18]
mov byte [esp + 0x268], 1
call fcn.00415e50
lea ecx, [esp + 0x10]
mov byte [esp + 0x268], 0
call fcn.00416670
lea ecx, [esp + 0x20]
mov dword [esp + 0x268], 0xffffffff
call fcn.00416670
jmp 0x411cb6
mov esi, dword [esp + 0x30]
push ebp
push 0xb
push edi
mov eax, dword [esi]
push eax
mov edx, dword [eax]
call dword [edx + 0x50]
mov eax, dword [esi]
push 2
push 0x40000004
push 2
mov ecx, dword [eax]
push 0x40000004
push eax
call dword [ecx + 0x28]
push edi
call fcn.00427e30
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x268], 0
call fcn.00416670
lea ecx, [esp + 0x20]
mov dword [esp + 0x268], 0xffffffff
call fcn.00416670
jmp 0x411cb6
mov eax, dword [esi]
push 2
push 0x40000001
push 2
mov edx, dword [eax]
push 0x40000001
push eax
call dword [edx + 0x28]
mov esi, dword [esi]
push 0
push 2
push 0
mov eax, dword [esi]
push esi
call dword [eax + 0x50]
mov al, 1
mov ecx, dword [esp + 0x260]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x25c
ret 8