Function at 0x476640
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ece4b
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2284
call fcn.004d2880
mov eax, dword [0x53d100]
xor eax, esp
mov dword [esp + 0x2280], eax
push ebx
push esi
push edi
mov eax, dword [0x53d100]
xor eax, esp
push eax
lea eax, [esp + 0x2298]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push str.psapi.dll
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x476900
push str.SeDebugPrivilege
call fcn.00476570
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
push str.EnumProcesses
push ebx
call esi
push str.EnumProcessModules
push ebx
mov edi, eax
call esi
push str.GetModuleFileNameExW
push ebx
mov dword [esp + 0x44], eax
call esi
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x38], eax
push 0x400
lea eax, [esp + 0x8c]
push eax
call edi
mov esi, dword [esp + 0x28]
shr esi, 2
mov dword [esp + 0x40], esi
mov dword [esp + 0x1c], 0
test esi, esi
jle 0x4768f5
lea ecx, [esp + 0x84]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je 0x4768db
lea ecx, [esp + 0x28]
push ecx
push 0x10
lea edx, [esp + 0x4c]
push edx
push ebx
call dword [esp + 0x4c]
xor eax, eax
mov dword [esp + 0x18], eax
mov edx, dword [esp + eax*4 + 0x44]
push 0x104
lea ecx, [esp + 0x2088]
push ecx
push edx
push ebx
call dword [esp + 0x44]
test eax, eax
jne 0x47677b
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4768be
cmp dword [ebp + 0xc], 0
je 0x4767e0
lea eax, [esp + 0x2084]
lea edx, [eax + 2]
jmp 0x476790
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x476790
sub eax, edx
sar eax, 1
mov esi, eax
js 0x4767d7
jmp 0x4767b0
movzx eax, word [esp + esi*2 + 0x2084]
cmp ax, 0x5c
je 0x4767d7
movzx eax, ax
push eax
call fcn.004cfb3d
add esp, 4
sub esi, 1
mov word [esp + esi*2 + 0x2086], ax
jns 0x4767b0
lea esi, [esp + esi*2 + 0x2086]
jmp 0x4767e7
lea esi, [esp + 0x2084]
mov edi, dword [esp + 0x2c]
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
push edi
push str.Looking_for___s_:__s
push ecx
call fcn.00478210
add esp, 0x10
call fcn.00476250
add esp, 4
push edi
push esi
call fcn.004cb335
add esp, 8
test eax, eax
jne 0x4768be
push ecx
mov esi, esp
mov dword [esp + 0x28], esp
mov dword [esp + 0x28], esi
call fcn.004bc4b7
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x476924
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
mov ecx, str.____found__adding
mov dword [esp + 0x22a4], 0
test ecx, 0xffff0000
jne 0x47687b
mov edx, ecx
movzx edi, dx
push edi
call fcn.004c463d
test eax, eax
je 0x476895
push edi
push eax
mov ecx, esi
call fcn.00424e82
jmp 0x476895
push str.____found__adding
call fcn.004cb5ea
add esp, 4
push eax
push str.____found__adding
mov ecx, esi
call fcn.004253ae
mov dword [esp + 0x22a4], 0xffffffff
call fcn.00476250
mov eax, dword [esp + 0x18]
add esp, 4
push eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], 1
call fcn.004574b1
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 1
mov dword [esp + 0x18], eax
jl 0x476755
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x14], 4
inc eax
cmp eax, esi
mov dword [esp + 0x1c], eax
jl 0x476720
mov ebx, dword [esp + 0x30]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2298]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2280]
xor ecx, esp
call fcn.004cac83
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00422000
int3