Function at 0x100422d0
Capabilities:
Get process image filename

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2bc
mov eax, dword [0x100d9018]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x103abec8], 0
mov eax, dword [ebp + 0xc]
push ebx
mov bl, byte [ebp + 8]
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x2bc], eax
jne 0x10042529
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [sym.imp.MSVCR100.dll_rand]
mov dword [0x103abec8], eax
mov word [ebp - 0x2b8], 0x5c1
call edi
and eax, 0x800000ff
jns 0x1004232b
dec eax
or eax, 0xffffff00
inc eax
cmp dword [0x100d966c], 0xffffffff
mov byte [ebp - 0x2b6], al
mov byte [ebp - 0x2b5], 3
mov byte [ebp - 0x2b4], bl
je 0x10042350
cmp byte [0x101d96a0], 0
jne 0x1004236c
lea eax, [ebp - 0x2b8]
call fcn.10042050
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c06a6
mov esp, ebp
pop ebp
ret
mov word [ebp - 0x2b0], 0x9bc1
call edi
and eax, 0x800000ff
jns 0x10042385
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x2ae], al
mov eax, dword [0x103abed0]
mov byte [ebp - 0x2ad], 3
mov byte [ebp - 0x2ac], bl
test eax, eax
jne 0x100423bc
mov dword [ebp - 0x2ab], eax
mov dword [ebp - 0x2a7], eax
mov word [ebp - 0x2a3], ax
mov byte [ebp - 0x2a1], al
jmp 0x100423e1
mov ecx, dword [eax]
mov dword [ebp - 0x2ab], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2a7], edx
mov cx, word [eax + 8]
mov word [ebp - 0x2a3], cx
mov dl, byte [eax + 0xa]
mov byte [ebp - 0x2a1], dl
mov eax, dword [0x103abed4]
test eax, eax
je 0x10042418
cmp dword [eax], 0
je 0x10042418
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x29c], edx
mov cx, word [eax + 8]
mov word [ebp - 0x298], cx
mov dl, byte [eax + 0xa]
mov byte [ebp - 0x296], dl
jmp 0x10042433
xor eax, eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov word [ebp - 0x298], ax
mov byte [ebp - 0x296], al
test esi, esi
jne 0x1004244b
push 0x40
lea eax, [ebp - 0x295]
push esi
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
jmp 0x10042458
mov ecx, 0x10
lea edi, [ebp - 0x295]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2bc]
push 0x40
push 0
test esi, esi
jne 0x10042477
lea ecx, [ebp - 0x255]
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
jmp 0x100424d9
lea edx, [ebp - 0x255]
push edx
call sub.MSVCR100.dll_memset
add esp, 0xc
push esi
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x100424d9
push 0x104
lea eax, [ebp - 0x210]
push eax
push edi
call dword [sym.imp.PSAPI.DLL_GetProcessImageFileNameW]
test eax, eax
je 0x100424d2
lea esi, [ebp - 0x210]
call fcn.100b6a60
push eax
lea ecx, [ebp - 0x255]
push 0x100ca7ac
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x255]
push edx
lea eax, [ebp - 0x295]
push eax
movzx eax, byte [ebp - 0x2ac]
lea ecx, [ebp - 0x2a0]
push ecx
lea edx, [ebp - 0x2ab]
push edx
push eax
mov eax, 0x20
call fcn.100b6dc0
push eax
push 0
mov ecx, 0x1027c400
call fcn.10090540
movzx ecx, byte [ebp - 0x2af]
add esp, 0x1c
lea edx, [ebp - 0x2b0]
call fcn.10012360
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100c06a6
mov esp, ebp
pop ebp
ret