Function at 0x429300
Capabilities:
Get process image filename

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e5daa
mov eax, dword fs:[0]
push eax
sub esp, 0x7b4
mov eax, dword [0x52610c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov esi, ecx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004b9940
add esp, 0xc
lea eax, [ebp - 0x41e]
push 0x206
push 0
push eax
call fcn.004b9940
add esp, 0xc
xor eax, eax
mov word [ebp - 0x420], ax
push esi
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
jne 0x42941b
sub esp, 8
lea ecx, [ebp - 0x500]
call fcn.00404d30
mov dword [ebp - 4], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov edx, str.OpenProcess_Failed:
lea ecx, [ebp - 0x4f0]
call fcn.004060e0
add esp, 4
mov ecx, eax
call fcn.0041a450
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x500]
call fcn.00404c20
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x4293cf
mov eax, dword [eax]
push eax
push 4
call fcn.00404210
mov ecx, eax
call fcn.004048b0
lea ecx, [ebp - 0x438]
call fcn.004095a0
lea ecx, [ebp - 0x498]
call fcn.00404c40
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 2
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0049d027
add esp, 4
xor eax, eax
jmp 0x4296db
push 0x104
lea eax, [ebp - 0x218]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameW]
test eax, eax
jne 0x4294be
sub esp, 8
lea ecx, [ebp - 0x5b0]
call fcn.00404d30
mov dword [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov edx, str.GetProcessImageFileName_Failed:
lea ecx, [ebp - 0x5a0]
call fcn.004060e0
add esp, 4
mov ecx, eax
call fcn.0041a450
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00404c20
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x42948b
mov eax, dword [eax]
push eax
push 4
call fcn.00404210
mov ecx, eax
call fcn.004048b0
lea ecx, [ebp - 0x438]
call fcn.004095a0
lea ecx, [ebp - 0x5b0]
call fcn.00404af0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x4296db
lea edx, [ebp - 0x420]
lea ecx, [ebp - 0x218]
call fcn.00429160
test eax, eax
jne 0x4296c1
sub esp, 8
lea ecx, [ebp - 0x660]
call fcn.00404d30
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 5
push eax
lea ecx, [ebp - 0x438]
call fcn.00403f20
push ecx
lea edx, [ebp - 0x438]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x450]
call fcn.0041fba0
add esp, 4
mov esi, eax
mov edx, str.GetProcessImageFileName_szImagePath:
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x650]
call fcn.004060e0
mov edx, esi
mov ecx, eax
call fcn.00406390
lea ecx, [ebp - 0x450]
call fcn.004095a0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 5
call fcn.00404060
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x660]
call fcn.00404c20
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x42956e
mov eax, dword [eax]
push eax
push 4
call fcn.00404210
mov ecx, eax
call fcn.004048b0
lea ecx, [ebp - 0x450]
call fcn.004095a0
lea ecx, [ebp - 0x660]
mov dword [ebp - 4], 0xffffffff
call fcn.00404af0
sub esp, 8
lea ecx, [ebp - 0x710]
call fcn.00404d30
mov dword [ebp - 4], 9
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push ecx
mov edx, str.DosPathToNtPath_Failed:
lea ecx, [ebp - 0x700]
call fcn.004060e0
add esp, 4
mov ecx, eax
call fcn.0041a450
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x710]
call fcn.00404c20
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x4295f1
mov eax, dword [eax]
push eax
push 4
call fcn.00404210
mov ecx, eax
call fcn.004048b0
lea ecx, [ebp - 0x450]
call fcn.004095a0
lea ecx, [ebp - 0x710]
mov dword [ebp - 4], 0xffffffff
call fcn.00404af0
push 0
lea eax, [ebp - 0x420]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
jne 0x4296c1
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 8
lea ecx, [ebp - 0x7c0]
call fcn.00404d30
mov dword [ebp - 4], 0xb
call esi
push eax
push ecx
mov edx, str.DosPathToNtPath_Failed:
lea ecx, [ebp - 0x7b0]
call fcn.004060e0
add esp, 4
mov ecx, eax
call fcn.0041a450
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x7c0]
call fcn.00404c20
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 0x10
jb 0x429698
mov eax, dword [eax]
push eax
push 4
call fcn.00404210
mov ecx, eax
call fcn.004048b0
lea ecx, [ebp - 0x438]
call fcn.004095a0
lea ecx, [ebp - 0x7c0]
call fcn.00404af0
xor eax, eax
jmp 0x4296db
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x420]
mov ecx, ebx
push eax
call fcn.004107a0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a0535
mov esp, ebp
pop ebp
ret