Function at 0x405378
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 esi
add esp, 4
or eax, 0x1429d
xor eax, 0xa691
add byte [ecx + 0xdaf6c0], al
add bl, ch
invalid
pop eax
push ebx
and ebx, 0x10507
sub ebx, 0x10d19
xor ebx, 0xc1f3
pop ebx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x404b25
push ebx
push ecx
add esp, 4
add ebx, 0x659b
xor ebx, 0xbe6b
sub ebx, 0x84f7
pop ebx
push ebx
xor ebx, 0x3277
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac8], ecx
push esi
and esi, 0xafb9
xor esi, 0xeaba
add al, ch
or al, byte [eax]
add byte [eax], al
add byte [ebx], dh
inc ebx
cmp eax, 0x33503b47
dec esp
inc edi
add esp, 4
pop esi
push edi
push eax
add esp, 4
xor edi, 0xd085
sub edi, 0xd464
pop edi
mov edx, dword [ebp - 0x15a0]
mov dword [ebp - 0xac4], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15a0]
jne 0x404bd4
push edi
push ecx
add esp, 4
or edi, 0x14d52
dec ebp
add dword [eax], eax
call 0x404bab
add byte [edx], bh
dec ebx
cmp al, 0x4e
inc edx
dec edx
inc ecx
dec ebx
xor eax, dword [ebx - 0x187efb3c]
mov byte [0x5f000001], al
push edi
and edi, 0x9ab7
sub edi, 0x681a
pop edi
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], ecx
jmp 0x404d05
cmp dword [ebp - 0xc88], 0
jle fcn.00404cf9
push ecx
add ecx, 0xc42e
or ecx, 0x7c96
and ecx, 0x6b75
sub ecx, 0x13cca
pop ecx
push edi
push edx
add esp, 4
or edi, 0x65d0
pop edi
push edi
push esi
add esp, 4
jmp 0x404c12
pop edi
mov edx, dword [ebp - 0xac8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xac4]
movzx edx, byte [ecx]
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], edx
cmp dword [ebp - 0x15d8], 0
jne 0x404d4e
push edx
push edi
add esp, 4
sub edx, 0xe669
call 0x404d26
add byte [ecx + 0x3a], cl
dec esi
inc eax
dec ebp
dec ebp
dec edx
add esp, 4
and edx, 0xd516
call 0x404d3c
add byte [edx + edi + 0x50], al
cmp al, 0x4b
cmp cl, byte [eax - 0x7d]
les eax, [edx + ebx*2]
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xac0], eax
jmp 0x404d8f
jmp 0x404a9c
push edx
push eax
add esp, 4
add edx, 0x275b
and edx, 0x13e17
pop edx
push esi
push edx
add esp, 4
jmp 0x404daf
call 0x404dbd
add byte [esi + 0x46], al
dec eax
inc esi
dec ebp
dec esp
inc edi
add esp, 4
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
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push edi
push edi
add esp, 4
or edi, 0x6faf
or edi, 0x13b1a
pop edi
push esi
push ecx
add esp, 4
xor esi, 0x4e39
or esi, 0xba8a
add esi, 0x877
jmp 0x404e46
pop esi
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 edi
push eax
add esp, 4
xor edi, 0x11f2c
sub edi, 0x5dfa
add byte [eax], al
xor edi, 0x107c6
or edi, 0xaf03
pop edi
push eax
and eax, 0x15be5
or eax, 0x2c12
sub eax, 0x1804
pop eax
push edi
push edi
add esp, 4
xor edi, 0x35d4
sub edi, 0x98e5
cwde
add byte [eax], al
jmp 0x404f2a
xor edi, 0x13f0f
pop edi
push edi
xor edi, 0x2ef9
jmp 0x404f3d
add edi, 0xb28c
pop edi
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 esi
add esi, 0xf6cd
sub esi, 0x13cfe
xor esi, 0xcb04
pop esi
push edi
push eax
add esp, 4
and edi, 0x1272
or edi, 0x15937
add edi, 0x48ea
add edi, 0x14bf8
pop edi
cmp dword [ebp - 0x15dc], 0
jne 0x404fb6
mov dword [ebp - 0x31c], 0
jmp 0x405272
mov eax, dword [ebp - 0x15dc]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push ebx
push ecx
add esp, 4
call 0x404fdc
add byte [edi + eax*2 + 0x3d], al
inc ebx
inc eax
inc esi
inc ecx
dec edi
add esp, 4
pop ebx
push ebx
sub ebx, 0x151ff
and ebx, 0x17c92
and ebx, 0xdb60
and ebx, 0x2e3b
pop ebx
cmp dword [ebp - 0xc98], 0
jne 0x405012
mov dword [ebp - 0x31c], 0
jmp 0x405272
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push edi
and edi, 0x4d89
pop edi
push ebx
push eax
add esp, 4
xor ebx, 0xbcca
pop ebx
push esi
push esi
add esp, 4
and esi, 0x15d25
call 0x40504c
add byte [eax + 0x39], al
inc ecx
inc esp
cmp dword [ecx + 0x48], ecx
dec edi
dec ebp
add esp, 4
pop esi
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 edx
jmp 0x405085
add edx, 0x70ff
add edx, 0x7681
pop edx
push edx
add edx, 0x93a8
xor edx, 0xa353
call 0x4050ab
add byte [edx + 0x3e], al
aas
cmp eax, dword [ebx + 0x46]
add esp, 4
pop edx
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 eax
or eax, 0x15f09
pop eax
push ebx
push edi
add esp, 4
and ebx, 0x34cc
sub ebx, 0xe841
and ebx, 0x590
call 0x405137
add byte [ebp + 0x34], al
cmp edi, dword [edi]
inc ebx
dec ebp
cmp al, byte [esi + 0x45]
add esp, 4
pop ebx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x40515e
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e4], eax
jmp 0x4051c1
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x40507d
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x40507d
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x4051ab
mov dword [ebp - 0x15e0], 0xffffffff
jmp 0x4051b5
mov dword [ebp - 0x15e0], 1
mov edx, dword [ebp - 0x15e0]
mov dword [ebp - 0x15e4], edx
cmp dword [ebp - 0x15e4], 0
jne 0x40520a
push eax
push ebx
add esp, 4
or eax, 0x13863
xor eax, 0x17f29
pop eax
push ecx
and ecx, 0x1137b
pop ecx
push edi
and edi, 0x12f50
jmp 0x4051f3
pop edi
push edi
and edi, 0x6bf0
pop edi
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x405272
push edi
jmp 0x405212
call 0x40521e
add byte [ebp + esi + 0x41], al
inc edx
inc edx
inc ebx
add esp, 4
sub edi, 0xd5f5
pop edi
push ecx
push ecx
add esp, 4
jmp 0x405235
sub ecx, 0x84f9
pop ecx
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 0x405268
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x40501e
mov dword [ebp - 0x31c], 0
push esi
sub esi, 0x1526a
xor esi, 0x7d97
add esi, 0x8240
or esi, 0x9900
pop esi
push eax
push eax
add esp, 4
call 0x4052a0
add byte [ecx], bh
dec ebp
dec ebx
cmp edi, dword [esi]
dec ecx
xor bh, byte [ebx]
xor eax, 0x5804c483
cmp dword [ebp - 0x31c], 0
jne 0x405bbd
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
mov word [ebp - 0x1748], cx
mov edx, 0x64
mov word [ebp - 0x1746], dx
mov eax, 0x6c
mov word [ebp - 0x1744], ax
mov ecx, 0x6c
mov word [ebp - 0x1742], cx
xor edx, edx
mov word [ebp - 0x1740], dx
push edi
sub edi, 0xf178
xor edi, 0x967a
pop edi
push ebx
add ebx, 0x11449
or ebx, 0x18613
sub ebx, 0x15240
call 0x405378
add byte [ecx + 0x3a], cl
xor edi, dword [ebx]
cmp al, 0x4e
dec ecx
add esp, 4
pop ebx
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
invalid
invalid