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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push ecx
and ecx, 0x2d4a
xor ecx, 0xd6e6
add ecx, 0x314c
pop ecx
push ecx
push esi
add esp, 4
xor ecx, 0x154df
jmp 0x56398a
or ecx, 0xb87
add ecx, 0x135f0
pop ecx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x5639df
push esi
push ecx
add esp, 4
xor esi, 0xd250
jmp 0x5639b8
call 0x5639c5
add byte [eax + 0x34], dl
aaa
cmp byte [eax + 0x41], dl
inc esp
add esp, 4
call 0x5639d6
add byte [esp + ecx*2 + 0x4f], cl
xor al, 0x3b
dec esi
dec ebx
dec edi
add esp, 4
pop esi
jmp 0x563c0d
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac8], ecx
lea edi, [eax]
cmc
invalid
call dword [edx + 0x50]
add esp, 4
xor edx, 0x11771
xor edx, 0x1155b
call 0x563a12
add byte [ecx], bh
dec eax
inc ecx
xor al, 0x32
add esp, 4
call 0x563a23
add byte [ebx + 0x33], cl
cmp dh, byte [edx]
inc edx
inc ecx
dec ebp
dec edi
add esp, 4
pop edx
mov edx, dword [ebp - 0x15a0]
mov dword [ebp - 0xac4], edx
cmc
invalid
inc edi
test dword [ebx + esi*8 - 1], esi
inc dword [eax]
add byte [eax], al
add byte [ebx - 0x4ff7b], cl
invalid
cmp eax, dword [ebp - 0x15a0]
jne 0x563a8e
push esi
push ecx
add esp, 4
or esi, 0xec5d
sub esi, 0xdf66
and esi, 0x6fb1
or esi, 0xf7a3
pop esi
push edi
add edi, 0x43e6
or edi, 0x11cfc
and edi, 0x148ff
pop edi
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], ecx
jmp 0x563bbf
cmp dword [ebp - 0xc88], 0
jle 0x563bb3
push ecx
push ecx
add esp, 4
sub ecx, 0x529e
jmp 0x563aae
sub ecx, 0x28bd
sub ecx, 0x3d2a
pop ecx
push ebx
push eax
add esp, 4
xor ebx, 0x1013a
sub ebx, 0x150b2
pop ebx
mov edx, dword [ebp - 0xac8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xac4]
movzx edx, byte [ecx]
cmp eax, edx
je 0x563b4f
push edx
push edx
add esp, 4
or edx, 0x862e
pop edx
push esi
push ecx
add esp, 4
add esi, 0x5e73
xor esi, 0x9a2a
and esi, 0x444a
pop esi
push ecx
and ecx, 0x118db
or ecx, 0x1600b
pop ecx
mov eax, dword [ebp - 0xac8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xac4]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x563b37
mov dword [ebp - 0x15d4], 1
jmp 0x563b41
mov dword [ebp - 0x15d4], 0xffffffff
mov ecx, dword [ebp - 0x15d4]
mov dword [ebp - 0xc8c], ecx
jmp 0x563bb3
push edx
call 0x563b5d
add byte [0x4b374f44], bh
cmp dword [ebp - 0x7d], ecx
les eax, [ecx + eax*4]
loop 0x563bde
out 0, eax
add byte [edx + 0x50], bl
push eax
add esp, 4
and eax, 0xe9bb
or eax, 0x7e75
pop eax
push edi
xor edi, 0x895b
pop edi
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac8]
add eax, 1
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xac4]
add ecx, 1
mov dword [ebp - 0xac4], ecx
jmp 0x563a8e
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], edx
cmp dword [ebp - 0x15d8], 0
jne 0x563c08
push ecx
push edx
add esp, 4
xor ecx, 0xb521
pop ecx
push esi
or esi, 0xfcbc
or esi, 0xc4be
sub esi, 0xc02a
and esi, 0x672d
pop esi
push ecx
les eax, [eax]
add byte [ecx + 0xc02aee], al
add byte [ecx + 0x672de6], al
add byte [esi + 0x51], bl
push esi
add esp, 4
add ecx, 0x1760f
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xac0], eax
jmp 0x563c49
jmp 0x563956
push edi
call 0x563c1d
add byte [0x4c46503f], bh
xor ecx, dword [esp + ecx*2 + 0x39]
add esp, 4
pop edi
push edx
xor edx, 0x120fe
sub edx, 0x155f7
pop edx
push ecx
add ecx, 0x8e9e
jmp 0x563c3e
pop ecx
mov dword [ebp - 0xac0], 0
push ebx
and ebx, 0x557d
or ebx, 0x169a7
or ebx, 0xe332
pop ebx
push esi
push esi
add esp, 4
add esi, 0xe7a9
sub esi, 0x921d
sub esi, 0x122fc
xor esi, 0x338f
pop esi
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
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
jae 0x563c88
test dword [edx + 0x73fffff7], edx
mov byte [ebp - 0x86d], 0
push ebx
or ebx, 0x12486
sub ebx, 0xd355
pop ebx
push ecx
push ecx
add esp, 4
call 0x563cf1
add byte [eax + 0x50], dl
cmp al, byte [ecx + 0x4e]
xor al, byte ds:[edi + 0x33]
add esp, 4
add ecx, 0x13f65
add ecx, 0x16405
pop ecx
mov ecx, 0x6b
mov word [ebp - 0x173c], cx
mov edx, 0x65
mov word [ebp - 0x173a], dx
mov eax, 0x72
mov word [ebp - 0x1738], ax
mov ecx, 0x6e
mov word [ebp - 0x1736], cx
mov edx, 0x65
mov word [ebp - 0x1734], dx
mov eax, 0x6c
mov word [ebp - 0x1732], ax
mov ecx, 0x33
mov word [ebp - 0x1730], cx
mov edx, 0x32
mov word [ebp - 0x172e], dx
mov eax, 0x2e
mov word [ebp - 0x172c], ax
mov ecx, 0x64
mov word [ebp - 0x172a], cx
mov edx, 0x6c
mov word [ebp - 0x1728], dx
mov eax, 0x6c
mov word [ebp - 0x1726], ax
xor ecx, ecx
mov word [ebp - 0x1724], cx
push esi
push ecx
add esp, 4
sub esi, 0x2e9f
pop esi
push ebx
xor ebx, 0x1592a
and ebx, 0x9714
pop ebx
push edx
push ecx
add esp, 4
or edx, 0x14e6b
jmp 0x563dc5
or edx, 0x8efd
pop edx
push edi
push esi
add esp, 4
jmp 0x563dd6
or edi, 0x11c8b
or edi, 0x169b7
call 0x563dee
add byte [eax + 0x3b], al
dec esp
dec eax
inc ebx
add esp, 4
pop edi
push ecx
push esi
add esp, 4
or ecx, 0xbc83
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x15dc], edx
push edi
jmp 0x563e2c
pop edi
push edi
call 0x563e3c
add byte [esi + 0x3d], cl
xor al, 0x41
xor eax, 0x83324836
les eax, [edi + ebx*2]
push esi
push edx
add esp, 4
or esi, 0x16f63
or esi, 0x13004
and esi, 0x1664f
pop esi
cmp dword [ebp - 0x15dc], 0
jne 0x563e70
mov dword [ebp - 0x31c], 0
jmp 0x56412c
mov eax, dword [ebp - 0x15dc]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ecx
xor ecx, 0x10872
add ecx, 0x175eb
or ecx, 0xd11a
pop ecx
push edx
push eax
add esp, 4
add edx, 0x68a9
add edx, 0xae88
and edx, 0x2da9
sub edx, 0x17510
pop edx
cmp dword [ebp - 0xc98], 0
jne 0x563ecc
mov dword [ebp - 0x31c], 0
jmp 0x56412c
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push ecx
call 0x563ee7
add byte [ecx + 0x4a], al
dec ecx
dec eax
inc edi
inc ebp
xor al, 0x39
add esp, 4
xor ecx, 0x10729
pop ecx
push edi
sub edi, 0xcf8d
xor edi, 0x8a9e
jmp 0x563f03
sub edi, 0xa98d
pop edi
lea ecx, [ebp - 0x173c]
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
jmp 0x563f3f
pop esi
push esi
push eax
add esp, 4
call 0x563f51
add byte [edi + 0x4e], al
xor cl, byte [ebx + 0x45]
cmp al, 0x83
les eax, [esi + ebx*2]
push edi
xor edi, 0xaf48
sub edi, 0xf96a
add edi, 0xd710
pop edi
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 edi
and edi, 0x788d
sub edi, 0x121e3
and edi, 0xc80f
xor edi, 0x1480e
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0xcc36
pop ecx
push edi
push eax
add esp, 4
or edi, 0x118f
pop edi
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x564018
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e4], eax
jmp 0x56407b
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x563f37
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x563f37
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x564065
mov dword [ebp - 0x15e0], 0xffffffff
jmp 0x56406f
mov dword [ebp - 0x15e0], 1
mov edx, dword [ebp - 0x15e0]
mov dword [ebp - 0x15e4], edx
cmp dword [ebp - 0x15e4], 0
jne 0x5640c4
push ecx
xor ecx, 0xc83
sub ecx, 0xe74d
and ecx, 0xe64e
sub ecx, 0xb2f6
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0xf2dc
xor ecx, 0x31
or ecx, 0x10785
pop ecx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x56412c
push ebx
push edi
add esp, 4
and ebx, 0x4eeb
jmp 0x5640d7
xor ebx, 0xa96d
add ebx, 0x1096d
pop ebx
push esi
push ebx
add esp, 4
add esi, 0x13ec7
xor esi, 0x1ae1
pop esi
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 0x564122
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x563ed8
mov dword [ebp - 0x31c], 0
push ebx
push edx
add esp, 4
xor ebx, 0x2fcb
call 0x564144
add byte [edi], dh
push eax
dec edi
push eax
cmp bh, byte ds:[esi]
add esp, 4
add ebx, 0xba91
pop ebx
push edi
sub edi, 0x139ae
jmp 0x56415d
pop edi
cmp dword [ebp - 0x31c], 0
jne 0x564a77
mov edx, 0x6b
mov word [ebp - 0x1758], dx
mov eax, 0x65
mov word [ebp - 0x1756], ax
mov ecx, 0x72
mov word [ebp - 0x1754], cx
mov edx, 0x6e
mov word [ebp - 0x1752], dx
mov eax, 0x65
mov word [ebp - 0x1750], ax
mov ecx, 0x6c
mov word [ebp - 0x174e], cx
mov edx, 0x33
mov word [ebp - 0x174c], dx
mov eax, 0x32
mov word [ebp - 0x174a], ax
mov ecx, 0x2e
push edx
add edx, 0x134b5
xor edx, 0xa0a5
call 0x564a92
add byte [eax + 0x39], dl
inc edi
xor eax, 0x443b5040
add esp, 4
jmp 0x564a9a
pop edx
push esi
or esi, 0x15383
add esi, 0x67a6
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19e0], eax
mov ecx, dword [ebp - 0x19e0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19e4], edx
mov eax, dword [ebp - 0x19e4]
mov dword [ebp - 0x1600], eax
push ebx
push edi
add esp, 4
xor ebx, 0xd889
or ebx, 0x17b0c
jmp 0x564aea
call 0x564af6
add byte [0x3e373745], dh
inc esp
add esp, 4
pop ebx
push esi
xor esi, 0x9865
pop esi
cmp dword [ebp - 0x1600], 0
jne 0x564b1a
mov dword [ebp - 0x31c], 0
jmp 0x564dc1
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edx
push ebx
add esp, 4
call 0x564b3e
add byte [eax + 0x46], al
dec ebx
xor eax, 0x83494b3b
les eax, [ecx + eax*4]
loop 0x564b4c
arpl word [ecx], ax
add al, ch
or byte [eax], al
add byte [eax], al
add byte [esi + ecx*2 + 0x41], cl
dec edi
push eax
cmp byte [edi - 0x7d], cl
les eax, [ebx + ebp*8]
add al, 0x3c
dec edi
dec ecx
cmp ebx, dword [edx - 0x7d]
mov ebp, 0xfffff34c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x31c], 0
jmp 0x564dc1
push ebx
push edi
add esp, 4
jmp 0x564dcf
pop ebx
push edx
and edx, 0x54fe
call 0x564de3
add byte [edi], bh
cmp dword [edx], esi
inc eax
cmp eax, 0x4c4834e
pop edx
push eax
push esi
add esp, 4
add eax, 0x25d5
pop eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push esi
or esi, 0x162b5
sub esi, 0x13778
and esi, 0xd8f0
or esi, 0xb04f
pop esi
push esi
push edi
add esp, 4
and esi, 0x174f8
or esi, 0x12009
xor esi, 0x139e2
pop esi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x160c], edx
cmp dword [ebp - 0x160c], 0
jne 0x564e64
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x565155
mov ecx, dword [ebp - 0x160c]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1610], edx
jne 0x564e8c
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x565155
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1610]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1614], ecx
cmp dword [ebp - 0x1614], 0
jne 0x564ebe
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x565155
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1614]
mov dword [ebp - 0x764], eax
jne 0x564ee3
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x565155
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19e8], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d74], ecx
mov dword [ebp - 0x768], 0
jmp 0x564f3d
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x565149
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19e8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x19ec]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d74]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19f0], eax
mov dword [ebp - 0x19c], 0
jmp 0x564fad
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x56505f
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x56505f
push esi
sub esi, 0x162fe
jmp 0x564fe6
and esi, 0x2580
call 0x564ffc
add byte [ebp + 0x39], al
inc ecx
dec ebx
dec edi
inc ecx
cmp dh, byte [edx]
dec ecx
push eax
add esp, 4
pop esi
push eax
push edx
add esp, 4
and eax, 0x1756c
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x565051
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x565058
jmp 0x564f9e
jmp 0x56505f
push edi
push edx
add esp, 4
jmp 0x56506b
xor edi, 0x15d9e
add edi, 0x10b72
pop edi
push edx
xor edx, 0x15447
pop edx
push edi
jmp 0x56508a
and edi, 0x13e90
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x5650be
mov dword [ebp - 0xcb8], 0
jmp 0x56512d
push edx
call 0x5650cb
add byte [edi + 0x4f], al
xor bh, byte [ecx]
inc eax
aas
add esp, 4
or edx, 0xfa4c
pop edx
push esi
push ebx
add esp, 4
and esi, 0x12ac4
jmp 0x5650e9
sub esi, 0x1201c
pop esi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x565123
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x56512d
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x565144
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x510], ecx
jmp 0x565155
jmp 0x564f2e
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax