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

Disassembly:
add esp, 4
pop esi
push edi
or edi, 0xb326
jmp 0x645d5ce5
pop edi
push ebx
call 0x645d5cf6
add byte [edx], dh
aaa
xor ecx, dword [ebp + 0x4d]
cmp al, 0x45
cmp byte [edi - 0x7d], al
les eax, [ecx + eax*4]
jecxz 0x645d5ce5
jns 0x645d5cff
add byte [ecx + 0x1147ce3], al
add byte [ebx + 0x50], bl
and ebx, 0x1147c
pop ebx
push eax
push esi
add esp, 4
add eax, 0xa413
xor eax, 0x2a43
pop eax
mov edx, dword fs:[0x18]
mov dword [ebp - 0x2688], edx
mov eax, dword [ebp - 0x2688]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x268c], ecx
mov edx, dword [ebp - 0x268c]
mov dword [ebp - 0x18ec], edx
push edi
xor edi, 0x6a4
sub edi, 0x12c50
and edi, 0x12df9
pop edi
push ebx
push ebx
add esp, 4
or ebx, 0x6615
pop ebx
push edx
push eax
add esp, 4
or edx, 0xfe71
and edx, 0xe0a9
pop edx
cmp dword [ebp - 0x18ec], 0
jne 0x645d5d8a
mov dword [ebp - 0x398], 0
jmp 0x645d6046
mov eax, dword [ebp - 0x18ec]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xe98], edx
push esi
and esi, 0x11824
add esi, 0x18515
jmp 0x645d5dae
pop esi
push esi
sub esi, 0x13414
and esi, 0x17a58
pop esi
push edx
jmp 0x645d5dc5
pop edx
push esi
and esi, 0xf4f5
pop esi
cmp dword [ebp - 0xe98], 0
jne 0x645d5de6
mov dword [ebp - 0x398], 0
jmp 0x645d6046
mov eax, dword [ebp - 0xe98]
mov dword [ebp - 0x5c4], eax
push ecx
push ebx
add esp, 4
or ecx, 0x1286
add ecx, 0x116f7
jmp 0x645d5e08
pop ecx
push eax
jmp 0x645d5e11
or eax, 0x4020
or eax, 0x252e
and eax, 0xcb88
pop eax
lea ecx, [ebp - 0x1a68]
mov dword [ebp - 0xe94], ecx
mov edx, dword [ebp - 0x5c4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe90], eax
xor ecx, ecx
mov word [ebp - 0x264], cx
xor edx, edx
mov word [ebp - 0x138], dx
push eax
and eax, 0x14208
or eax, 0x1022d
add eax, 0xcc79
pop eax
push esi
push eax
add esp, 4
xor esi, 0x11eda
pop esi
push edx
push ecx
add esp, 4
and edx, 0x13958
add edx, 0x39f0
pop edx
mov eax, dword [ebp - 0xe90]
mov cx, word [eax]
mov word [ebp - 0x12ae], cx
mov edx, dword [ebp - 0xe90]
add edx, 2
mov dword [ebp - 0xe90], edx
mov ax, word [ebp - 0x12ae]
mov word [ebp - 0x264], ax
mov ecx, dword [ebp - 0xe94]
mov dx, word [ecx]
mov word [ebp - 0x12b0], dx
mov eax, dword [ebp - 0xe94]
add eax, 2
mov dword [ebp - 0xe94], eax
mov cx, word [ebp - 0x12b0]
mov word [ebp - 0x138], cx
push ecx
jmp 0x645d5ee3
xor ecx, 0xf6f1
or ecx, 0x16d8a
xor ecx, 0x16ac
pop ecx
push esi
sub esi, 0x332a
jmp 0x645d5f02
sub esi, 0x4223
sub esi, 0x1f93
pop esi
movzx edx, word [ebp - 0x138]
test edx, edx
jne 0x645d5f32
movzx eax, word [ebp - 0x264]
movzx ecx, word [ebp - 0x138]
sub eax, ecx
mov dword [ebp - 0x18f4], eax
jmp 0x645d5f95
movzx edx, word [ebp - 0x264]
movzx eax, word [ebp - 0x138]
cmp edx, eax
je 0x645d5e51
movzx ecx, word [ebp - 0x264]
xor ecx, 0x20
movzx edx, word [ebp - 0x138]
cmp ecx, edx
je 0x645d5e51
movzx eax, word [ebp - 0x264]
movzx ecx, word [ebp - 0x138]
cmp eax, ecx
jge 0x645d5f7f
mov dword [ebp - 0x18f0], 0xffffffff
jmp 0x645d5f89
mov dword [ebp - 0x18f0], 1
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
cmp dword [ebp - 0x18f4], 0
jne 0x645d5fde
push esi
push eax
add esp, 4
sub esi, 0x6909
pop esi
push edi
push ecx
add esp, 4
sub edi, 0x84b
and edi, 0xff58
pop edi
push eax
or eax, 0x91d5
pop eax
push ebx
push eax
add esp, 4
xor ebx, 0x1740c
pop ebx
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x398], eax
jmp 0x645d6046
push ecx
or ecx, 0xd7c9
call 0x645d5ff2
add byte [ebx + esi], dh
cmp ecx, dword [edi + esi + 0x43]
push eax
add esp, 4
and ecx, 0x1537d
pop ecx
push ecx
call 0x645d600c
add byte [esi + 0x44], al
push eax
inc esp
inc edx
aas
inc edx
dec ecx
inc ecx
add esp, 4
pop ecx
mov ecx, dword [ebp - 0x5c4]
mov edx, dword [ecx]
push edi
xor edi, 0xa203
pop edi
push edx
push eax
add esp, 4
call 0x645d6062
add byte [edi + 0x44], al
dec esp
cmp byte [ebp + 0x38], al
dec ebp
dec esp
dec edi
add esp, 4
add edx, 0x441b
or edx, 0x104d6
xor edx, 0xee9d
pop edx
cmp dword [ebp - 0x398], 0
jne 0x645d6991
mov edx, 0x6b
mov word [ebp - 0x1ac8], dx
mov eax, 0x65
mov word [ebp - 0x1ac6], ax
mov ecx, 0x72
mov word [ebp - 0x1ac4], cx
mov edx, 0x6e
mov word [ebp - 0x1ac2], dx
mov eax, 0x65
mov word [ebp - 0x1ac0], ax
mov ecx, 0x6c
mov word [ebp - 0x1abe], cx
mov edx, 0x33
mov word [ebp - 0x1abc], dx
mov eax, 0x32
mov word [ebp - 0x1aba], ax
mov ecx, 0x2e
mov word [ebp - 0x1ab8], cx
mov edx, 0x64
mov word [ebp - 0x1ab6], dx
mov eax, 0x6c
mov word [ebp - 0x1ab4], ax
mov ecx, 0x6c
mov word [ebp - 0x1ab2], cx
xor edx, edx
mov word [ebp - 0x1ab0], dx
push ebx
push ebx
add esp, 4
sub ebx, 0x9615
xor ebx, 0x15545
xor ebx, 0x11f00
add ebx, 0x51d9
pop ebx
push esi
and esi, 0x2873
or esi, 0x7ee4
or esi, 0x11705
pop esi
mov byte [ebp - 0xb0c], 0x4c
mov byte [ebp - 0xb0b], 0x6f
mov byte [ebp - 0xb0a], 0x61
mov byte [ebp - 0xb09], 0x64
mov byte [ebp - 0xb08], 0x4c
mov byte [ebp - 0xb07], 0x69
mov byte [ebp - 0xb06], 0x62
mov byte [ebp - 0xb05], 0x72
mov byte [ebp - 0xb04], 0x61
mov byte [ebp - 0xb03], 0x72
mov byte [ebp - 0xb02], 0x79
mov byte [ebp - 0xb01], 0x57
mov byte [ebp - 0xb00], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x2690], eax
mov ecx, dword [ebp - 0x2690]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x2694], edx
mov eax, dword [ebp - 0x2694]
mov dword [ebp - 0x18f8], eax
push ebx
and ebx, 0x116f
pop ebx
push ebx
push edx
add esp, 4
and ebx, 0x11
add ebx, 0x76d2
add ebx, 0x74b0
pop ebx
push esi
push edx
add esp, 4
and esi, 0x21f4
and esi, 0x6855
pop esi
cmp dword [ebp - 0x18f8], 0
jne 0x645d621c
mov dword [ebp - 0x870], 0
jmp 0x645d64d8
mov ecx, dword [ebp - 0x18f8]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xea4], eax
push eax
or eax, 0xa5af
jmp 0x645d623e
sub eax, 0x1594
call 0x645d6254
add byte [eax + 0x3b], al
cmp eax, 0x344f403b
xor eax, dword [esi + ecx*2 - 0x7d]
les eax, [eax + ebx*2]
push eax
xor eax, 0xf101
pop eax
cmp dword [ebp - 0xea4], 0
jne 0x645d6278
mov dword [ebp - 0x870], 0
jmp 0x645d64d8
mov ecx, dword [ebp - 0xea4]
mov dword [ebp - 0x5c8], ecx
push ebx
or ebx, 0x6214
pop ebx
push edx
xor edx, 0xe6be
pop edx
push ecx
xor ecx, 0xbbbc
pop ecx
push eax
and eax, 0xfc5e
or eax, 0x57e0
jmp 0x645d62af
xor eax, 0xb50e
pop eax
lea edx, [ebp - 0x1ac8]
mov dword [ebp - 0xea0], edx
mov eax, dword [ebp - 0x5c8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe9c], ecx
xor edx, edx
mov word [ebp - 0x268], dx
xor eax, eax
mov word [ebp - 0x13c], ax
push esi
push edi
add esp, 4
xor esi, 0xdbb5
xor esi, 0x15c74
pop esi
push esi
and esi, 0x16dcc
and esi, 0x8fb2
add esi, 0xc30d
pop esi
push edx
push edi
add esp, 4
xor edx, 0xfb26
pop edx
mov ecx, dword [ebp - 0xe9c]
mov dx, word [ecx]
mov word [ebp - 0x12b2], dx
mov eax, dword [ebp - 0xe9c]
add eax, 2
mov dword [ebp - 0xe9c], eax
mov cx, word [ebp - 0x12b2]
mov word [ebp - 0x268], cx
mov edx, dword [ebp - 0xea0]
mov ax, word [edx]
mov word [ebp - 0x12b4], ax
mov ecx, dword [ebp - 0xea0]
add ecx, 2
mov dword [ebp - 0xea0], ecx
mov dx, word [ebp - 0x12b4]
mov word [ebp - 0x13c], dx
push esi
xor esi, 0xa26f
or esi, 0x18113
xor esi, 0xe6ac
add esi, 0x66aa
pop esi
push ebx
push esi
add esp, 4
or ebx, 0x3634
xor ebx, 0x370a
add ebx, 0x16ea0
pop ebx
movzx eax, word [ebp - 0x13c]
test eax, eax
jne 0x645d63c4
movzx ecx, word [ebp - 0x268]
movzx edx, word [ebp - 0x13c]
sub ecx, edx
mov dword [ebp - 0x1900], ecx
jmp 0x645d6427
movzx eax, word [ebp - 0x268]
movzx ecx, word [ebp - 0x13c]
cmp eax, ecx
je 0x645d62e3
movzx edx, word [ebp - 0x268]
xor edx, 0x20
movzx eax, word [ebp - 0x13c]
cmp edx, eax
je 0x645d62e3
movzx ecx, word [ebp - 0x268]
movzx edx, word [ebp - 0x13c]
cmp ecx, edx
jge 0x645d6411
mov dword [ebp - 0x18fc], 0xffffffff
jmp 0x645d641b
mov dword [ebp - 0x18fc], 1
mov eax, dword [ebp - 0x18fc]
mov dword [ebp - 0x1900], eax
cmp dword [ebp - 0x1900], 0
jne 0x645d6470
push ebx
sub ebx, 0x1107e
jmp 0x645d643d
jmp 0x645d6446
pop ebx
push edi
push ebx
add esp, 4
call 0x645d6458
add byte [edi + esi + 0x49], al
dec ebp
cmp al, byte [edx - 0x7d]
les eax, [ecx + eax*4]
idiv ecx
add byte [ecx], al
add byte [edi - 0x75], bl
lea edi, [eax]
cli
invalid
push ecx
push edi
add esp, 4
and ecx, 0x10ec
jmp 0x645d6484
pop ecx
push edi
jmp 0x645d648f
and edi, 0x13be5
and edi, 0x12e39
sub edi, 0xd868
pop edi
mov edx, dword [ebp - 0x5c8]
mov eax, dword [edx]
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5c8]
cmp ecx, dword [ebp - 0xea4]
je 0x645d64ce
mov edx, dword [ebp - 0x5c8]
cmp dword [edx + 0x30], 0
jne 0x645d6284
mov dword [ebp - 0x870], 0
push edx
xor edx, 0x1cd8
pop edx
push edx
push ecx
add esp, 4
call 0x645d64f4
add byte [edx], bh
push eax
cmp ecx, dword [eax + 0x4e]
xor al, 0x46
xor edi, dword [ecx]
add esp, 4
add edx, 0xb0d8
and edx, 0x162ec
or edx, 0xc09
pop edx
cmp dword [ebp - 0x870], 0
jne 0x645d6554
push edi
add edi, 0xb90d
jmp 0x645d6522
pop edi
push edi
push esi
add esp, 4
sub edi, 0x100b
call 0x645d653b
add byte [ebx + edi + 0x50], cl
aaa
dec edx
inc edi
aas
add esp, 4
sub edi, 0x5814
pop edi
mov dword [ebp - 0x8bc], 0
jmp 0x645d7090
push edx
add edx, 0x2b94
xor edx, 0x121d8
pop edx
push ebx
jmp 0x645d6569
add ebx, 0x16ce7
call 0x645d657c
add byte [ecx], bh
cmp dh, byte [esi]
xor dh, byte [edi]
dec edx
dec esp
add esp, 4
xor ebx, 0x95fe
pop ebx
mov eax, dword [ebp - 0x870]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x880], 0
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x1904], edx
cmp dword [ebp - 0x1904], 0
jne 0x645d65c5
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x48c], eax
jmp 0x645d68b6
mov ecx, dword [ebp - 0x1904]
mov edx, dword [ebp - 0x428]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1908], edx
jne 0x645d65ed
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x48c], eax
jmp 0x645d68b6
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1908]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x190c], ecx
cmp dword [ebp - 0x190c], 0
jne 0x645d661f
mov edx, dword [ebp - 0x880]
mov dword [ebp - 0x48c], edx
jmp 0x645d68b6
mov eax, dword [ebp - 0x428]
add eax, dword [ebp - 0x190c]
mov dword [ebp - 0x874], eax
jne 0x645d6644
mov ecx, dword [ebp - 0x880]
mov dword [ebp - 0x48c], ecx
jmp 0x645d68b6
mov edx, dword [ebp - 0x874]
mov eax, dword [ebp - 0x428]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x2698], eax
mov ecx, dword [ebp - 0x874]
mov edx, dword [ebp - 0x428]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x269c], edx
mov eax, dword [ebp - 0x874]
mov ecx, dword [ebp - 0x428]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x26a0], ecx
mov dword [ebp - 0x878], 0
jmp 0x645d669e
mov edx, dword [ebp - 0x878]
add edx, 1
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x874]
mov ecx, dword [ebp - 0x878]
cmp ecx, dword [eax + 0x18]
jae 0x645d68aa
mov edx, dword [ebp - 0x878]
mov eax, dword [ebp - 0x2698]
mov ecx, dword [ebp - 0x428]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x878]
mov eax, dword [ebp - 0x269c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x26a0]
mov eax, dword [ebp - 0x428]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x26a4], eax
mov dword [ebp - 0x1d8], 0
jmp 0x645d670e
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x87c]
add edx, dword [ebp - 0x1d8]
movsx eax, byte [edx]
test eax, eax
je 0x645d67c0
mov ecx, dword [ebp - 0x1d8]
movsx edx, byte [ebp + ecx - 0xb0c]
test edx, edx
je 0x645d67c0
push edi
push edx
add esp, 4
jmp 0x645d6749
call 0x645d6757
add byte [edx + 0x33], cl
cmp byte [esi + 0x48], cl
dec edx
dec ecx
dec esi
add esp, 4
pop edi
push edi
push ebx
add esp, 4
and edi, 0x164ad
sub edi, 0x24a
pop edi
mov eax, dword [ebp - 0x87c]
add eax, dword [ebp - 0x1d8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1d8]
movsx eax, byte [ebp + edx - 0xb0c]
cmp ecx, eax
je 0x645d67b2
mov ecx, dword [ebp - 0x87c]
add ecx, dword [ebp - 0x1d8]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1d8]
movsx ecx, byte [ebp + eax - 0xb0c]
cmp edx, ecx
jne 0x645d67b9
jmp 0x645d66ff
jmp 0x645d67c0
push ecx
push eax
add esp, 4
and ecx, 0x54ef
jmp 0x645d67d2
pop ecx
push ebx
call 0x645d67e3
add byte [esi + 0x3c], cl
cmp byte [ecx], bh
cmp dword [eax + 0x46], ecx
inc ebp
dec edi
add esp, 4
jmp 0x645d67eb
xor ebx, 0x777
pop ebx
mov edx, dword [ebp - 0x87c]
add edx, dword [ebp - 0x1d8]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1d8]
movsx edx, byte [ebp + ecx - 0xb0c]
cmp eax, edx
jne 0x645d681f
mov dword [ebp - 0xea8], 0
jmp 0x645d688e
push esi
add esi, 0x13435
xor esi, 0x17ea9
call 0x645d6839
add byte [edi], dh
dec edi
xor eax, 0x394c4543
add esp, 4
pop esi
push eax
or eax, 0xf090
pop eax
push edi
push edi
add esp, 4
sub edi, 0x51af
pop edi
mov eax, dword [ebp - 0x87c]
add eax, dword [ebp - 0x1d8]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1d8]
movsx eax, byte [ebp + edx - 0xb0c]
adc eax, 0xfffff4f4
or eax, 0x20
cmp ecx, eax
jge 0x645d6884
mov dword [ebp - 0xea8], 0xffffffff
jmp 0x645d688e
mov dword [ebp - 0xea8], 1
cmp dword [ebp - 0xea8], 0
jne 0x645d68a5
mov ecx, dword [ebp - 0x26a4]
mov dword [ebp - 0x48c], ecx
jmp 0x645d68b6
jmp 0x645d668f
mov edx, dword [ebp - 0x880]
mov dword [ebp - 0x48c], edx
cmp dword [ebp - 0x48c], 0
je 0x645d6991
push edx
push edx
add esp, 4
add edx, 0x15490
sub edx, 0x15697
pop edx
push ebx
push ebx
add esp, 4
sub ebx, 0x7c01
pop ebx
push ebx
xor ebx, 0xae61
sub ebx, 0xf84c
add ebx, 0x135ba
pop ebx
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x26a8], eax
push edi
xor edi, 0x15125
add edi, 0x161e
sub edi, 0x135d0
sal byte [0x515f0001], 1
xor ecx, 0x9ee
jmp 0x645d6921
call 0x645d692f
add byte [0x4d443650], bh
dec ecx
cmp ecx, dword [esi - 0x7d]
les eax, [ecx + ebx*2]
mov ecx, dword [ebp - 0x26a8]
mov dword [ebp - 0x26ac], ecx
lea edx, [ebp - 0x1a68]
xchg ebp, eax
cwde
in eax, 0xff
call dword [edx - 1]
xchg ebp, eax
push esp
fcos
invalid
test eax, eax
jne 0x645d6991
push eax
push esi
add esp, 4
jmp 0x645d695b
pop eax
push ebx
xor ebx, 0x8911
sub ebx, 0x11df4
sub ebx, 0x9749
pop ebx
push ecx
call 0x645d697e
add byte [esi], bh
cmp byte [0x493c4a45], bh
add esp, 4
pop ecx
mov dword [ebp - 0x8bc], 0
jmp 0x645d7090
push ebx
call 0x645d69a1
add byte [ecx + 0x4b], cl
inc ecx
inc esp
dec ecx
inc esp
xor al, 0x39
inc eax
add esp, 4
or ebx, 0x165cb
jmp 0x645d69b0
pop ebx
push eax
push esi
add esp, 4
or eax, 0x21c8
and eax, 0x89b7
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x26b0], eax
mov ecx, dword [ebp - 0x26b0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x26d0], edx
invalid
dec dword [ebx - 0x26cf7b]
dec dword [ecx - 0x190f7b]
call dword [edx - 0x7f]
ret 0x3858
add dword [eax], eax
jmp 0x645d69fa