Function at 0x4a9d80
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x528600
push 0x4c5ba0
mov eax, dword fs:[0]
push eax
sub esp, 0x874
mov eax, dword [0x535a40]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x880], 0x98
mov eax, dword [0x54a9b8]
mov dword [0x551120], eax
push 0x4e
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
mov dword [0x54a998], eax
test eax, eax
jne 0x4a9de3
push eax
call esi
cdq
sub eax, edx
sar eax, 1
mov dword [0x54a998], eax
call fcn.00493a40
test al, al
je 0x4a9f66
cmp dword [0x555198], 0
je 0x4a9e0f
call fcn.004a9a60
mov dword [0x54ff34], eax
jmp 0x4a9e14
mov eax, dword [0x54ff34]
lea eax, [eax + eax*2]
shl eax, 4
push eax
call fcn.004c8d7a
mov dword [0x5551d0], eax
mov eax, dword [0x54ff34]
lea eax, [eax + eax*2]
shl eax, 3
push eax
call fcn.004c8d7a
mov dword [0x5551d4], eax
mov eax, dword [0x54ff34]
shl eax, 3
push eax
call fcn.004c8d7a
mov dword [0x5551d8], eax
push 0x4f9f9c
call fcn.004061e0
push 0x4fa034
call fcn.004061e0
push 0x4fa00c
call fcn.004061e0
add esp, 0x18
call fcn.0048f380
test eax, eax
je 0x4a9ed0
push 4
push 0x1000
push 4
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
wait
mov dword [ebp - 4], 0
push 4
push esi
push 4
lea eax, [ebp - 0x880]
push eax
push 0x83350008
call fcn.004a79c0
add esp, 0x14
test eax, eax
je 0x4a9efa
mov eax, dword [esi]
cmp eax, dword [ebp - 0x880]
jb 0x4a9efa
wait
mov dword [ebp - 4], 0xfffffffe
push 0x4000
push 4
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0
push 0
push 0
push 0x40
call sub.ntdll.dll_NtQuerySystemInformation
cmp eax, 0xc0000003
je 0x4a9faa
cmp eax, 0xc0000002
je 0x4a9faa
mov al, 1
jmp 0x4a9fac
mov eax, dword [0x5355f4]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x4a9f0d
push eax
call edi
call fcn.0048f380
test eax, eax
je 0x4a9f51
push 4
push esi
push 4
lea eax, [ebp - 0x880]
push eax
push 0x83350008
call fcn.004a79c0
add esp, 0x14
test eax, eax
je 0x4a9f3d
mov eax, dword [esi]
cmp eax, dword [ebp - 0x880]
jae 0x4a9f5e
push 0x10
push 0x4fa6f4
push 0x511f10
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x5355f4]
cmp eax, 0xffffffff
je 0x4a9f5e
push eax
call edi
wait
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x4aa2eb
xor al, al
mov byte [0x550a96], al
push 4
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [0x550aa0], eax
push 0x511fcc
push 1
push 0x511ab4
call fcn.0042f970
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55518c], eax
test eax, eax
jne 0x4aa015
push 0x511fe4
push 0x511918
lea eax, [ebp - 0x224]
push eax
call fcn.0042fa30
add esp, 0xc
push 0x10
push 0x4fa6f4
lea eax, [ebp - 0x224]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x561838
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call fcn.004aab90
mov ecx, 0x534ce0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4aa030
sub ecx, edx
sar ecx, 1
mov dword [0x534f20], ecx
mov ecx, 0x534f24
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4aa050
sub ecx, edx
sar ecx, 1
mov dword [0x535164], ecx
mov ecx, 0x535168
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4aa070
sub ecx, edx
sar ecx, 1
mov dword [0x5353a8], ecx
mov ecx, 0x5353ac
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4aa090
sub ecx, edx
sar ecx, 1
mov dword [0x5355ec], ecx
mov ecx, 0x534858
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4aa0b0
sub ecx, edx
sar ecx, 1
mov dword [0x534a98], ecx
mov ecx, 0x534a9c
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4aa0d0
sub ecx, edx
sar ecx, 1
mov dword [0x534cdc], ecx
call fcn.0047e350
cmp dword [0x550a80], 0
je 0x4aa10c
push 0x550f14
push 0x550f18
push 0
push 0x550f10
call 0x47c860
add esp, 0x10
push 1
push 2
push 1
call fcn.004590e0
mov dword [0x550abc], eax
mov dword [eax + 0x1c], 0
mov eax, dword [0x550abc]
mov dword [eax + 0x38], 0x3c943c
movsd xmm0, qword [0x50b100]
mov eax, dword [0x550abc]
movsd qword [eax + 0x30], xmm0
mov eax, dword [0x550abc]
mov dword [eax + 0x50], 0xff
mov eax, dword [0x550abc]
movsd qword [eax + 0x48], xmm0
push 0
push 1
push 1
call fcn.004590e0
add esp, 0x18
mov dword [0x550ab8], eax
mov dword [eax + 0x1c], 1
mov eax, dword [0x550ab8]
mov dword [eax + 0x38], 0xaaaa
mov dword [ebp - 0x87c], 0x40
lea eax, [ebp - 0x87c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov edx, dword [ebp - 0x860]
mov ecx, dword [ebp - 0x864]
call fcn.004c3dc0
mulsd xmm0, qword [0x50b0e0]
mov eax, dword [0x550ab8]
movsd qword [eax + 0x30], xmm0
mov dword [ebp - 0x83c], 0x20
lea eax, [ebp - 0x83c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push 0
push 1
push 1
call fcn.004590e0
add esp, 0xc
mov dword [0x550acc], eax
mov dword [eax + 0x1c], 3
mov eax, dword [0x550acc]
mov dword [eax + 0x38], 0x4080ff
mov eax, dword [ebp - 0x834]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x502460]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mov eax, dword [0x550acc]
movsd qword [eax + 0x30], xmm0
mov ecx, 0x5619b8
call fcn.0045c220
mov ecx, 0x5619d0
call fcn.0045c220
mov ecx, 0x5619e8
call fcn.0045c220
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov edi, eax
test edi, edi
je 0x4aa2e6
push 0x5551cc
push 0x5551c8
call fcn.00491df0
push 0
call fcn.004a9b50
add esp, 0xc
mov eax, dword [0x5551ec]
test eax, eax
jne 0x4aa277
xor esi, esi
jmp 0x4aa279
mov esi, dword [eax]
add esi, 0xffffffff
js 0x4aa2df
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea ecx, [ebp - 0x884]
push ecx
push esi
push eax
call fcn.00491d70
add esp, 0xc
call ebx
mov ecx, dword [ebp - 0x884]
cmp dword [ecx + 4], eax
jne 0x4aa2a7
cmp dword [ecx + 8], edi
je 0x4aa2b3
sub esi, 1
js 0x4aa2df
mov eax, dword [0x5551ec]
jmp 0x4aa284
xor eax, eax
mov word [ebp - 0x81c], ax
push eax
push 0x400
lea eax, [ebp - 0x81c]
push eax
push ecx
movzx eax, word [ecx + 0x12]
shl eax, 7
add eax, 0x5563f8
push eax
call fcn.00490a60
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004c34b7
mov esp, ebp
pop ebp
ret