Function at 0x40b1dc
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
cmp eax, 0x4d495049
xor eax, 0xeb04c483
add esi, dword [eax + ecx*2]
inc ebx
or ebx, 0x178cb
pop ebx
push edi
add edi, 0xce68
or edi, 0x65f2
pop edi
mov edx, dword [ebp - 0x3cc]
mov al, byte [edx + 0xa]
mov byte [ebp - 0x39d], al
mov ecx, dword [ebp - 0xad8]
sub ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x166c], ecx
mov dword [ebp - 0xd24], 0
push edi
add edi, 0x14075
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x5a25
xor ebx, 0x8dd7
pop ebx
push eax
push ebx
add esp, 4
or eax, 0xb3fc
add eax, 0x5e13
sub eax, 0x71ea
pop eax
mov byte [ebp - 0x9fc], 0x56
mov byte [ebp - 0x9fb], 0x69
mov byte [ebp - 0x9fa], 0x72
mov byte [ebp - 0x9f9], 0x74
invalid
push dword [esi + eax*8 - 0x7b]
or dh, dh
invalid
push dword [ebp - 0x3a]
test dword [ecx], ecx
idiv bh
jmp dword [ecx - 0x3a]
test dword [edx], ecx
idiv bh
jmp [esi + eax*8 - 0x7b]
or esi, esi
invalid
call dword [eax - 0x3a]
test dword [esi + esi*8], ecx
invalid
push dword [edx - 0x3a]
test dword [0x6ffffff6], ecx
mov byte [ebp - 0x9f2], 0x74
mov byte [ebp - 0x9f1], 0x65
mov byte [ebp - 0x9f0], 0x63
mov byte [ebp - 0x9ef], 0x74
mov byte [ebp - 0x9ee], 0
push ebx
add ebx, 0xc98b
and ebx, 0x48c4
add ebx, 0x3c9
or ebx, 0x147fc
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0x8b8f
loope 0x40ad4e
mov eax, dword [eax]
add byte [ecx + 0x87cbe1], al
add byte [ecx + 0x166cbf1], al
add byte [ecx + 0x64], bl
mov edx, dword [0x18]
mov dword [ebp - 0x1d5c], edx
mov eax, dword [ebp - 0x1d5c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1d60], ecx
mov edx, dword [ebp - 0x1d60]
mov dword [ebp - 0x1630], edx
push esi
push edi
add esp, 4
call 0x40ae0c
add byte [edi], dh
inc eax
push eax
aaa
inc ecx
dec esp
xor eax, 0x83483c3a
les eax, [ebx + ebp*8]
add ecx, dword [edx + 0x43]
pop esi
push eax
add eax, 0x91c7
add eax, 0x138a5
xor eax, 0x110b5
pop eax
cmp dword [ebp - 0x1630], 0
jne 0x40ae41
mov dword [ebp - 0x2c0], 0
jmp 0x40b0e8
mov eax, dword [ebp - 0x1630]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd00], edx
push edi
push eax
add esp, 4
and edi, 0x12569
and edi, 0x69f0
pop edi
push ecx
push eax
add esp, 4
jmp 0x40ae72
add ecx, 0xf1fd
sub ecx, 0x1416a
or ecx, 0x6f45
pop ecx
cmp dword [ebp - 0xd00], 0
jne 0x40ae9d
mov dword [ebp - 0x2c0], 0
jmp 0x40b0e8
mov eax, dword [ebp - 0xd00]
mov dword [ebp - 0x50c], eax
push edi
push ebx
add esp, 4
or edi, 0x17324
pop edi
push eax
xor eax, 0x1174f
sub eax, 0x155f3
call 0x40aed1
add byte [ecx + 0x3c], al
dec esp
inc esp
xor bh, byte [eax]
dec ecx
add esp, 4
or eax, 0x8b7e
pop eax
lea ecx, [ebp - 0x16c0]
mov dword [ebp - 0xcfc], ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcf8], eax
xor ecx, ecx
mov word [ebp - 0x1cc], cx
xor edx, edx
mov word [ebp - 0x2c], dx
push edi
push eax
add esp, 4
call 0x40af19
add byte [0x324e3f3c], bh
cmp al, 0x36
cmp byte [edi - 0x7d], cl
les eax, [ecx + eax*4]
test dword [edi - 0x14ffffa1], 0x44363205
cmp ebx, dword ds:[edi + 0x50]
and eax, 0xbd4d
jmp 0x40af36
pop eax
mov eax, dword [ebp - 0xcf8]
mov cx, word [eax]
mov word [ebp - 0x10a6], cx
mov edx, dword [ebp - 0xcf8]
add edx, 2
mov dword [ebp - 0xcf8], edx
mov ax, word [ebp - 0x10a6]
mov word [ebp - 0x1cc], ax
mov ecx, dword [ebp - 0xcfc]
mov dx, word [ecx]
mov word [ebp - 0x10a8], dx
mov eax, dword [ebp - 0xcfc]
add eax, 2
mov dword [ebp - 0xcfc], eax
mov cx, word [ebp - 0x10a8]
mov word [ebp - 0x2c], cx
push ecx
push ecx
add esp, 4
and ecx, 0xc28b
pop ecx
push edx
or edx, 0x6f4f
or edx, 0x15a5e
and edx, 0xa7a6
pop edx
push eax
push edx
add esp, 4
or eax, 0x64b4
and eax, 0xf627
pop eax
movzx edx, word [ebp - 0x2c]
test edx, edx
jne 0x40afdd
movzx eax, word [ebp - 0x1cc]
movzx ecx, word [ebp - 0x2c]
sub eax, ecx
mov dword [ebp - 0x1638], eax
jmp 0x40b037
movzx edx, word [ebp - 0x1cc]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
je 0x40af05
movzx ecx, word [ebp - 0x1cc]
xor ecx, 0x20
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
je 0x40af05
movzx eax, word [ebp - 0x1cc]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
jge 0x40b021
mov dword [ebp - 0x1634], 0xffffffff
jmp 0x40b02b
mov dword [ebp - 0x1634], 1
mov edx, dword [ebp - 0x1634]
mov dword [ebp - 0x1638], edx
cmp dword [ebp - 0x1638], 0
jne 0x40b080
push eax
push ecx
add esp, 4
call 0x40b051
add byte [edx + 0x3f], al
dec ebp
xor al, 0x35
cmp eax, 0x8104c483
call fcn.00418298
call 0x40b068
add byte [ecx], bh
aaa
dec esp
xor al, 0x43
inc ecx
xor ecx, dword [eax - 0x7d]
les eax, [ecx + eax*4]
invalid
push edx
push edx
add esp, 4
xor edx, 0x587d
pop edx
push esi
push esi
add esp, 4
sub esi, 0x12efc
sub esi, 0xa45e
add esi, 0x18328
add dword [ecx], 0
pop esi
push esi
add esi, 0x8d18
jmp 0x40b0b1
pop esi
mov ecx, dword [ebp - 0x50c]
mov edx, dword [ecx]
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x50c]
cmp eax, dword [ebp - 0xd00]
je 0x40b0de
mov ecx, dword [ebp - 0x50c]
cmp dword [ecx + 0x30], 0
jne 0x40aea9
mov dword [ebp - 0x2c0], 0
push eax
or eax, 0xb191
and eax, 0x18125
call 0x40b104
add byte [esi + 0x47], al
dec edx
inc eax
cmp byte [ecx], bh
inc edx
cmp dword [edi - 0x7d], ecx
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [esi + 0x39], cl
inc ebx
dec ebx
xor eax, 0x4040423e
inc edx
inc eax
inc eax
add esp, 4
pop eax
cmp dword [ebp - 0x2c0], 0
jne 0x40ba1e
mov edx, 0x6b
mov word [ebp - 0x1748], dx
mov eax, 0x65
mov word [ebp - 0x1746], ax
mov ecx, 0x72
mov word [ebp - 0x1744], cx
mov edx, 0x6e
mov word [ebp - 0x1742], dx
mov eax, 0x65
mov word [ebp - 0x1740], ax
mov ecx, 0x6c
mov word [ebp - 0x173e], cx
mov edx, 0x33
mov word [ebp - 0x173c], dx
mov eax, 0x32
mov word [ebp - 0x173a], ax
invalid
mov ecx, 0x2e
mov word [ebp - 0x1738], cx
mov edx, 0x64
mov word [ebp - 0x1736], dx
mov eax, 0x6c
mov word [ebp - 0x1734], ax
mov ecx, 0x6c
mov word [ebp - 0x1732], cx
xor edx, edx
mov word [ebp - 0x1730], dx
push edx
or edx, 0xa8be
and edx, 0x6343
call 0x40b1dc
add byte [edx + 0x39], cl
xor al, 0x3d
inc eax
dec ebx
xor bh, byte [eax]
inc ebp
add esp, 4
or edx, 0x11d79
pop edx
push edi
push ecx
add esp, 4
sub edi, 0x1451e
pop edi
mov byte [ebp - 0x8c4], 0x4c
mov byte [ebp - 0x8c3], 0x6f
mov byte [ebp - 0x8c2], 0x61
mov byte [ebp - 0x8c1], 0x64
mov byte [ebp - 0x8c0], 0x4c
mov byte [ebp - 0x8bf], 0x69
mov byte [ebp - 0x8be], 0x62
mov byte [ebp - 0x8bd], 0x72
mov byte [ebp - 0x8bc], 0x61
mov byte [ebp - 0x8bb], 0x72
mov byte [ebp - 0x8ba], 0x79
mov byte [ebp - 0x8b9], 0x57
mov byte [ebp - 0x8b8], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1d64], eax
mov ecx, dword [ebp - 0x1d64]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1d68], edx
mov eax, dword [ebp - 0x1d68]
mov dword [ebp - 0x163c], eax
push ecx
push edx
add esp, 4
call 0x40b287
add byte [ecx], bh
cmp edi, dword [edi]
inc esi
dec ebx
dec ebp
cmp dword [ebx - 0x7d], ecx
les eax, [ecx + eax*4]
shl dword [eax], 0x1b
add byte [eax], al
pop ecx
push edi
push ebx
add esp, 4
and edi, 0x22c5
jmp 0x40b2a5
pop edi
cmp dword [ebp - 0x163c], 0
jne 0x40b2be
mov dword [ebp - 0x7a4], 0
jmp 0x40b565
mov ecx, dword [ebp - 0x163c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xd0c], eax
push edx
push ecx
add esp, 4
or edx, 0x17139
or edx, 0xafae
xor edx, 0x15851
and edx, 0x38c8
pop edx
push edx
and edx, 0x12a7a
add byte [edx + 0x50], bl
push ebx
add esp, 4
or eax, 0x5bc7
pop eax
cmp dword [ebp - 0xd0c], 0
jne 0x40b31a
mov dword [ebp - 0x7a4], 0
jmp 0x40b565
mov ecx, dword [ebp - 0xd0c]
mov dword [ebp - 0x510], ecx
push ebx
push ecx
add esp, 4
sub ebx, 0x17792
pop ebx
push ecx
push edx
add esp, 4
sub ecx, 0x1403f
add dword [eax], eax
or ecx, 0x37b5
or ecx, 0x70df
xor ecx, 0x208
pop ecx
push ecx
add ecx, 0x16b13
rcl dword [ebx], 0x6b
add dword [eax], eax
pop ecx
lea edx, [ebp - 0x1748]
mov dword [ebp - 0xd08], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xd04], ecx
xor edx, edx
mov word [ebp - 0x1d0], dx
xor eax, eax
mov word [ebp - 0x30], ax
push eax
push edx
add esp, 4
xor eax, 0x7df4
jmp method.std::ctype_char_.virtual_32
call fcn.0040b3a2
add byte [ecx + eax*2 + 0x44], al
cmp al, 0x4b
cmp al, 0x4b
dec edx
dec edi
cmp al, byte [ebx + 0x575804c4]
add esp, 4
pop eax
push edi
add edi, 0x3c40
and edi, 0x1e61
pop edi
mov ecx, dword [ebp - 0xd04]
mov dx, word [ecx]
mov word [ebp - 0x10aa], dx
mov eax, dword [ebp - 0xd04]
add eax, 2
push edi
push edx
add esp, 4
add edi, 0xbe42
pop edi
push ecx
call fcn.0040b581
add byte [ecx + 0x40], cl
inc eax
dec ecx
inc edi
inc esp
dec edi
xor al, 0x50