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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push eax
push edi
add esp, 4
jmp 0x4055bc
xor eax, 0x123f0
call 0x4055d1
add byte [esi + eax*2 + 0x35], cl
inc eax
inc edi
xor eax, 0x8333484d
les eax, [eax + ebx*2]
push eax
push edi
add esp, 4
or eax, 0x1850e
pop eax
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x405629
push ebx
push edx
add esp, 4
jmp 0x4055fe
sub ebx, 0x13a17
pop ebx
push edi
call 0x405613
add byte [eax], bh
cmp bh, byte [edi]
inc edi
inc edx
cmp bh, byte [0xeb04c483]
add eax, 0x41483340
cmp eax, 0x86bef81
add dword [eax], eax
pop edi
jmp 0x405857
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ecx
push eax
add esp, 4
or ecx, 0x7532
add ecx, 0x17393
pop ecx
push edx
push edx
add esp, 4
jmp 0x40565d
or edx, 0x86ac
pop edx
push esi
push edi
add esp, 4
jmp 0x405670
pop esi
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x4056d8
push eax
push ecx
add esp, 4
jmp 0x4056a0
call 0x4056ad
add byte [ebx + 0x33], cl
xor edi, dword [ecx]
cmp eax, dword [edx + 0x44]
add esp, 4
call 0x4056bd
add byte [ebp + 0x42], al
inc eax
xor al, 0x32
push eax
inc ebp
add esp, 4
or eax, 0xd345
pop eax
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x405809
cmp dword [ebp - 0xc88], 0
jle 0x4057fd
push eax
push esi
add esp, 4
or eax, 0x4fe7
call 0x4056fd
add byte [edi + 0x3b], al
inc eax
push eax
dec edi
dec esi
xor al, 0x83
les eax, [eax + ebx*2]
push ecx
sub ecx, 0xbd8b
pop ecx
push edx
and edx, 0x184e3
sub edx, 0x8d3b
pop edx
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x405799
push edx
xor edx, 0x7030
and edx, 0xe43a
or edx, 0xd707
pop edx
push edx
push esi
add esp, 4
jmp 0x40574b
call 0x40575b
add byte [edx], bh
dec edi
dec edx
push eax
dec esi
inc esi
dec eax
cmp al, 0x39
cmp dword [ebx - 0x74a5fb3c], eax
test dword [eax - 0xb], eax
invalid
push ecx
xor ecx, 0x61ce
call 0x4057ae
add byte [0x4b374647], bh
push eax
dec edi
xor al, 0x83
les eax, [ecx + eax*4]
ror dword [ebp - 0x17fffefb], 0xb
add byte [eax], al
add byte [eax], al
inc ebp
inc ecx
dec esp
inc ecx
inc ebp
dec ebx
xor eax, dword [ebx + 0x42]
inc esi
add esp, 4
pop ecx
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac0]
add eax, 1
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x4056d8
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x405852
push edx
push ebx
add esp, 4
call 0x405827
add byte [ebx + 0x3a], al
inc edi
dec esp
inc edx
cmp al, 0x43
dec ecx
inc ebx
dec ebx
add esp, 4
sub edx, 0x42cb
jmp 0x405837
pop edx
push ecx
push eax
add esp, 4
add ecx, 0x20ad
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x405893
jmp 0x4055a0
push esi
xor esi, 0x8830
call 0x40586b
add byte [ebp + 0x33], cl
xor cl, byte [esi + 0x38]
cmp ecx, dword [ecx - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x46
xor dh, byte [edi]
dec edi
sub esi, 0x6de3
pop esi
push eax
and eax, 0x9e3f
sub eax, 0xc74b
pop eax
mov dword [ebp - 0xab8], 0
push edi
call 0x4058a1
add byte [ecx + 0x3d], al
dec ebp
inc edx
inc edx
aaa
dec ebp
add esp, 4
pop edi
push ecx
and ecx, 0x17adc
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0x988e
or ebx, 0xcc83
sub ebx, 0x156f0
pop ebx
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov edi, esi
invalid
invalid
js 0x40589a
test dword [edx + 0x69fffff7], ecx
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push esi
push esi
add esp, 4
jmp 0x405926
sub esi, 0x6287
xor esi, 0x7c01
pop esi
push eax
or eax, 0x3c36
call 0x405947
add byte [edi], dh
inc ecx
cmp dword [esi], esi
dec esp
dec eax
add esp, 4
pop eax
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push ebx
push eax
add esp, 4
jmp 0x4059ef
xor ebx, 0x548d
pop ebx
push ecx
push eax
add esp, 4
add ecx, 0x43a8
xor ecx, 0x825
add ecx, 0xf2be
pop ecx
push edi
and edi, 0xd95
pop edi
push esi
push esi
add esp, 4
sub esi, 0x16544
jmp 0x405a27
xor esi, 0x5bbb
sub esi, 0x17ef5
pop esi
push ecx
xor ecx, 0x1300
add ecx, 0x76dd
and ecx, 0xe2a
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push eax
and eax, 0x7a1e
call 0x405a87
add byte [esi + 0x36], al
xor eax, 0x3a404d41
dec ecx
add esp, 4
pop eax
push ecx
push ebx
add esp, 4
call 0x405a9e
add byte [0x434a3f33], dh
cmp al, 0x3f
inc esi
add esp, 4
pop ecx
cmp dword [ebp - 0x15d8], 0
jne 0x405aba
mov dword [ebp - 0x31c], 0
jmp 0x405d76
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ebx
sub ebx, 0x12d7c
pop ebx
push edi
push ebx
add esp, 4
sub edi, 0x10004
sub edi, 0x14ee0
sub edi, 0x1599
pop edi
push esi
push ebx
add esp, 4
jmp 0x405af7
and esi, 0x8639
pop esi
cmp dword [ebp - 0xc98], 0
jne 0x405b16
mov dword [ebp - 0x31c], 0
jmp 0x405d76
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push ecx
sub ecx, 0xcc36
xor ecx, 0x1185e
sub ecx, 0x70ee
pop ecx
push edi
or edi, 0x3ac5
or edi, 0x15bbe
jmp 0x405b4a
jmp 0x405b53
pop edi
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push esi
push esi
add esp, 4
xor esi, 0x6580
call 0x405b9b
add byte [esi + 0x32], al
dec edi
cmp al, byte ss:[edx + 0x4f]
inc edi
inc edx
add esp, 4
pop esi
push edx
push ebx
add esp, 4
or edx, 0x3533
pop edx
push esi
jmp 0x405bb2
pop esi
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push ecx
jmp 0x405c17
or ecx, 0x4ef0
pop ecx
push edi
push eax
add esp, 4
and edi, 0x92ce
pop edi
push eax
push ecx
add esp, 4
jmp 0x405c36
pop eax
push ebx
and ebx, 0xbf15
pop ebx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x405c62
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x405cc5
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x405b81
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x405b81
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x405caf
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x405cb9
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x405d0e
push edi
or edi, 0xa7bd
or edi, 0x18595
xor edi, 0xc71a
pop edi
push eax
push eax
add esp, 4
sub eax, 0xa763
and eax, 0x3290
add eax, 0x1097c
xor eax, 0xb839
pop eax
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x405d76
push ebx
sub ebx, 0x6307
pop ebx
push ecx
push edi
add esp, 4
sub ecx, 0x1247e
pop ecx
push eax
push eax
add esp, 4
and eax, 0x34fd
and eax, 0x1004
or eax, 0x16a16
sub eax, 0x63d9
pop eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x405d6c
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x405b22
mov dword [ebp - 0x31c], 0
push ecx
push esi
add esp, 4
or ecx, 0x13a72
add ecx, 0x14f37
call 0x405d93
add byte [edx], bh
dec edi
cmp dword [edi + 0x3c], eax
inc ebp
add esp, 4
or ecx, 0x1170a
pop ecx
push edi
push edi
add esp, 4
jmp 0x405da7
pop edi
cmp dword [ebp - 0x31c], 0
jne 0x4066c1
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx