Function at 0x482c80
Capabilities:
Acquire debug privileges
Get memory capacity
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x4d0e40
push 0x4927c0
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x4dc6e0]
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 - 0x80], 0x98
mov eax, dword [0x4dfca0]
mov dword [0x4e5fe0], eax
push 0x4e
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
mov dword [0x4dfc7c], eax
test eax, eax
jne 0x482cdd
push eax
call esi
cdq
sub eax, edx
sar eax, 1
mov dword [0x4dfc7c], eax
push 0x4affb0
push 0x4afa4c
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call ebx
push eax
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call edi
mov dword [0x4ea0a0], eax
mov esi, dword [0x4e523c]
lea eax, [esi + esi*2]
shl eax, 4
push eax
call fcn.0048fb2f
mov dword [0x4ea1b8], eax
lea eax, [esi + esi*2]
shl eax, 3
push eax
call fcn.0048fb2f
mov dword [0x4ea1bc], eax
lea eax, [esi*8]
push eax
call fcn.0048fb2f
mov dword [0x4ea1c4], eax
push 0x4afb7c
call fcn.0043e9d0
push 0x4afc14
call fcn.0043e9d0
push 0x4afbec
call fcn.0043e9d0
add esp, 0x18
call fcn.00466860
test eax, eax
je 0x482dbd
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 - 0x80]
push eax
push 0x83350008
call fcn.00480cc0
add esp, 0x14
test eax, eax
je 0x482de2
mov eax, dword [esi]
cmp eax, dword [ebp - 0x80]
jb 0x482de2
wait
mov dword [ebp - 4], 0xfffffffe
push 0x4000
push 4
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
call fcn.0046ac40
test al, al
jne 0x482e6a
mov eax, dword [0x4db648]
cmp eax, 0xffffffff
je 0x482ddb
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x48317d
call fcn.00481810
call fcn.00466860
test eax, eax
je 0x482e25
push 4
push esi
push 4
lea eax, [ebp - 0x80]
push eax
push 0x83350008
call fcn.00480cc0
add esp, 0x14
test eax, eax
je 0x482e11
mov eax, dword [esi]
cmp eax, dword [ebp - 0x80]
jae 0x482e2a
push 0x10
push 0x4b0220
push 0x4c1d00
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.00481810
wait
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x48317d
push 0
push 0
push 0
push 0x40
call dword [0x4ea038]
cmp eax, 0xc0000003
je 0x482e8d
cmp eax, 0xc0000002
mov byte [0x4e5bd1], 1
jne 0x482e94
mov byte [0x4e5bd1], 0
push 4
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [0x4ea204], eax
mov dword [0x4ea0a4], 0
test eax, eax
je 0x482edb
push 0x4c1dbc
push 0x4afdb0
call ebx
push eax
call edi
mov dword [0x4ea0a4], eax
push 0x4b4fb8
push 0x4afdb0
call ebx
push eax
call edi
mov dword [0x4ea0a8], eax
call fcn.00450d10
test eax, eax
je 0x482f0f
push 0x4c1dd4
push 0x4afa4c
call ebx
push eax
call edi
mov dword [0x4ea0ac], eax
movzx ecx, byte [0x4e51da]
mov esi, 1
test eax, eax
cmovne ecx, esi
mov byte [0x4e51da], cl
push 0x4c1dec
push 0x4c18b4
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call edi
mov dword [0x4ea114], eax
push 0x4c1e04
push 0x4afa4c
call ebx
push eax
call edi
mov dword [0x4f6878], eax
push 0x4c1e14
push 0x4afa4c
call ebx
push eax
call edi
mov dword [0x4ea0b0], eax
push 0x4c1e30
push 0x4afa4c
call ebx
push eax
call edi
mov dword [0x4ea118], eax
push 0x4e600c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call fcn.00483950
xor edx, edx
jmp 0x482f80
lea ecx, [edx + 0x4dbae0]
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x482f90
sub ecx, esi
sar ecx, 1
mov dword [edx + 0x4dbd20], ecx
add edx, 0x244
cmp edx, 0x910
jb 0x482f80
xor edx, edx
jmp 0x482fc0
lea ecx, [edx + 0x4db658]
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x482fd0
sub ecx, esi
sar ecx, 1
mov dword [edx + 0x4db898], ecx
add edx, 0x244
cmp edx, 0x488
jb 0x482fc0
call fcn.00456f70
cmp dword [0x4dfca4], 1
jl 0x48301a
push 0x4e5dd8
push 0x4e5ddc
push 0
push 0x4e5bd4
call fcn.00451ea0
add esp, 0x10
push 1
push 2
push 1
call fcn.0043cc70
add esp, 0xc
mov dword [0x4f6854], eax
mov dword [eax + 0x20], 0
mov eax, dword [0x4f6854]
mov dword [eax + 0x30], 0x3c943c
movsd xmm0, qword [0x4ba8c0]
mov eax, dword [0x4f6854]
movsd qword [eax + 0x28], xmm0
mov eax, dword [0x4f6854]
cmp dword [eax + 0x1c], 2
jne 0x48306e
mov dword [eax + 0x48], 0xff
mov eax, dword [0x4f6854]
movsd qword [eax + 0x40], xmm0
push 0
push 1
push 1
call fcn.0043cc70
add esp, 0xc
mov dword [0x4f6850], eax
mov dword [eax + 0x20], 1
mov eax, dword [0x4f6850]
mov dword [eax + 0x30], 0xaaaa
mov eax, dword [0x4ea110]
test eax, eax
je 0x4830bd
mov dword [ebp - 0x7c], 0x40
lea ecx, [ebp - 0x7c]
push ecx
call eax
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
call fcn.004939cf
mov esi, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
jmp 0x4830e7
mov dword [ebp - 0x3c], 0x20
lea eax, [ebp - 0x3c]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
call esi
mov eax, dword [ebp - 0x2c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4bac10]
mov eax, dword [0x4f6850]
mulsd xmm0, qword [0x4ba8a0]
movsd qword [eax + 0x28], xmm0
mov dword [ebp - 0x3c], 0x20
lea eax, [ebp - 0x3c]
push eax
call esi
push 0
push 1
push 2
call fcn.0043cc70
add esp, 0xc
mov dword [0x4f6864], eax
mov dword [eax + 0x20], 3
mov eax, dword [0x4f6864]
mov dword [eax + 0x30], 0x4080ff
mov eax, dword [ebp - 0x34]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4bac10]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mov ecx, dword [0x4f6864]
movsd qword [ecx + 0x28], xmm0
mov ecx, 0x4f6a00
call fcn.0043ff00
mov ecx, 0x4f6a18
call fcn.0043ff00
mov ecx, 0x4f6a30
call fcn.0043ff00
call fcn.00469e30
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.0048fc6c
mov esp, ebp
pop ebp
ret