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

Disassembly:
or esi, 0x110f8
pop esi
push esi
xor esi, 0x8e32
or esi, 0x8909
jmp 0x10040529
sub esi, 0x13954
pop esi
cmp dword [ebp - 0xca4], 0
jne 0x10040548
mov dword [ebp - 0x750], 0
jmp 0x100407a8
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push ecx
jmp 0x1004055b
pop ecx
push edx
jmp 0x10040565
and edx, 0xfb04
pop edx
push edx
push edi
add esp, 4
add edx, 0x13405
pop edx
push ebx
push esi
add esp, 4
jmp 0x10040585
pop ebx
lea edx, [ebp - 0x1770]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x210], dx
xor eax, eax
mov word [ebp - 0x110], ax
push ecx
push eax
add esp, 4
jmp 0x100405c1
pop ecx
push edi
jmp 0x100405ca
pop edi
push ecx
and ecx, 0x157f6
xor ecx, 0x11ae
xor ecx, 0x16081
sub ecx, 0x125a6
pop ecx
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x210], cx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push eax
push esi
add esp, 4
sub eax, 0x16c8a
add eax, 0xebf3
sub eax, 0x127fa
and eax, 0x841f
pop eax
push eax
or eax, 0x1440b
add eax, 0xc4e2
and eax, 0x10aa
pop eax
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x10040694
movzx ecx, word [ebp - 0x210]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15e4], ecx
jmp 0x100406f7
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x100405b3
movzx edx, word [ebp - 0x210]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x100405b3
movzx ecx, word [ebp - 0x210]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x100406e1
mov dword [ebp - 0x15e0], 0xffffffff
jmp 0x100406eb
mov dword [ebp - 0x15e0], 1
mov eax, dword [ebp - 0x15e0]
mov dword [ebp - 0x15e4], eax
cmp dword [ebp - 0x15e4], 0
jne 0x10040740
push eax
push edx
add esp, 4
or eax, 0x8b3c
or eax, 0x7960
add eax, 0xb912
pop eax
push ecx
push esi
add esp, 4
jmp 0x10040725
sub ecx, 0x163af
add ecx, 0x1769a
pop ecx
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x100407a8
push ebx
push edi
add esp, 4
and ebx, 0x13064
pop ebx
push ecx
push ecx
add esp, 4
call 0x1004075d
add byte [esi], bh
cmp eax, dword [edi + 0x43]
dec eax
dec edi
add esp, 4
jmp 0x10040765
and ecx, 0x1204e
add ecx, 0x10745
pop ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [ebp - 0xca4]
je 0x1004079e
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x10040554
mov dword [ebp - 0x750], 0
push edi
and edi, 0x18342
jmp 0x100407b5
sub edi, 0x2619
xor edi, 0x11df6
pop edi
push edi
push esi
add esp, 4
and edi, 0x3a71
pop edi
push edi
push eax
add esp, 4
sub edi, 0x5d8f
pop edi
cmp dword [ebp - 0x750], 0
jne 0x10040824
push esi
push edx
add esp, 4
call 0x100407f6
add byte [edx], bh
cmp byte [edi + 0x4e], al
dec eax
dec eax
aas
inc edi
add esp, 4
and esi, 0x111bb
jmp 0x10040806
xor esi, 0x12d8a
pop esi
push eax
sub eax, 0x4c9e
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x1004134b
push edi
push ebx
add esp, 4
add edi, 0xace2
jmp 0x10040838
or edi, 0x1d46
add edi, 0x6877
pop edi
push edx
call 0x10040852
add byte [esi], bh
dec ecx
dec esi
inc ebx
cmp edi, dword [eax]
add esp, 4
pop edx
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15e8], edx
cmp dword [ebp - 0x15e8], 0
jne 0x10040895
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f0], eax
jmp 0x10040b86
mov ecx, dword [ebp - 0x15e8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15ec], edx
jne 0x100408bd
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f0], eax
jmp 0x10040b86
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f0], ecx
cmp dword [ebp - 0x15f0], 0
jne 0x100408ef
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f0], edx
jmp 0x10040b86
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x754], eax
jne 0x10040914
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f0], ecx
jmp 0x10040b86
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1964], ecx
mov dword [ebp - 0x758], 0
jmp 0x1004096e
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x10040b7a
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x195c]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1960]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1964]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1968], eax
mov dword [ebp - 0x19c], 0
jmp 0x100409de
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x10040a90
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x10040a90
push eax
call 0x10040a1a
add byte [edx + 0x3b], al
dec ebx
dec ebp
dec ecx
inc edi
dec ebp
cmp dword [ebx + 0x525804c4], eax
push edi
add esp, 4
xor edx, 0x10d2f
call 0x10040a39
add byte [ecx*2 + 0x3537483a], dh
cmp byte [edx + 0x32], cl
inc esp
add esp, 4
pop edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x10040a82
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x10040a89
jmp 0x100409cf
jmp 0x10040a90
push ecx
push esi
add esp, 4
jmp 0x10040a9b
and ecx, 0x4787
pop ecx
push esi
sub esi, 0x12028
xor esi, 0x2888
xor esi, 0x1858a
pop esi
push ecx
push esi
add esp, 4
jmp 0x10040ac1
pop ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x10040aef
mov dword [ebp - 0xca8], 0
jmp 0x10040b5e
push edi
push edi
add esp, 4
add edi, 0x16cd2
xor edi, 0x14fd6
sub edi, 0xc830
pop edi
push eax
push eax
add esp, 4
or eax, 0x5e01
xor eax, 0x5446
pop eax
push esi
and esi, 0x364f
pop esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x10040b54
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x10040b5e
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x10040b75
mov ecx, dword [ebp - 0x1968]
mov dword [ebp - 0x3f0], ecx
jmp 0x10040b86
jmp 0x1004095f
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f0], edx
cmp dword [ebp - 0x3f0], 0
je 0x10040c61
push ebx
sub ebx, 0xd47f
pop ebx
push ebx
sub ebx, 0x7974
pop ebx
push ecx
sub ecx, 0x3f12
pop ecx
push eax
push eax
add esp, 4
add eax, 0xcede
pop eax
push edi
add edi, 0x7677
or edi, 0x4d9d
pop edi
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x196c], eax
push esi
push ecx
add esp, 4
and esi, 0xee29
call 0x10040beb
add byte [0x4d3f444a], bh
dec eax
dec esi
xor al, byte [edi - 0x7d]
les eax, [esi + ebx*2]
push ecx
xor ecx, 0x12f14
xor ecx, 0x12e65
and ecx, 0x6e2e
pop ecx
mov ecx, dword [ebp - 0x196c]
mov dword [ebp - 0x1970], ecx
lea edx, [ebp - 0x1734]
push edx
call dword [ebp - 0x1970]
test eax, eax
jne 0x10040c61
push eax
call 0x10040c2e
add byte [esi], bh
inc ecx
inc ebx
cmp byte [ebx + 0x32], al
inc esi
add esp, 4
pop eax
push ecx
xor ecx, 0x56f3
or ecx, 0xd116
call 0x10040c4e
add byte [edx + 0x3b], cl
inc ebx
inc esi
xor cl, byte [edx + 0x47]
dec esp
push eax
add esp, 4
pop ecx
mov dword [ebp - 0x79c], 0
jmp 0x1004134b
push esi
push eax
add esp, 4
sub esi, 0xb4df
sub esi, 0x6e82
pop esi
push esi
push ebx
add esp, 4
or esi, 0x16e8b
pop esi
push esi
push ebx
add esp, 4
jmp 0x10040c8c
add esi, 0x9667
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1974], eax
mov ecx, dword [ebp - 0x1974]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1978], edx
mov eax, dword [ebp - 0x1978]
mov dword [ebp - 0x15f4], eax
push ebx
or ebx, 0x64ef
and ebx, 0x28f3
pop ebx
push esi
add esi, 0xb4c1
mov cl, 0xb4
add byte [eax], al
jmp 0x10040cd6
call 0x10040ce2
add byte [ebx], bh
inc ebp
dec ebx
dec ecx
aas
aaa
add esp, 4
and esi, 0x1b74
pop esi
cmp dword [ebp - 0x15f4], 0
jne 0x10040d04
mov dword [ebp - 0x318], 0
jmp 0x10040fab
mov ecx, dword [ebp - 0x15f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edi
push esi
add esp, 4
xor edi, 0xee7c
or edi, 0x1c05
or edi, 0x40f9
or edi, 0x109cd
pop edi
push edi
jmp 0x10040d3b
or edi, 0xca5b
xor edi, 0x163ca
pop edi
cmp dword [ebp - 0xcb4], 0
jne 0x10040d60
mov dword [ebp - 0x318], 0
jmp 0x10040fab
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ebx
and ebx, 0x4428
xor ebx, 0xa6c8
pop ebx
push eax
jmp 0x10040d80
jmp 0x10040d85
and eax, 0x294a
pop eax
push edx
push edx
add esp, 4
and edx, 0x9773
add edx, 0x124b4
pop edx
lea edx, [ebp - 0x1734]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
and esi, 0x6ad3
pop esi
push esi
push ecx
add esp, 4
call 0x10040de1
add byte [edx + eax*2], bh
xor cl, byte [eax + 0x4b]
inc ebp
add esp, 4
call 0x10040df0
add byte [edx], dh
inc ebx
dec edi
dec ebx
inc eax
inc ebp
add esp, 4
jmp 0x10040df9
pop esi
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push ecx
xor ecx, 0x149d
pop ecx
push ecx
push esi
add esp, 4
and ecx, 0x117d4
pop ecx
push edx
push esi
add esp, 4
add edx, 0x17ccf
pop edx
push ebx
push ecx
add esp, 4
or ebx, 0xdf23
add ebx, 0x111d6
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x10040ea0
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x15fc], ecx
jmp 0x10040efa
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x10040dc8
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x10040dc8
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x10040ee4
mov dword [ebp - 0x15f8], 0xffffffff
jmp 0x10040eee
mov dword [ebp - 0x15f8], 1
mov eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x15fc], eax
cmp dword [ebp - 0x15fc], 0
jne 0x10040f43
push esi
push eax
add esp, 4
xor esi, 0x729f
pop esi
push eax
push eax
add esp, 4
sub eax, 0x14607
and eax, 0x152db
add eax, 0x6aba
sub eax, 0x18135
pop eax
push edx
xor edx, 0x15930
pop edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x318], ecx
jmp 0x10040fab
push ecx
add ecx, 0x1865
pop ecx
push edi
push edx
add esp, 4
or edi, 0x14acf
add edi, 0x2ffb
xor edi, 0x10ba
pop edi
push esi
push esi
add esp, 4
or esi, 0xe59e
add esi, 0xf1c6
pop esi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x10040fa1
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x10040d6c
mov dword [ebp - 0x318], 0
push edi
xor edi, 0x47b0
xor edi, 0x11fe5
pop edi
push eax
push edi
add esp, 4
add eax, 0x1fe3
add eax, 0x8393
call 0x10040fd9
or al, byte [eax]
add byte [eax], al
add byte [edx], bh
cmp al, 0x3a
aaa
inc ecx
aas
dec edx
cmp bh, byte [edi]
add esp, 4
pop eax
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push esi
push edi
add esp, 4
xor esi, 0x3ee8
pop esi
push esi
push esi
add esp, 4
or esi, 0x137d6
xor esi, 0x1849e
and esi, 0x129de
xor esi, 0x890
pop esi
push edx
and edx, 0x298f
pop edx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1600], edx
cmp dword [ebp - 0x1600], 0
jne 0x1004104e
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x1004133f
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1604], edx
jne 0x10041076
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x1004133f
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1604]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1608], ecx
cmp dword [ebp - 0x1608], 0
jne 0x100410a8
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x1004133f
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1608]
mov dword [ebp - 0x764], eax
jne 0x100410cd
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x1004133f
mov edx, dword [ebp - 0x764]
invalid
test esp, ebx
cld