Function at 0x457740
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60ef28
mov eax, dword fs:[0]
push eax
sub esp, 0x648
mov eax, dword [0x6c0924]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x4b0], 0
cmp dword [ebp + 0xc], 0
jne 0x457788
xor eax, eax
jmp 0x457d06
mov dword [ebp - 0x498], 0
lea eax, [ebp - 0x498]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.004632c0
test eax, eax
jne 0x4577e5
mov dword [ebp - 0x49c], 0
lea edx, [ebp - 0x49c]
push edx
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
push 1
push str.SeDebugPrivilege
mov eax, dword [ebp - 0x49c]
push eax
mov ecx, dword [ebp - 0x4e4]
call fcn.004670a0
mov ecx, dword [ebp - 0x498]
push ecx
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x484], eax
cmp dword [ebp - 0x484], 0
jne 0x45794b
call fcn.00478bf0
mov dword [ebp - 0x4a0], eax
push 1
mov edx, dword [ebp - 0x4a0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [eax + 8]
call edx
mov byte [ebp - 0x4e0], al
cmp byte [ebp - 0x4e0], 1
je 0x457840
jmp 0x457944
push 0x6308a0
lea ecx, [ebp - 0x468]
call fcn.00408710
mov dword [ebp - 4], 0
push 0x6308ec
lea ecx, [ebp - 0x480]
call fcn.00408710
mov byte [ebp - 4], 1
call fcn.00478bf0
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x498]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x6308f0
lea edx, [ebp - 0x4b4]
push edx
call fcn.0041bd30
add esp, 0x10
mov dword [ebp - 0x4dc], eax
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0x4d8], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x4d8]
push ecx
push 0x39c
lea edx, [ebp - 0x468]
push edx
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0040d3b0
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
mov dword [ebp - 0x4e8], ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x4e8]
call fcn.0040b2d0
push eax
mov edx, dword [ebp - 0x4a4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4a4]
mov edx, dword [eax + 0x1c]
call edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5bc]
call fcn.0040e140
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4b4]
call fcn.00405df0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x480]
call fcn.00405e70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x468]
call fcn.00405e70
xor eax, eax
jmp 0x457d06
push 4
push 0x1000
push 0x3c
push 0
mov eax, dword [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x48c], eax
push 4
push 0x1000
push 0x400
push 0
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x490], eax
push 4
push 0x1000
push 0x10
push 0
mov edx, dword [ebp - 0x484]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x494], eax
xor eax, eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x48c], 0
je 0x4579e1
cmp dword [ebp - 0x490], 0
je 0x4579e1
cmp dword [ebp - 0x494], 0
jne 0x457b15
call fcn.00478bf0
mov dword [ebp - 0x4a8], eax
push 1
mov ecx, dword [ebp - 0x4a8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4a8]
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 0x4b8], al
cmp byte [ebp - 0x4b8], 1
je 0x457a15
jmp 0x457b0e
push 0x630948
lea ecx, [ebp - 0x438]
call fcn.00408710
mov dword [ebp - 4], 4
push 0x630944
lea ecx, [ebp - 0x450]
call fcn.00408710
mov byte [ebp - 4], 5
call fcn.00478bf0
mov dword [ebp - 0x4ac], eax
push str.Virtual_Alloc_Failed
lea ecx, [ebp - 0x4cc]
push ecx
call fcn.0040b7b0
add esp, 8
mov dword [ebp - 0x4bc], eax
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x4c0]
push eax
push 0x3a6
lea ecx, [ebp - 0x438]
push ecx
lea edx, [ebp - 0x450]
push edx
lea ecx, [ebp - 0x654]
call fcn.0040d3b0
mov dword [ebp - 0x4c4], eax
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x4c8]
call fcn.0040b2d0
push eax
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x4ac]
mov eax, dword [edx + 0x1c]
call eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x654]
call fcn.0040e140
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4cc]
call fcn.00405df0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x450]
call fcn.00405e70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.00405e70
xor eax, eax
jmp 0x457d06
push 0x3c
push 0
lea ecx, [ebp - 0x524]
push ecx
call fcn.005b1170
add esp, 0xc
mov dword [ebp - 0x524], 1
mov dword [ebp - 0x50c], 0x200
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x510], edx
push 0x400
push 0
lea eax, [ebp - 0x410]
push eax
call fcn.005b1170
add esp, 0xc
push 0
push 0
push 0x1004
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x488], 0
jmp 0x457b92
mov edx, dword [ebp - 0x488]
add edx, 1
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x488]
cmp eax, dword [ebp - 0x4d0]
jge 0x457ca2
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x520], ecx
mov dword [ebp - 0x51c], 0
push 0
push 0x3c
lea edx, [ebp - 0x524]
push edx
mov eax, dword [ebp - 0x48c]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov edx, dword [ebp - 0x48c]
push edx
mov eax, dword [ebp - 0x488]
push eax
push 0x1073
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x200
lea edx, [ebp - 0x410]
push edx
mov eax, dword [ebp - 0x490]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.005c090e
add esp, 8
test eax, eax
jne 0x457c9d
mov ecx, dword [ebp - 0x494]
push ecx
mov edx, dword [ebp - 0x488]
push edx
push 0x100e
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x10
lea ecx, [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x494]
push edx
mov eax, dword [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x420]
mov dword [ecx], edx
mov eax, dword [ebp - 0x41c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x418]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x414]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x4b0], 1
jmp 0x457ca2
jmp 0x457b83
push 0x8000
push 0
mov ecx, dword [ebp - 0x48c]
push ecx
mov edx, dword [ebp - 0x484]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push 0x8000
push 0
mov eax, dword [ebp - 0x490]
push eax
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push 0x8000
push 0
mov edx, dword [ebp - 0x494]
push edx
mov eax, dword [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov ecx, dword [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052e057
mov esp, ebp
pop ebp
ret 0xc