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

Disassembly:
add esp, 4
pop ecx
mov dword [ebp - 0x268c], 0xe
push esi
jmp 0x414d26
jmp 0x414d2b
pop esi
push edx
push edx
add esp, 4
jmp 0x414d3a
jmp 0x414d40
add edx, 0x1544
jmp 0x414d4f
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xe3c]
mov dword [ebp - 0x1b38], eax
push eax
push ecx
add esp, 4
or eax, 0x15f83
pop eax
push eax
push edi
add esp, 4
sub eax, 0x246e
xor eax, 0xca2f
sub eax, 0x4dd7
pop eax
push esi
or esi, 0x78c0
sub esi, 0x12f37
pop esi
mov dword [ebp - 0x2690], 0xffffffff
push eax
jmp 0x414daa
jmp 0x414db2
pop eax
push ebx
push edi
add esp, 4
or ebx, 0xde2d
pop ebx
push ebx
or ebx, 0x1407a
xor ebx, 0x1dcf
and ebx, 0xc56f
pop ebx
mov ecx, dword [ebp - 0x940]
mov dword [ebp - 0x628], ecx
jmp 0x414df0
mov edx, dword [ebp - 0x628]
add edx, 1
mov dword [ebp - 0x628], edx
push eax
push edi
add esp, 4
add eax, 0x18a1
sub eax, 0x4773
xor eax, 0x9ae2
sub eax, 0x5713
pop eax
push esi
push ebx
add esp, 4
jmp 0x414e1b
and esi, 0x1338e
pop esi
mov eax, dword [ebp - 0x628]
sub eax, dword [ebp - 0x940]
cmp eax, 0xffffffff
jb 0x414e6a
push ecx
add ecx, 0x15f7d
add ecx, 0xbec9
and ecx, 0x97c3
add ecx, 0xf86d
pop ecx
push eax
push edx
add esp, 4
xor eax, 0xe3af
xor eax, 0x1452e
sub eax, 0x616e
outsb dx, byte [esi]
popal
add byte [eax], al
pop eax
jmp 0x415098
mov dword [ebp - 0xfb4], 7
mov ecx, dword [ebp - 0x628]
mov dword [ebp - 0xc58], ecx
push eax
push esi
add esp, 4
and eax, 0x3283
pop eax
push esi
call 0x414e99
add byte [ecx + 0x43], cl
dec edi
inc ecx
inc esp
inc ebx
add esp, 4
pop esi
push ecx
push edi
add esp, 4
jmp 0x414eab
and ecx, 0x8a9e
pop ecx
mov edx, dword [ebp - 0x1b38]
mov dword [ebp - 0xc54], edx
mov dword [ebp - 0xfb8], 0
mov eax, dword [ebp - 0x628]
cmp eax, dword [ebp - 0x1b38]
jne 0x414f19
push edx
push ecx
add esp, 4
xor edx, 0x2a26
jmp 0x414ee8
pop edx
push ebx
sub ebx, 0xc43f
xor ebx, 0x16469
pop ebx
push esi
push esi
add esp, 4
jmp 0x414f01
or esi, 0x8ed8
pop esi
mov ecx, dword [ebp - 0xfb8]
mov dword [ebp - 0x1b40], ecx
jmp 0x41504a
cmp dword [ebp - 0xfb4], 0
jle 0x41503e
push edi
push ebx
add esp, 4
sub edi, 0x17da0
or edi, 0x2660
sub edi, 0x16521
pop edi
push eax
xor eax, 0x13f75
sub eax, 0x10e67
sub eax, 0xf03a
sub eax, 0xe4b6
pop eax
mov edx, dword [ebp - 0xc58]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xc54]
movzx edx, byte [ecx]
cmp eax, edx
je 0x414fda
push edi
or edi, 0x6dc9
xor edi, 0x113bd
add edi, 0x10cbe
and edi, 0xb728
pop edi
push esi
push ebx
add esp, 4
call 0x414f9c
add byte [edx], bh
dec edi
inc ebp
xor esi, dword [0x35354e39]
add esp, 4
pop esi
mov eax, dword [ebp - 0xc58]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xc54]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x414fc2
mov dword [ebp - 0x1b3c], 1
jmp 0x414fcc
mov dword [ebp - 0x1b3c], 0xffffffff
mov ecx, dword [ebp - 0x1b3c]
mov dword [ebp - 0xfb8], ecx
jmp 0x41503e
push ecx
call 0x414fe9
add byte [eax + 0x38], cl
cmp dword [edi], edi
dec edx
inc ecx
dec edi
add esp, 4
or ecx, 0x5611
call 0x415002
add byte [eax], al
add byte [esi + 0x42], cl
dec ebp
cmp eax, 0x373b433f
cmp byte [edi - 0x7d], al
les eax, [ecx + eax*4]
loope 0x414ff5
cmp eax, 0x8b590001
xchg ebp, eax
dec esp
invalid
mov edx, dword [ebp - 0xfb8]
mov dword [ebp - 0x1b40], edx
cmp dword [ebp - 0x1b40], 0
jne 0x415093
push eax
push ecx
add esp, 4
and eax, 0x495b
and eax, 0xf8ca
retf 0xf8
add byte [eax + 0x50], bl
push ecx
add esp, 4
add eax, 0x1586e
jmp 0x415078
xor eax, 0xc3f4
and eax, 0x12ba7
pop eax
mov eax, dword [ebp - 0x628]
mov dword [ebp - 0x4cc], eax
jmp 0x4150d4
jmp 0x414de1
push esi
push edx
add esp, 4
xor esi, 0x21dc
jmp 0x4150a8
and esi, 0xfea5
pop esi
push esi
push eax
add esp, 4
jmp 0x4150bb
add esi, 0x5f7d
pop esi
push eax
jmp 0x4150c9
pop eax
mov dword [ebp - 0x4cc], 0
push esi
and esi, 0xc1cd
pop esi
push esi
add esi, 0xabac
xor esi, 0x5bfb
pop esi
push edx
add edx, 0x2752
pop edx
push edx
add edx, 0x152ed
add edx, 0x202b
add edx, 0x2cd8
pop edx
push esi
call 0x415115
add byte [esi + eax*2], dh
aaa
dec ecx
dec ebx
xor dh, byte [esi]
cmp eax, 0x8104c483
out dx, al
test al, 0x63
add byte [eax], al
pop esi
push esi
call 0x41512d
add byte [edx + esi], bh
dec ecx
xor al, 0x33
aas
dec esp
add esp, 4
jmp 0x415137
pop esi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xe34]
mov dword [ebp - 0x1b44], eax
push edi
push eax
add esp, 4
or edi, 0x12b27
and edi, 0x5d32
or edi, 0xc2b3
pop edi
push edi
sub edi, 0x8884
xor edi, 0x6151
and edi, 0x14bbb
and edi, 0x16025
pop edi
mov dword [ebp - 0x2694], 0xffffffff
push ecx
push ebx
add esp, 4
sub ecx, 0x15d22
add ecx, 0x443a
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0x8dba
pop ecx
push eax
and eax, 0xf300
and eax, 0x4c16
or eax, 0x1211
pop eax
mov ecx, dword [ebp - 0x940]
mov dword [ebp - 0x62c], ecx
jmp 0x4151d8
mov edx, dword [ebp - 0x62c]
add edx, 1
mov dword [ebp - 0x62c], edx
push edx
push ebx
add esp, 4
sub edx, 0xd45f
jmp 0x4151e9
add edx, 0xed58
and edx, 0xfb98
pop edx
push eax
or eax, 0xdccf
sub eax, 0x9b13
sub eax, 0xf244
pop eax
mov eax, dword [ebp - 0x62c]
sub eax, dword [ebp - 0x940]
cmp eax, 0xffffffff
jb 0x415252
push edi
push ecx
add esp, 4
add edi, 0xaa76
pop edi
push ecx
and ecx, 0x3917
pop ecx
push edx
push eax
add esp, 4
and edx, 0x8306
or edx, 0xf134
or edx, 0x11c6b
xor edx, 0x8e9e
pop edx
jmp 0x415480
mov dword [ebp - 0xfbc], 7
mov ecx, dword [ebp - 0x62c]
mov dword [ebp - 0xc50], ecx
push esi
and esi, 0xa4cc
and esi, 0xa90c
call 0x415285
add byte [edi + 0x32], cl
dec edi
inc eax
cmp dword [ebx], esi
dec edx
inc eax
inc edx
add esp, 4
pop esi
push edx
add edx, 0x79b6
jmp 0x415299
pop edx
mov edx, dword [ebp - 0x1b44]
mov dword [ebp - 0xc4c], edx
mov dword [ebp - 0xfc0], 0
mov eax, dword [ebp - 0x62c]
cmp eax, dword [ebp - 0x1b44]
jne 0x415301
push ecx
sub ecx, 0x16750
jmp 0x4152cc
or ecx, 0x16dd4
jmp 0x4152da
pop ecx
push esi
push eax
add esp, 4
call 0x4152ec
add byte [ebx + 0x45], cl
inc ebp
dec esp
dec ebp
cmp dword [ebx - 0x74a1fb3c], eax
lea eax, [eax - 0x10]
invalid
cmp dword [ebp - 0xfbc], 0
jle 0x415426
push edi
call 0x41531e
add byte [ebx], dh
dec ebx
xor al, 0x3d
inc ebp
inc eax
inc edi
xor eax, 0x4c48340
pop edi
push edx
push eax
add esp, 4
and edx, 0x5b9b
xor edx, 0x132f2
and edx, 0x17cb4
jmp 0x41533f
pop edx
mov edx, dword [ebp - 0xc50]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xc4c]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4153c2
push edi
push ebx
add esp, 4
and edi, 0x4fa7
sub edi, 0x3c50
pop edi
push eax
push ecx
add esp, 4
and eax, 0x396a
add eax, 0x8a45
pop eax
push ecx
or ecx, 0xfc61
xor ecx, 0xe8a1
pop ecx
mov eax, dword [ebp - 0xc50]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xc4c]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x4153aa
mov dword [ebp - 0x1b48], 1
jmp 0x4153b4
mov dword [ebp - 0x1b48], 0xffffffff
mov ecx, dword [ebp - 0x1b48]
mov dword [ebp - 0xfc0], ecx
jmp 0x415426
push edi
and edi, 0x386a
or edi, 0xc1cf
call 0x4153de
add byte [eax + 0x4d], cl
dec esp
dec edi
aaa
inc edi
inc ebx
xor al, byte [ebx + 0x525f04c4]
push eax
add esp, 4
add edx, 0x17132
add edx, 0x2207
pop edx
mov edx, dword [ebp - 0xfbc]
sub edx, 1
mov dword [ebp - 0xfbc], edx
mov eax, dword [ebp - 0xc50]
add eax, 1
mov dword [ebp - 0xc50], eax
mov ecx, dword [ebp - 0xc4c]
add ecx, 1
mov dword [ebp - 0xc4c], ecx
jmp 0x415301
mov edx, dword [ebp - 0xfc0]
mov dword [ebp - 0x1b4c], edx
cmp dword [ebp - 0x1b4c], 0
jne 0x41547b
push edi
jmp 0x415443
call 0x415453
add byte [ebx], dh
cmp eax, 0x3e354b3a
dec edx
inc ebx
cmp bh, byte [ecx]
add esp, 4
pop edi
push ecx
or ecx, 0x13b52
sub ecx, 0x1630d
pop ecx
push ecx
or ecx, 0xe6b0
pop ecx
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0xc48], eax
jmp 0x4154bc
jmp 0x4151c9
push ebx
push eax
add esp, 4
and ebx, 0x4f59
and ebx, 0x5a0a
jmp 0x415497
pop ebx
push eax
or eax, 0x12315
or eax, 0x10943
and eax, 0xc6d1
xor eax, 0xc492
pop eax
mov dword [ebp - 0xc48], 0
push ecx
push ebx
add esp, 4
sub ecx, 0x3359
sub ecx, 0x96cb
pop ecx
push ecx
add ecx, 0xb89b
call 0x4154e1
add byte [eax + 0x46], al
inc ebx
inc ebp
dec edx
add esp, 4
jmp 0x4154ed
pop ecx
mov byte [ebp - 0xa04], 0x45
mov byte [ebp - 0xa03], 0x78
mov byte [ebp - 0xa02], 0x69
mov byte [ebp - 0xa01], 0x74
mov byte [ebp - 0xa00], 0x50
mov byte [ebp - 0x9ff], 0x72
mov byte [ebp - 0x9fe], 0x6f
mov byte [ebp - 0x9fd], 0x63
mov byte [ebp - 0x9fc], 0x65
mov byte [ebp - 0x9fb], 0x73
mov byte [ebp - 0x9fa], 0x73
mov byte [ebp - 0x9f9], 0
push edx
call 0x41554f
add byte [esi + 0x44], al
dec edx
dec edi
cmp eax, 0x4c48334
call 0x41555e
add byte [ecx + 0x45], cl
inc edi
inc ebp
dec ebx
add esp, 4
call 0x415570
add byte [ebp + esi + 0x38], cl
dec edi
inc edx
push eax
xor al, 0x49
cmp dword [ebx - 0x46a5fb3c], eax
imul eax, dword [eax], 0
add byte [esi - 0x77], ah
lea ebx, [eax - 0x1c]
invalid