Function at 0x583329
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
add esp, 4
pop edx
push esi
xor esi, 0x16fb5
xor esi, 0x13330
xor esi, 0xfa97
sub esi, 0x1a8c
pop esi
cmp dword [ebp - 0x6dc], 0
jne 0x582fd8
mov dword [ebp - 0x18c], 0
jmp 0x583223
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x24c], edx
push edx
push ebx
add esp, 4
sub edx, 0x9333
sub edx, 0x164f7
and edx, 0xc13c
pop edx
push esi
add esi, 0xfd27
or esi, 0x46b5
jmp 0x58300f
sub esi, 0x13add
pop esi
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x6d8], eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6d4], edx
xor eax, eax
mov word [ebp - 0x120], ax
xor ecx, ecx
mov word [ebp - 0x34], cx
push esi
sub esi, 0x17a28
pop esi
push edx
push edi
add esp, 4
jmp 0x583052
pop edx
push esi
push eax
add esp, 4
jmp 0x58305f
xor esi, 0x2eff
sub esi, 0x17927
jmp 0x583071
pop esi
mov edx, dword [ebp - 0x6d4]
mov ax, word [edx]
mov word [ebp - 0x88e], ax
mov ecx, dword [ebp - 0x6d4]
add ecx, 2
mov dword [ebp - 0x6d4], ecx
mov dx, word [ebp - 0x88e]
mov word [ebp - 0x120], dx
mov eax, dword [ebp - 0x6d8]
mov cx, word [eax]
mov word [ebp - 0x890], cx
mov edx, dword [ebp - 0x6d8]
add edx, 2
mov dword [ebp - 0x6d8], edx
mov ax, word [ebp - 0x890]
mov word [ebp - 0x34], ax
push edx
add edx, 0xa11d
pop edx
push ebx
or ebx, 0xfebd
pop ebx
push eax
xor eax, 0x175
call 0x5830ef
add byte [edi], dh
dec eax
dec ebp
dec edi
aas
push eax
inc edi
dec ebx
add esp, 4
pop eax
push eax
add eax, 0x9e5c
pop eax
movzx ecx, word [ebp - 0x34]
test ecx, ecx
jne 0x583118
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x34]
sub edx, eax
mov dword [ebp - 0xb98], edx
jmp 0x583172
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
je 0x583040
movzx eax, word [ebp - 0x120]
xor eax, 0x20
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x583040
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x34]
cmp edx, eax
jge 0x58315c
mov dword [ebp - 0xb94], 0xffffffff
jmp 0x583166
mov dword [ebp - 0xb94], 1
mov ecx, dword [ebp - 0xb94]
mov dword [ebp - 0xb98], ecx
cmp dword [ebp - 0xb98], 0
jne 0x5831bb
push ebx
or ebx, 0xae4
sub ebx, 0xedba
add ebx, 0x172c4
and ebx, 0xbe51
pop ebx
push eax
push ecx
add esp, 4
xor eax, 0xaa71
pop eax
push ecx
push eax
add esp, 4
and ecx, 0x38cf
pop ecx
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x18c], edx
jmp 0x583223
push ecx
push ecx
add esp, 4
and ecx, 0x6876
or ecx, 0x1b97
xor ecx, 0x8738
pop ecx
push edi
add edi, 0x1506e
and edi, 0x10c25
add edi, 0xe90c
add edi, 0x2be5
pop edi
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax]
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x6dc]
je 0x583219
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 0x30], 0
jne 0x582fe4
mov dword [ebp - 0x18c], 0
push edi
xor edi, 0x3be8
add edi, 0xf695
and edi, 0xb800
sub edi, 0x517b
pop edi
push edx
push edi
add esp, 4
xor edx, 0x123f0
and edx, 0x6f55
sub edx, 0xc61d
pop edx
cmp dword [ebp - 0x18c], 0
jne 0x583b28
mov ecx, 0x6b
mov word [ebp - 0xcc4], cx
mov edx, 0x65
mov word [ebp - 0xcc2], dx
mov eax, 0x72
mov word [ebp - 0xcc0], ax
mov ecx, 0x6e
mov word [ebp - 0xcbe], cx
mov edx, 0x65
mov word [ebp - 0xcbc], dx
mov eax, 0x6c
mov word [ebp - 0xcba], ax
mov ecx, 0x33
mov word [ebp - 0xcb8], cx
mov edx, 0x32
mov word [ebp - 0xcb6], dx
mov eax, 0x2e
mov word [ebp - 0xcb4], ax
mov ecx, 0x64
mov word [ebp - 0xcb2], cx
mov edx, 0x6c
mov word [ebp - 0xcb0], dx
mov eax, 0x6c
mov word [ebp - 0xcae], ax
xor ecx, ecx
mov word [ebp - 0xcac], cx
push edi
add edi, 0x9fd
jmp 0x583307
call 0x583317
add byte [edx], dh
inc esp
inc eax
inc edx
inc ecx
inc ebp
inc edi
xor eax, dword [ecx + 0x48]
add esp, 4
call 0x583329
add byte [ecx + edi], bh
dec edx
inc edi
dec esi
cmp al, 0x3b
inc eax
cmp eax, 0x5f04c483
mov byte [ebp - 0x4d0], 0x4c
mov byte [ebp - 0x4cf], 0x6f
mov byte [ebp - 0x4ce], 0x61
mov byte [ebp - 0x4cd], 0x64
mov byte [ebp - 0x4cc], 0x4c
mov byte [ebp - 0x4cb], 0x69
mov byte [ebp - 0x4ca], 0x62
mov byte [ebp - 0x4c9], 0x72
mov byte [ebp - 0x4c8], 0x61
mov byte [ebp - 0x4c7], 0x72
mov byte [ebp - 0x4c6], 0x79
mov byte [ebp - 0x4c5], 0x57
mov byte [ebp - 0x4c4], 0
mov edx, dword fs:[0x18]
mov dword [ebp - 0xe70], edx
mov eax, dword [ebp - 0xe70]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe74], ecx
mov edx, dword [ebp - 0xe74]
mov dword [ebp - 0xb9c], edx
push ebx
or ebx, 0x139b4
call 0x5833c5
add byte [ecx*2 + 0x3a48363f], dh
inc esp
xor eax, dword [ebx + 0x525b04c4]
call 0x5833d6
add byte [edi + edi + 0x3e], al
inc eax
dec eax
dec eax
add esp, 4
pop edx
push edx
xor edx, 0x16c0c
pop edx
cmp dword [ebp - 0xb9c], 0
jne 0x5833fa
mov dword [ebp - 0x3f0], 0
jmp 0x5836a1
mov eax, dword [ebp - 0xb9c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x6e8], edx
push esi
jmp 0x583416
pop esi
push eax
xor eax, 0x145b7
xor eax, 0x13ae8
pop eax
push ecx
push ebx
add esp, 4
call 0x58343a
add byte [esi + 0x42], al
push eax
xor al, 0x3d
cmp ecx, dword [edx + 0x47]
inc ebp
dec edi
add esp, 4
pop ecx
cmp dword [ebp - 0x6e8], 0
jne 0x583456
mov dword [ebp - 0x3f0], 0
jmp 0x5836a1
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x248], eax
push eax
xor eax, 0xc1e9
pop eax
push edx
push ebx
add esp, 4
or edx, 0xa608
or edx, 0x83b6
or edx, 0x72aa
pop edx
push esi
push edx
add esp, 4
add esi, 0x9cd3
and esi, 0x8693
pop esi
lea ecx, [ebp - 0xcc4]
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6e0], eax
xor ecx, ecx
mov word [ebp - 0x124], cx
xor edx, edx
mov word [ebp - 0x38], dx
push esi
push esi
add esp, 4
jmp 0x5834cb
and esi, 0xd801
xor esi, 0x9eef
pop esi
push ecx
push edi
add esp, 4
sub ecx, 0x10212
or ecx, 0xb76e
and ecx, 0x7c81
pop ecx
mov eax, dword [ebp - 0x6e0]
mov cx, word [eax]
mov word [ebp - 0x892], cx
mov edx, dword [ebp - 0x6e0]
add edx, 2
mov dword [ebp - 0x6e0], edx
mov ax, word [ebp - 0x892]
mov word [ebp - 0x124], ax
mov ecx, dword [ebp - 0x6e4]
mov dx, word [ecx]
mov word [ebp - 0x894], dx
mov eax, dword [ebp - 0x6e4]
add eax, 2
mov dword [ebp - 0x6e4], eax
mov cx, word [ebp - 0x894]
mov word [ebp - 0x38], cx
push edi
jmp 0x58354e
or edi, 0x1474e
call 0x583560
add byte [esi + 0x46343d45], bh
add esp, 4
pop edi
push edx
call 0x583575
add byte [ebx], bh
dec edi
inc ebx
dec eax
cmp eax, 0x4a3c4a49
add esp, 4
pop edx
movzx edx, word [ebp - 0x38]
test edx, edx
jne 0x583596
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
sub eax, ecx
mov dword [ebp - 0xbe4], eax
jmp 0x5835f0
movzx edx, word [ebp - 0x124]
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x5834be
movzx ecx, word [ebp - 0x124]
xor ecx, 0x20
movzx edx, word [ebp - 0x38]
cmp ecx, edx
je 0x5834be
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
jge 0x5835da
mov dword [ebp - 0xba0], 0xffffffff
jmp 0x5835e4
mov dword [ebp - 0xba0], 1
mov edx, dword [ebp - 0xba0]
mov dword [ebp - 0xbe4], edx
cmp dword [ebp - 0xbe4], 0
jne 0x583639
push esi
push ebx
add esp, 4
add esi, 0x537b
jmp 0x583609
and esi, 0x11ea1
add esi, 0x5f4e
pop esi
push esi
push ecx
add esp, 4
call 0x583627
add byte [esi], dh
dec ebp
xor eax, 0x83354242
les eax, [esi + ebx*2]
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x3f0], eax
jmp 0x5836a1
push eax
and eax, 0x14fdb
xor eax, 0xfcad
pop eax
push edx
and edx, 0x67a5
and edx, 0xa01b
and edx, 0xfd7b
call 0x583667
add byte [ecx + 0x34], cl
inc edx
inc edx
inc esp
inc ebx
dec ebp
add esp, 4
pop edx
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x6e8]
je 0x583697
mov ecx, dword [ebp - 0x248]
cmp dword [ecx + 0x30], 0
jne 0x583462
mov dword [ebp - 0x3f0], 0
cmp dword [ebp - 0x3f0], 0
jne 0x5836eb
push edi
or edi, 0xdab4
call 0x5836bf
add byte [ebx + 0x43], al
cmp al, 0x45
dec esi
inc ebx
inc ebx
add esp, 4
add edi, 0x5eea
call 0x5836d8
add byte [edx], dh
xor eax, 0x4937414a
aaa
inc edx
push eax
add esp, 4
pop edi
mov dword [ebp - 0x618], 0
jmp fcn.00584213
push edi
push edi
add esp, 4
call 0x5836ff
add byte [edx + 0x35], al
dec edi
cmp al, 0x41
inc eax
cmp edi, dword [ebx]
push eax
add esp, 4
add edi, 0xed80
pop edi
push edi
or edi, 0x6b02
add edi, 0x1795f
xor edi, 0x143cf
pop edi
mov edx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x400], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xbe8], ecx
cmp dword [ebp - 0xbe8], 0
jne 0x58375c
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x240], edx
jmp 0x583a4d
mov eax, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0xbec], ecx
jne 0x583784
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x240], edx
jmp 0x583a4d
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0xbec]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xbf0], eax
cmp dword [ebp - 0xbf0], 0
jne 0x5837b6
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
jmp 0x583a4d
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0xbf0]
mov dword [ebp - 0x3f4], edx
jne 0x5837db
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x240], eax
jmp 0x583a4d
mov ecx, dword [ebp - 0x3f4]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0xe78], edx
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0xe7c], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0xe80], eax
mov dword [ebp - 0x3f8], 0
jmp 0x583835
mov ecx, dword [ebp - 0x3f8]
add ecx, 1
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x3f8]
cmp eax, dword [edx + 0x18]
jae 0x583a41
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe78]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe7c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xe80]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xe84], edx
mov dword [ebp - 0xc4], 0
jmp 0x5838a5
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
test edx, edx
je 0x583957
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
test ecx, ecx
je 0x583957
push esi
sub esi, 0x92ff
pop esi
push edx
call 0x5838e9
add byte [edx + 0x4c], al
xor bh, byte [esi]
inc edi
xor cl, byte [esi + 0x42]
add esp, 4
jmp 0x5838f5
pop edx
push ecx
sub ecx, 0xf152
xor ecx, 0x1081d
pop ecx
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
cmp eax, edx
je 0x583949
mov eax, dword [ebp - 0x3fc]
add eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc4]
movsx eax, byte [ebp + edx - 0x4d0]
cmp ecx, eax
jne 0x583950
jmp 0x583896
jmp 0x583957
push eax
push edx
add esp, 4
xor eax, 0x168cc
pop eax
push edx
xor edx, 0x3926
call 0x583979
add byte [eax], bh
dec ecx
dec esi
inc ecx
inc ebx
xor bh, byte [esi]
dec esi
dec ebp
add esp, 4
and edx, 0x4773
jmp 0x583988
pop edx
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
cmp edx, ecx
jne 0x5839b6
mov dword [ebp - 0x6ec], 0
jmp 0x583a25
push esi
add esi, 0xebce
call 0x5839cc
add byte [edi + 0x4d], al
dec ecx
dec ebx
inc edx
dec eax
inc ecx
dec ebx
add esp, 4
pop esi
push esi
push esi
add esp, 4
and esi, 0xf03c
pop esi
push edi
push eax
add esp, 4
or edi, 0x1615d
pop edi
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
or edx, 0x20
cmp eax, edx
jge 0x583a1b
mov dword [ebp - 0x6ec], 0xffffffff
jmp 0x583a25
mov dword [ebp - 0x6ec], 1
cmp dword [ebp - 0x6ec], 0
jne 0x583a3c
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0x240], eax
test eax, eax
std
invalid
invalid
jmp 0x583a4d
jmp 0x583826
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x583b28
push ecx
and ecx, 0xe24b
jmp 0x583a67
call 0x583a77
add byte [edx], dh
cmp al, byte [ecx + 0x49]
inc edi
dec ecx
dec esi
inc ebp
dec ecx
cmp al, 0x83
les eax, [ecx + eax*4]
shr ebx, 0xde
add byte [eax], al
pop ecx
push eax
push edi
add esp, 4
jmp 0x583a8b