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

Disassembly:
pop esi
push edx
push edx
add esp, 4
add edx, 0x12dd6
pop edx
mov dword [ebp - 0x114], 0
push edx
push ebx
add esp, 4
jmp 0x457233
add edx, 0x10aa3
pop edx
push eax
and eax, 0xc08a
and eax, 0x617e
jmp 0x457250
pop eax
push eax
and eax, 0x34e9
pop eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x31c], ecx
cmp dword [ebp - 0x31c], 0
jne 0x4572ae
push edi
xor edi, 0x11afc
add edi, 0x1568f
sub edi, 0xac34
and edi, 0x15ab3
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x3ed0
sub ecx, 0xfb2c
or ecx, 0x16567
pop ecx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0xac], edx
jmp 0x457788
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x80]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x320], ecx
jne 0x4572d3
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0xac], edx
jmp 0x457788
push ecx
push eax
add esp, 4
xor ecx, 0x16f92
and ecx, 0xfc3f
and ecx, 0xd0fd
call 0x4572f9
add byte [edx], bh
dec esp
inc ebp
xor eax, 0x44413e33
dec esi
add esp, 4
pop ecx
push edi
sub edi, 0xe3e
pop edi
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x320]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 0
jne 0x457369
push eax
push ebx
add esp, 4
call 0x457337
add byte [edi], dh
cmp bh, byte [0x834e4d40]
les eax, [ecx + eax*4]
lock sub esi, dword [0x4eb0000]
dec ebp
dec eax
dec eax
cmp al, 0x58
push ebx
push edi
add esp, 4
or ebx, 0xe255
jmp 0x457357
pop ebx
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0xac], ecx
jmp 0x457788
push edx
xor edx, 0x3bc7
xor edx, 0xd057
pop edx
push eax
sub eax, 0xf5b
or eax, 0x12ab4
pop eax
push ecx
and ecx, 0x13870
pop ecx
push edi
sub edi, 0xedac
add edi, 0x10514
pop edi
mov edx, dword [ebp - 0x80]
add edx, dword [ebp - 0x324]
mov dword [ebp - 0x100], edx
jne 0x4573ef
push edx
add edx, 0x14a55
call 0x4573c3
add byte [ecx], bh
inc eax
inc ebx
aas
cmp al, 0x46
inc esi
dec ebx
xor al, 0x4f
add esp, 4
pop edx
push ebx
call 0x4573d4
add byte [ebx + 0x3e], cl
xor bh, byte [esi]
xor esi, dword [edx]
add esp, 4
or ebx, 0xb6cc
pop ebx
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xac], eax
jmp 0x457788
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x80]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x424], edx
push edx
push edi
add esp, 4
add edx, 0x72ec
sub edx, 0xa144
or edx, 0x8aef
pop edx
push ecx
add ecx, 0x14c49
xor ecx, 0x10f5
sub ecx, 0x129df
sub ecx, 0x1340d
pop ecx
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x80]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x428], ecx
push ebx
push edx
add esp, 4
sub ebx, 0xaf75
sub ebx, 0x772c
pop ebx
push eax
push ecx
add esp, 4
jmp 0x457464
or eax, 0x5c48
sub eax, 0x41cb
xor eax, 0x4b29
pop eax
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x80]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x104], 0
jmp 0x4574a4
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
cmp eax, dword [edx + 0x18]
jae 0x45777c
push ebx
sub ebx, 0x512f
pop ebx
push esi
add esi, 0xc381
and esi, 0xcc61
jmp 0x4574d7
pop esi
push ebx
call 0x4574e7
add byte [esi + 0x41], al
inc ecx
inc ebx
inc ebp
inc edi
inc ebp
inc eax
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x80]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x10c], eax
push eax
and eax, 0xd913
xor eax, 0x3a45
add eax, 0xcacf
add eax, 0x9ca8
pop eax
push esi
push esi
add esp, 4
or esi, 0xf35c
pop esi
push edx
push esi
add esp, 4
sub edx, 0xad11
pop edx
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x428]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x80]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x430], edx
push ecx
and ecx, 0x347f
call 0x45756c
add byte [edi], bh
inc esp
dec ebp
inc edx
xor al, 0x39
cmp al, byte [ebx - 0x367efb3c]
cmpsd dword [esi], dword es:[edi]
adc al, 1
add byte [ecx + 0x51], bl
call 0x457585
add byte [0x3e3d4c4b], bh
dec ecx
xor al, 0x44
add esp, 4
pop ecx
mov dword [ebp - 0x3c], 0
jmp 0x45759b
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x3c]
movsx edx, byte [ecx]
test edx, edx
je 0x457637
mov eax, dword [ebp - 0x3c]
movsx ecx, byte [ebp + eax - 0x184]
test ecx, ecx
je 0x457637
push esi
push esi
add esp, 4
add esi, 0x5d61
xor esi, 0xf04a
or esi, 0x16821
pop esi
push ecx
or ecx, 0x15459
or ecx, 0xbdc5
or ecx, 0x5800
or ecx, 0x11fd7
pop ecx
mov edx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x3c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x3c]
movsx edx, byte [ebp + ecx - 0x184]
cmp eax, edx
je 0x457629
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0x3c]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x3c]
movsx eax, byte [ebp + edx - 0x184]
cmp ecx, eax
jne 0x457630
jmp 0x457592
jmp 0x457637
push edi
jmp 0x45763f
call 0x45764d
add byte [edi], dh
dec ecx
inc ecx
inc ecx
cmp cl, byte [eax + 0x44]
add esp, 4
sub edi, 0x6944
or edi, 0x307
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x16e3d
pop ecx
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x3c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x3c]
movsx ecx, byte [ebp + eax - 0x184]
cmp edx, ecx
jne 0x457693
mov dword [ebp - 0x258], 0
jmp 0x45772e
push edx
push ebx
add esp, 4
call 0x4576a5
add byte [ebx], bh
xor al, 0x4b
xor eax, 0x8337444e
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [edx + 0x3d], cl
cmp dword [esi + 0x34], eax
cmp edi, dword [edx]
add esp, 4
and edx, 0x24a1
and edx, 0x9adb
pop edx
mov edx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x3c]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x3c]
movsx edx, byte [ebp + ecx - 0x184]
or edx, 0x20
cmp eax, edx
jge 0x4576f2
mov dword [ebp - 0x258], 0xffffffff
jmp 0x45772e
push ebx
or ebx, 0x6971
call 0x457705
add byte [edi], dh
cmp eax, 0x45324434
add esp, 4
pop ebx
push ebx
push eax
add esp, 4
jmp 0x457716
and ebx, 0xdecd
jmp 0x457723
pop ebx
mov dword [ebp - 0x258], 1
cmp dword [ebp - 0x258], 0
jne 0x457777
push esi
push edx
add esp, 4
and esi, 0xd815
pop esi
push edx
push edx
add esp, 4
sub edx, 0xf365
pop edx
push ebx
push edi
add esp, 4
jmp 0x45775c
and ebx, 0x2272
or ebx, 0xdfc8
pop ebx
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0xac], eax
jmp 0x457788
jmp 0x457495
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x1bc], edx
lea eax, [ebp - 0x47c]
push eax
push 0x40
mov ecx, dword [ebp - 0x328]
sub ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xcc]
push edx
call dword [ebp - 0x1bc]
test eax, eax
jne 0x4577f2
push ebx
and ebx, 0xd780
or ebx, 0xfef7
xor ebx, 0x3b6c
pop ebx
push ecx
push ebx
add esp, 4
add ecx, 0x84e2
xor ecx, 0x8055
and ecx, 0xe204
add ecx, 0x156a7
pop ecx
jmp 0x457905
push ecx
push esi
add esp, 4
jmp 0x4577fc
pop ecx
push edx
push edx
add esp, 4
call 0x45780e
add byte [eax], bh
xor dh, byte [edi]
inc ebp
inc edi
inc esi
add esp, 4
jmp 0x45781a
jmp 0x457823
pop edx
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x438], eax
push ecx
add ecx, 0x17011
add ecx, 0x14879
and ecx, 0x15297
jmp 0x457849
pop ecx
push ebx
or ebx, 0x17af4
call 0x45785e
add byte [ebp + 0x42], al
aaa
aaa
xor al, 0x3a
xor al, byte [ebx + 0x605b04c4]
push edx
jmp 0x45786d
pop edx
push eax
or eax, 0x13f1a
enter 0x3f1a, 1
add bl, ch
invalid
pop eax
push esi
push ebx
add esp, 4
add esi, 0x45f6
and esi, 0xf853
pop esi
push esi
and esi, 0xc691
pop esi
call dword [ebp - 0x438]
push edi
push edx
add esp, 4
call 0x4578ac
add byte [ebx + 0x45], cl
cmp dword [eax + 0x38], eax
inc ebx
add esp, 4
xor edi, 0x36c9
add byte ss:[eax], al
pop edi
push ebx
jmp 0x4578c0
pop ebx
push ecx
push edx
add esp, 4
add ecx, 0xdd3
pop ecx
popal
push esi
jmp 0x4578d7
jmp 0x4578dc
xor esi, 0x139f2
pop esi
push edx
call 0x4578f0
add byte [edx], dh
xor dh, byte [edx]
cmp eax, 0xc4834c48
add al, 0x81
loop 0x4578b2
jb 0x4578f9
add byte [ecx + 0x1798c2], al
add byte [edx - 0x17], bl
popfd
fdivr st(7)
invalid
add edx, 0x1798
pop edx