Function at 0x413f70
Capabilities:
Acquire debug privileges
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
push str.CreateToolhelp32Snapshot
push str.KERNEL32.dll
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
mov dword [ebp - 0x20], eax
nop
nop
nop
nop
nop
nop
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call ebx
push str.Process32First
push str.KERNEL32.dll
call esi
push eax
call edi
push str.Process32Next
push str.KERNEL32.dll
mov dword [ebp - 0x34], eax
call esi
push eax
call edi
push str.LocalAlloc
push str.kernel32.dll
mov dword [ebp - 0x38], eax
call esi
push eax
call edi
push str.LocalReAlloc
push str.KERNEL32.dll
mov dword [ebp - 0xc], eax
call esi
push eax
call edi
mov dword [ebp - 0x24], eax
nop
nop
nop
nop
nop
nop
push 0
call ebx
mov al, 0x65
mov cl, 0x6c
mov byte [ebp - 0x18], al
mov byte [ebp - 0x12], al
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0x43
push eax
push str.KERNEL32.dll
mov byte [ebp - 0x1b], cl
mov byte [ebp - 0x1a], 0x6f
mov byte [ebp - 0x19], 0x73
mov byte [ebp - 0x17], 0x48
mov byte [ebp - 0x16], 0x61
mov byte [ebp - 0x15], 0x6e
mov byte [ebp - 0x14], 0x64
mov byte [ebp - 0x13], cl
mov byte [ebp - 0x11], 0
call esi
push eax
call edi
push str.GetModuleFileNameExA
push str.PSAPI.DLL
mov dword [ebp - 0x2c], eax
call esi
push eax
call edi
push str.EnumProcessModules
push str.PSAPI.DLL
mov dword [ebp - 0x30], eax
call esi
push eax
call edi
push str.LocalSize
push str.KERNEL32.dll
mov dword [ebp - 0x28], eax
call esi
push eax
call edi
mov dword [ebp - 0x3c], eax
push str.lstrlenA
push str.KERNEL32.dll
call esi
push eax
call edi
mov ebx, eax
nop
nop
nop
nop
nop
nop
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x49
xor eax, eax
lea edi, [ebp - 0x160]
mov dword [ebp - 0x164], esi
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x267]
mov byte [ebp - 0x268], al
push 1
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.SeDebugPrivilege
mov dword [ebp - 4], esi
stosb byte es:[edi], al
call fcn.004145a0
add esp, 8
push esi
push 2
call dword [ebp - 0x20]
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 0x20], esi
jne 0x4140e9
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x400
push 0x40
mov dword [ebp - 0x164], 0x128
call dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov byte [eax], 0x7d
mov edi, 1
nop
nop
nop
nop
nop
nop
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x164]
push ecx
push esi
call dword [ebp - 0x34]
test eax, eax
je 0x414251
mov edx, dword [ebp - 0x15c]
push edx
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
mov eax, dword [ebp - 0x15c]
test eax, eax
je 0x414238
cmp eax, 4
je 0x414238
cmp eax, 8
je 0x414238
lea eax, [ebp - 8]
lea ecx, [ebp - 4]
push eax
push 4
push ecx
push esi
call dword [ebp - 0x28]
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x268]
push 0x104
push edx
push eax
push esi
call dword [ebp - 0x30]
lea ecx, [ebp - 0x140]
push ecx
call ebx
lea edx, [ebp - 0x268]
mov esi, eax
push edx
call ebx
lea eax, [esi + eax + 6]
lea esi, [eax + edi]
mov eax, dword [ebp - 0x10]
push eax
call dword [ebp - 0x3c]
cmp eax, esi
jae 0x4141b4
mov ecx, dword [ebp - 0x10]
push 0x42
push esi
push ecx
call dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x15c]
lea ecx, [ebp - 0x140]
mov dword [edi + eax], edx
add edi, 4
push ecx
mov dword [ebp - 0xc], edi
call ebx
mov edx, dword [ebp - 0x10]
mov ecx, eax
inc ecx
lea esi, [ebp - 0x140]
mov eax, ecx
add edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x140]
push ecx
call ebx
mov edx, dword [ebp - 0xc]
lea edi, [edx + eax + 1]
lea eax, [ebp - 0x268]
push eax
mov dword [ebp - 0xc], edi
call ebx
mov edx, dword [ebp - 0x10]
mov ecx, eax
inc ecx
lea esi, [ebp - 0x268]
mov eax, ecx
add edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x268]
push ecx
call ebx
mov edx, dword [ebp - 0xc]
lea eax, [edx + eax + 1]
mov dword [ebp - 0xc], eax
mov edi, eax
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x164]
push ecx
push edx
call dword [ebp - 0x38]
test eax, eax
jne 0x414129
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
push 0x42
push edi
push eax
call dword [ebp - 0x24]
push 0
push str.SeDebugPrivilege
mov edi, eax
call fcn.004145a0
add esp, 8
push esi
call dword [ebp - 0x2c]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret