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

Disassembly:
add esp, 4
pop ebx
mov dword [ebp - 0x1fa8], 0xffffffff
push edx
push esi
add esp, 4
xor edx, 0xb6fc
pop edx
push edx
sub edx, 0x13377
call 0x510c00
add byte [ebx + 0x3c], al
xor eax, 0x4942424e
inc ecx
inc esi
aaa
add esp, 4
jmp 0x510c08
add edx, 0x14fa5
pop edx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x510c2c
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push eax
add eax, 0x869a
jmp 0x510c38
and eax, 0x8704
call 0x510c4e
add byte [ebp + 0x49], cl
cmp al, 0x36
dec ecx
xor dh, byte [edi]
cmp byte [eax - 0x7d], cl
les eax, [eax + ebx*2]
push eax
push ecx
add esp, 4
xor eax, 0xfa7f
pop eax
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x510ca6
push edx
push edx
add esp, 4
and edx, 0x1740b
sub edx, 0x18683
and edx, 0x18f9
xor edx, 0x94a8
pop edx
push esi
and esi, 0x12d3c
pop esi
push edx
push edi
add esp, 4
or edx, 0xfc21
pop edx
jmp 0x510ed4
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push eax
push eax
add esp, 4
xor eax, 0xd621
jmp 0x510ccc
xor eax, 0x3abb
pop eax
push edi
push esi
add esp, 4
jmp 0x510ce1
pop edi
push ebx
push eax
add esp, 4
xor ebx, 0x225d
pop ebx
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x510d55
push ebx
push ebx
add esp, 4
or ebx, 0x12196
call 0x510d2b
add byte [ebx], dh
xor al, 0x43
dec ecx
cmp al, 0x38
dec edi
cmp al, byte [ebx + 0x5eb04c4]
cmp al, byte [eax + 0x4e]
inc eax
aaa
sub ebx, 0xf892
pop ebx
push edi
sub edi, 0x1639d
pop edi
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x510e86
cmp dword [ebp - 0xc08], 0
jle 0x510e7a
push ebx
push ebx
add esp, 4
add ebx, 0x12063
xor ebx, 0x14881
pop ebx
push ebx
or ebx, 0x12ab2
sub ebx, 0x11c41
sub ebx, 0xf2b7
pop ebx
push edx
push esi
add esp, 4
sub edx, 0x8c35
pop edx
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x510e16
push esi
jmp 0x510db3
pop esi
push edi
add edi, 0x6875
sub edi, 0xaf97
pop edi
push edx
sub edx, 0x14f1c
xor edx, 0xfd97
sub edx, 0x2a35
sub edx, 0x17303
pop edx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x510dfe
mov dword [ebp - 0x14c0], 1
jmp 0x510e08
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x510e7a
push edx
push ebx
add esp, 4
and edx, 0x168ed
jmp 0x510e2a
or edx, 0x20e5
jmp 0x510e35
pop edx
push edi
push edi
add esp, 4
add edi, 0xc88b
or edi, 0x179a1
pop edi
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x510d55
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x510ecf
push ecx
push edx
add esp, 4
xor ecx, 0x13edc
pop ecx
push esi
add esi, 0xbf3
jmp 0x510eaa
and esi, 0x15954
call 0x510ebd
add byte [ecx + 0x4e], al
dec ecx
inc ecx
cmp eax, 0xc4834638
add al, 0x5e
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x510f10
jmp 0x510c1d
push eax
push ecx
add esp, 4
sub eax, 0x8e02
xor eax, 0xc097
or eax, 0xe78a
pop eax
push esi
push ecx
add esp, 4
or esi, 0x13dbc
pop esi
push ebx
sub ebx, 0x129
or ebx, 0x451a
pop ebx
mov dword [ebp - 0x3cc], 0
push edx
or edx, 0x15acf
xor edx, 0x14b2a
add edx, 0xf253
xor edx, 0x497e
pop edx
push esi
push edx
add esp, 4
add esi, 0x1250
sub esi, 0xf2d
or esi, 0xa1c4
pop esi
push edi
and edi, 0x1825f
sub edi, 0x10af3
xor edi, 0xf59c
pop edi
push eax
push eax
add esp, 4
or eax, 0x14565
sub eax, 0xa2d7
xor eax, 0x3d34
or eax, 0x8289
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push ebx
push ebx
add esp, 4
jmp 0x510f96
call 0x510fa3
add byte [edi + 0x32], al
dec edx
inc esp
dec ebx
inc esi
cmp eax, dword [ebx - 0x347efb3c]
inc eax
and eax, 0x565b0001
xor esi, 0x1f54
xor esi, 0xece8
pop esi
mov dword [ebp - 0x1fac], 0xffffffff
push ebx
push esi
add esp, 4
sub ebx, 0x11fdc
pop ebx
push edi
sub edi, 0x11664
xor edi, 0x1614a
pop edi
push edx
push edi
add esp, 4
sub edx, 0x14f40
sub edx, 0xb44
add edx, 0xd44f
pop edx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x511014
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push eax
push ecx
add esp, 4
add eax, 0x10da5
or eax, 0x57f5
and eax, 0xabab
pop eax
push edx
add edx, 0xa199
add edx, 0x139ec
xor edx, 0x7457
sub edx, 0xf675
pop edx
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x51108e
push edi
push ecx
add esp, 4
jmp 0x511061
add edi, 0xaaa5
pop edi
push ebx
push esi
add esp, 4
and ebx, 0x127e9
or ebx, 0x496a
add ebx, 0x1df1
jmp 0x511088
pop ebx
jmp 0x5112bc
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push eax
add eax, 0x6368
or eax, 0x11f45
xor eax, 0xfd7
pop eax
push edx
push ecx
add esp, 4
add edx, 0x1f2a
jmp 0x5110cc
jmp 0x5110d5
pop edx
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x51113d
push edi
add edi, 0x16fb1
or edi, 0xef29
pop edi
push ecx
jmp 0x51110e
or ecx, 0x109ab
or ecx, 0x11937
pop ecx
push esi
call 0x511128
add byte [esi + edi], bh
xor ecx, dword [ebp + 0x3e]
inc edi
add esp, 4
pop esi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x51126e
cmp dword [ebp - 0xc10], 0
jle 0x511262
push edx
and edx, 0xc7ef
xor edx, 0x165e8
jmp 0x51115d
pop edx
push edi
push edi
add esp, 4
and edi, 0x6889
call 0x511178
add byte [esi + 0x44], al
cmp byte [ebx], bh
inc eax
dec ecx
dec edi
dec esi
dec ebx
add esp, 4
pop edi
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x5111fe
push edi
push ebx
add esp, 4
sub edi, 0xe86a
call 0x5111aa
add byte [ebx + 0x3d], al
inc edi
cmp al, 0x34
inc edi
add esp, 4
call 0x5111ba
add byte [ecx + 0x4e], al
inc esp
dec eax
inc esp
xor eax, 0x4c4834e
xor edi, 0x8ad1
pop edi
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x5111e6
mov dword [ebp - 0x14cc], 1
jmp 0x5111f0
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x511262
push ecx
push edi
add esp, 4
add ecx, 0x17816
pop ecx
push edi
or edi, 0x9b91
or edi, 0x672
xor edi, 0x99f7
sub edi, 0x12a6c
pop edi
push ecx
push edx
add esp, 4
and ecx, 0x4c39
pop ecx
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x51113d
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x5112b7
push edi
sub edi, 0xae47
xor edi, 0x9fcb
and edi, 0xb6f6
xor edi, 0x7a78
pop edi
push ebx
push esi
add esp, 4
add ebx, 0x12b49
pop ebx
push esi
push ecx
add esp, 4
add esi, 0x323c
pop esi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x5112f8
jmp 0x511005
push eax
sub eax, 0x136c8
pop eax
push edx
push eax
add esp, 4
add edx, 0x176e2
sub edx, 0x21db
pop edx
push edi
push ecx
add esp, 4
sub edi, 0x94b2
pop edi
push ecx
push esi
add esp, 4
or ecx, 0x18184
pop ecx
mov dword [ebp - 0xa5c], 0
push esi
sub esi, 0x121c8
and esi, 0x2a74
xor esi, 0x183d8
pop esi
push ecx
or ecx, 0x4ed3
xor ecx, 0xf49f
call 0x511326
add byte [edi + 0x44], al
dec ebx
xor edi, dword [esi]
dec esp
cmp dword [ebx - 0x39a6fb3c], eax
test esp, edi
idiv edi
inc dword [ebp - 0x3a]
test ebp, edi
idiv edi
invalid