Function at 0x42c480
Capabilities:
Get common file path

Disassembly:
sub esp, 0x454
mov dl, byte [0x481910]
push ebx
push ebp
push esi
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x11d]
mov byte [esp + 0x11c], dl
mov byte [esp + 0x220], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x221]
mov byte [esp + 0x18], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x19]
push 0x475444
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x475438
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov esi, eax
xor edi, edi
test esi, esi
mov dword [esp + 0x10], edi
je 0x42c53d
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov edi, dword [esp + 0x10]
test edi, edi
je 0x42c53d
push 0x475428
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x42c53d
push 0x475408
push esi
call ebx
test eax, eax
jne 0x42c539
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42c53d
push 0
call eax
lea ecx, [esp + 0x18]
push 0x104
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov cl, byte [esp + eax + 0x17]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp cl, 0x5c
je 0x42c573
lea eax, [esp + 0x18]
push 0x4695f4
push eax
call esi
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x11c]
push ecx
push edx
call ebp
test edi, edi
je 0x42c598
lea eax, [esp + 0x18]
push 0x46dd84
push eax
jmp 0x42c5a2
lea ecx, [esp + 0x18]
push 0x46dd64
push ecx
call esi
mov al, byte [esp + 0x18]
test al, al
je 0x42c65d
lea edx, [esp + 0x324]
lea eax, [esp + 0x18]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
test eax, eax
je 0x42c65d
cmp eax, 0xffffffff
je 0x42c65d
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0x11c]
push 0x4755e0
push ecx
call esi
lea edx, [esp + 0x220]
push 0x4755d8
push edx
call ebp
lea eax, [esp + 0x18]
lea ecx, [esp + 0x220]
push eax
push ecx
call esi
lea edx, [esp + 0x14]
push 0
push edx
lea eax, [esp + 0x228]
push 0
lea ecx, [esp + 0x128]
push eax
push ecx
mov dword [esp + 0x28], 0
call fcn.0042ae00
add esp, 0x14
mov ebp, eax
test edi, edi
je 0x42c6a7
push 0x475428
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x42c6a7
push 0x475408
push esi
call ebx
test eax, eax
jne 0x42c6a3
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42c6a7
test edi, edi
je 0x42c696
push 0x475428
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x42c696
push 0x475408
push esi
call ebx
test eax, eax
jne 0x42c692
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x454
ret
push 1
call eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x454
ret
push 1
call eax
test ebp, ebp
jne 0x42c6bd
mov edx, dword [esp + 0x14]
push edx
push 0x4755b0
call fcn.00446e00
add esp, 8
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x454
ret