Function at 0x30009540
Capabilities:
Get process image filename

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x30215e88]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
mov eax, ecx
push esi
push edi
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x114], eax
call fcn.3004d730
mov esi, dword [0x3026e5d0]
mov edi, eax
test esi, esi
je 0x30009583
cmp dword [esi], edi
je 0x30009585
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x30009578
xor esi, esi
cmp dword [ebp + 0xc], 0
je 0x3000979c
test esi, esi
jne 0x3000966f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp edi, eax
je 0x3000979c
mov ecx, edi
call fcn.30008820
mov esi, eax
test esi, esi
jne 0x300095bc
push str.WriteMemoryHandler:_Cannot_create_new_injection_info___error._n
jmp 0x30009794
mov eax, dword [ebp - 0x114]
mov ecx, eax
mov dword [esi + 4], eax
mov dword [esi], edi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.3004ff50
mov dword [esi + 0xc], eax
test eax, eax
je 0x300095f8
push eax
push dword [ebp - 0x114]
push edi
push str.WriteMemoryHandler:_Image_base_for_process__d__handle_0x_x_:_0x_p._n
call fcn.3000a0d0
add esp, 0x10
push 0x104
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x114]
call dword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameA]
test eax, eax
je 0x30009633
lea ecx, [ebp - 0x110]
call fcn.30002100
mov ecx, dword [0x3026ed74]
mov dword [ecx + 0x14], eax
test eax, eax
jne 0x3000966f
push str.WriteMemoryHandler:_Error_translating_target_process_path
jmp 0x30009667
mov edx, 1
mov ecx, 0x104
call fcn.300011a0
mov ecx, dword [0x3026ed74]
mov dword [ecx + 0x14], eax
test eax, eax
je 0x30009662
push str.Error_obtaining_target_process_name
push 0x104
push eax
call fcn.30008800
add esp, 0xc
push str.WriteMemoryHandler:_Error_obtaining_target_process_name
call fcn.3000a0f0
add esp, 4
cmp dword [esi], edi
jne 0x3000979c
mov ecx, ebx
call fcn.300042b0
test eax, eax
je 0x30009732
mov eax, dword [ebp - 0x118]
push eax
push edi
push str.WriteMemoryHandler:_Executable_binary_injected_into_process__d__ImageBase_0x_x__n
mov dword [esi + 0xc], eax
call fcn.3000a0d0
add esp, 0xc
cmp dword [esi + 0x14], 0
jne 0x3000979c
push 0
push dword [ebp - 0x114]
mov edx, edi
mov ecx, 3
call fcn.30003480
add esp, 8
mov ecx, ebx
call fcn.30005530
mov dword [esi + 0x14], eax
test eax, eax
je 0x300096fa
mov eax, dword [ebx + 0x3c]
mov dword [esi + 0x18], ebx
mov eax, dword [eax + ebx + 0x50]
push eax
push ebx
push str.WriteMemoryHandler:_Dumped_PE_image_from_buffer_at_0x_x__SizeOfImage_0x_x._n
mov dword [esi + 0x20], eax
call fcn.3000a0d0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.30159c2d
mov esp, ebp
pop ebp
ret
push str.WriteMemoryHandler:_Failed_to_dump_PE_image_from_buffer__attempting_raw_dump._n
call fcn.3000a0d0
mov eax, dword [0x3026ed74]
add esp, 4
mov edx, dword [ebp + 0xc]
mov ecx, ebx
mov dword [eax + 0x10], 4
mov dword [eax + 0x18], edi
call fcn.30005170
test eax, eax
je 0x3000972b
push str.WriteMemoryHandler:_Dumped_malformed_PE_image_from_buffer.
jmp 0x30009794
push str.WriteMemoryHandler:_Failed_to_dump_malformed_PE_image_from_buffer.
jmp 0x30009794
mov edx, dword [ebp + 0xc]
cmp edx, 0x10
jbe 0x3000979c
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x3000975b
cmp ebx, ecx
jbe 0x3000975b
mov eax, dword [esi + 0x20]
add eax, ecx
cmp ebx, eax
jae 0x3000975b
cmp dword [esi + 0x14], 1
jne 0x3000975b
push str.WriteMemoryHandler:_injection_of_section_of_PE_image_which_has_already_been_dumped._n
jmp 0x30009794
push edi
push edx
push ebx
push str.WriteMemoryHandler:_shellcode_at_0x_p__size_0x_x__injected_into_process__d._n
call fcn.3000a0d0
mov eax, dword [0x3026ed74]
add esp, 0x10
mov edx, dword [ebp + 0xc]
mov ecx, ebx
mov dword [eax + 0x10], 4
mov dword [eax + 0x18], edi
call fcn.30005170
test eax, eax
je 0x3000978f
push str.WriteMemoryHandler:_Dumped_injected_code_data_from_buffer.
jmp 0x30009794
push str.WriteMemoryHandler:_Failed_to_dump_injected_code_data_from_buffer.
call fcn.3000a0d0
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.30159c2d
mov esp, ebp
pop ebp
ret