Function at 0x696000
Capabilities:
Get number of processors
Terminate process

Disassembly:
jmp 0x696003
mov eax, dword [0x699048]
and eax, 0x20
test eax, eax
jne 0x6960a3
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x6999f0], eax
mov dword [0x6999f8], eax
mov dword [0x6999fc], edx
mov eax, dword fs:[0x30]
test eax, eax
js 0x696081
push 0x6999f4
push 4
push 0xf8
mov ecx, dword [0x6999f0]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x69607f
mov eax, dword [0x6999f8]
add dword [eax + 0x50], 0x2000
jmp 0x6960a2
jmp 0x6960a2
mov edx, dword [0x6999fc]
test edx, edx
jns 0x6960a2
mov edx, dword [edx + 4]
mov dword [0x6999ec], edx
add dword [edx + 0x50], 0x2000
xor dword [edx + 0x11], 0x424f4420
nop
call fcn.00698660
cmp dword [0x699594], 0
jne 0x696157
mov ecx, dword [0x69907c]
mov dword [0x699a20], ecx
push 0x1e
push 0x699168
call fcn.006984a6
add esp, 8
push 0x64
push 0x699188
call fcn.006984a6
add esp, 8
push 0x64
push 0x6991f0
call fcn.006984a6
add esp, 8
push 0x64
push 0x699258
call fcn.006984a6
add esp, 8
push 0x64
push 0x6992c0
call fcn.006984a6
add esp, 8
push 0x64
push 0x699328
call fcn.006984a6
add esp, 8
push 0x64
push 0x699390
call fcn.006984a6
add esp, 8
push 0x64
push 0x6993f8
call fcn.006984a6
add esp, 8
push 0x64
push 0x699460
call fcn.006984a6
add esp, 8
push 0x64
push 0x6994c8
call fcn.006984a6
add esp, 8
call fcn.00698318
mov edx, dword [0x699048]
and edx, 0x20
test edx, edx
je 0x6961a1
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
mov dword [0x69958c], eax
pop ebp
cmp dword [0x69958c], 1
je 0x696190
cmp dword [0x69958c], 2
je 0x696190
mov dword [ebp - 4], 0
jmp 0x696197
mov dword [ebp - 4], 1
mov eax, dword [ebp - 4]
mov dword [0x699590], eax
jmp 0x6961ab
mov dword [0x699590], 1
mov dword [0x699598], 0
mov ecx, entry0
sub ecx, dword [0x699018]
mov dword [0x699534], ecx
mov edx, dword [0x699034]
add edx, dword [0x699534]
mov dword [0x69953c], edx
mov eax, dword [0x699044]
add eax, dword [0x699534]
mov dword [0x699540], eax
cmp dword [0x699590], 0
je 0x6963cc
cmp dword [0x699594], 0
jne 0x6963cc
mov dword [0x699594], 1
mov dword [0x699598], 1
call fcn.006981d2
test eax, eax
je 0x6963cc
call fcn.006978a3
test eax, eax
je 0x6963cc
mov ecx, dword [0x699070]
xor ecx, dword [0x699068]
mov dword [0x699070], ecx
mov edx, dword [0x699074]
xor edx, dword [0x699060]
mov dword [0x699074], edx
call fcn.00697b1b
test eax, eax
je 0x6963ba
call fcn.00696da5
push 0x699a28
call fcn.00696e82
add esp, 4
call fcn.00697b26
mov dword [0x699538], eax
cmp dword [0x699538], 0
je 0x69638d
call fcn.00697c1e
test eax, eax
je 0x69638d
mov eax, dword [0x699048]
and eax, 0x20
test eax, eax
je 0x6962b2
push 0x699a3c
call fcn.00696e82
add esp, 4
jmp 0x6962bf
push 0x699a4c
call fcn.00696e82
add esp, 4
call fcn.006975e5
test eax, eax
je 0x696386
mov ecx, dword [0x699070]
xor ecx, dword [0x699068]
mov dword [0x699070], ecx
mov edx, dword [0x699074]
xor edx, dword [0x699060]
mov dword [0x699074], edx
call fcn.006977b2
mov dword [0x6999e4], eax
cmp dword [0x6999e4], 0
je 0x696372
mov eax, dword [0x699014]
add eax, dword [0x699534]
push eax
call fcn.00696af9
add esp, 4
test eax, eax
je 0x696372
mov ecx, dword [0x699010]
add ecx, dword [0x699534]
push ecx
call fcn.00696578
add esp, 4
test eax, eax
je 0x696372
call fcn.006969ae
test eax, eax
je 0x696372
call fcn.00696bfc
test eax, eax
je 0x696372
mov dword [0x699598], 0
mov edx, dword [0x699070]
xor edx, dword [0x6999e4]
mov dword [0x699070], edx
mov eax, dword [0x699074]
xor eax, dword [0x699060]
mov dword [0x699074], eax
push 0x8000
push 0
mov ecx, dword [0x699584]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
call fcn.00697218
jmp 0x6963b8
call fcn.00697218
push 0x64
push 0x699368
push 0x699188
call fcn.00697ab4
add esp, 0xc
push 0x699168
push 0x699368
call fcn.006972a4
add esp, 8
jmp 0x6963cc
push 0x699168
push 0x699258
call fcn.006972a4
add esp, 8
cmp dword [0x6999dc], 0
je 0x6963f3
push 0x10
push 0x699168
push 0x699a60
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [0x699598], 1
cmp dword [0x699598], 0
je 0x696419
mov edx, dword [0x699048]
and edx, 0x20
test edx, edx
je 0x696411
mov eax, 0
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [0x6999d8], 1
mov eax, dword [0x699538]
and eax, 0x8000
test eax, eax
je 0x696445
mov ecx, dword [0x699050]
imul ecx, ecx, 0xea60
mov dword [0x6999e8], ecx
jmp 0x696457
mov edx, dword [0x699054]
imul edx, edx, 0x3e8
mov dword [0x6999e8], edx
mov eax, dword [0x6999e8]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [0x6995b0], eax
push 0x6995a0
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov edx, dword [0x699008]
add edx, dword [0x699534]
mov dword [0x699530], edx
mov eax, dword [0x699068]
cmp eax, dword [0x6999e4]
je 0x6964a0
mov ecx, dword [0x6999e4]
mov dword [0x699068], ecx
mov edx, dword [0x699048]
and edx, 0x20
test edx, edx
jne 0x6964c8
cld
push edi
push ecx
mov edi, 0x696003
mov ecx, 0x6964a0
sub ecx, edi
shr ecx, 2
mov ax, 0xeb00
rep stosw word es:[edi], ax
pop ecx
pop edi
jmp dword [0x699530]