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

Disassembly:
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push edi
push esi
add esp, 4
sub edi, 0x17796
and edi, 0xeb38
jmp 0x51486e
pop edi
push ebx
push eax
add esp, 4
or ebx, 0xaad8
jmp 0x51487f
jmp 0x514888
pop ebx
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x5148d1
push edx
push edi
add esp, 4
sub edx, 0x1253d
pop edx
push esi
push edx
add esp, 4
and esi, 0x1070e
or esi, 0x13199
pop esi
push esi
call 0x5148c8
add byte [esi], dh
cmp byte [eax + 0x4e], al
xor cl, byte [ecx + 0x42]
cmp byte [ebx], bh
add esp, 4
pop esi
jmp 0x514aff
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push edx
push ebx
add esp, 4
xor edx, 0xc96e
or edx, 0x56bb
pop edx
push ecx
push edi
add esp, 4
or ecx, 0x16258
xor ecx, 0xfacf
and ecx, 0xe3d3
pop ecx
push ecx
add ecx, 0x1cd6
pop ecx
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 0x514980
push eax
push esi
add esp, 4
xor eax, 0x14b87
or eax, 0x4b9b
sub eax, 0x13f5d
or eax, 0x10acc
pop eax
push ebx
push esi
add esp, 4
add ebx, 0x3f45
pop ebx
push esi
xor esi, 0x12fe6
pop esi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x514ab1
cmp dword [ebp - 0xc10], 0
jle 0x514aa5
push ecx
push eax
add esp, 4
or ecx, 0x1399e
pop ecx
push esi
push ebx
add esp, 4
xor esi, 0x13d6a
pop esi
push ebx
add ebx, 0x7819
add ebx, 0x21bc
sub ebx, 0x3fe1
sub ebx, 0xc551
pop ebx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x514a41
push ebx
call 0x5149e4
add byte [ebx], bh
xor dh, byte [ebx]
inc ebx
dec ebp
dec esi
aas
push eax
add esp, 4
pop ebx
push eax
call 0x5149f5
add byte [edx + 0x41], cl
cmp al, byte [esi + 0x46]
inc ebp
add esp, 4
sub eax, 0x16237
pop eax
push edx
xor edx, 0x10a0e
pop edx
mov eax, dword [ebp - 0xa60]
test dword [eax + 0xffffff5], esp
mov dh, 8
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x514a29
mov dword [ebp - 0x14cc], 1
jmp 0x514a33
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x514aa5
push ebx
call 0x514a51
add byte [0x473a4c4f], dh
cmp byte [eax], bh
xor ecx, dword [eax - 0x7d]
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [ecx + edi + 0x4c], al
xor dh, byte [ebx]
xor cl, byte [edx + 0x47]
inc ecx
cmp dword [ebx + 0x575b04c4], eax
jmp 0x514a72
pop edi
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 0x514980
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x514afa
push ebx
push eax
add esp, 4
xor ebx, 0xe592
xor ebx, 0x1b7b
pop ebx
push edx
add edx, 0x2581
sub edx, 0x15a4d
xor edx, 0x156a8
pop edx
push edx
push edx
add esp, 4
sub edx, 0x158e2
pop edx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x514b3b
jmp 0x514848
push ebx
push ebx
add esp, 4
and ebx, 0x16cce
xor ebx, 0x63d0
pop ebx
push edi
or edi, 0x26a
xor edi, 0x5646
and edi, 0x10915
pop edi
push ebx
push ebx
add esp, 4
sub ebx, 0x16a79
pop ebx
mov dword [ebp - 0xa5c], 0
push ecx
push edx
add esp, 4
jmp 0x514b48
add ecx, 0x24dd
sub ecx, 0xfa2
pop ecx
push ecx
and ecx, 0x3547
call 0x514b69
add byte [edx + edi], bh
cmp dl, byte [eax + 0x34]
dec edx
cmp dword [ebx - 0x39a6fb3c], eax
test esp, edi
idiv edi
inc dword [ebp - 0x3a]
test ebp, edi
idiv edi
invalid