Function at 0x43c05f
Capabilities:
Get common file path

Disassembly:
push 0x2f4
mov eax, 0x66ee81
call fcn.00626519
mov esi, ecx
mov dword [ebp - 0x2e4], esi
xor ebx, ebx
lea ecx, [ebp - 0x250]
push 0x6d45cc
mov dword [ebp - 0x2e8], ebx
call fcn.004292cc
push 0x20a
lea eax, [ebp - 0x22c]
mov dword [ebp - 4], ebx
push ebx
push eax
call fcn.0063e100
add esp, 0xc
lea eax, [ebp - 0x22c]
mov ebx, 0x104
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov edi, 0x6d45e0
push edi
call fcn.00642eb3
push eax
push edi
lea eax, [ebp - 0x22c]
push ebx
push eax
call fcn.006505f9
add esp, 0x14
lea eax, [ebp - 0x22c]
xor ebx, ebx
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x238], ebx
push eax
mov dword [ebp - 0x234], ebx
call fcn.0043eb37
mov byte [ebp - 4], 1
cmp dword [ebp - 0x238], ebx
sete al
test al, al
je 0x43c150
mov dword [esi + 0x14], 0xf
lea eax, [ebp - 0x250]
mov dword [esi + 0x10], ebx
mov ecx, esi
push eax
mov byte [esi], bl
call fcn.00428f2c
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x43c14a
call fcn.0042358b
push ebx
jmp 0x43c32f
push 0x6d45fc
push dword [ebp - 0x238]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x43c121
xor edi, edi
lea ecx, [ebp - 0x230]
push str.00_00_00_00_00_00
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x230], edi
call fcn.0043782b
mov eax, 0x288
mov byte [ebp - 4], 2
push eax
push edi
mov dword [ebp - 0x2e0], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
jne 0x43c1b7
push 0
mov ecx, esi
call fcn.004292cc
jmp 0x43c310
lea eax, [ebp - 0x2e0]
push eax
push edi
call ebx
cmp eax, 0x6f
jne 0x43c1ef
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0
call edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [ebp - 0x2e0]
push 0
call edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
je 0x43c1a9
xor eax, eax
mov byte [ebp - 0x1c], al
mov dword [ebp - 0x1b], eax
mov byte [ebp - 0x17], al
lea eax, [ebp - 0x2e0]
push eax
push edi
call ebx
test eax, eax
jne 0x43c257
test edi, edi
je 0x43c2f4
push 6
lea edx, [edi + 0x194]
lea ecx, [ebp - 0x1c]
call fcn.004423f5
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
lea eax, [ebp - 0x230]
push str._02X__02X__02X__02X__02X__02X
push eax
call fcn.0041c0ba
xor ebx, ebx
add esp, 0x24
inc ebx
jmp 0x43c25d
mov ebx, dword [ebp - 0x2e4]
test edi, edi
je 0x43c271
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
je 0x43c2f4
push 0x84
lea eax, [ebp - 0x2dc]
push 0
push eax
call fcn.0063e100
add esp, 0xc
lea eax, [ebp - 0x2d8]
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x2dc], eax
push 3
push dword [ebp - 0x230]
call fcn.0041b83d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x300]
push dword [ebp - 0x2dc]
call fcn.004292cc
push eax
lea ecx, [ebp - 0x250]
call fcn.00428b23
push 0
push 1
lea ecx, [ebp - 0x300]
call fcn.00429656
lea eax, [ebp - 0x2d8]
cmp dword [ebp - 0x2dc], eax
je 0x43c2f4
push dword [ebp - 0x2dc]
call fcn.00643083
pop ecx
and dword [esi + 0x10], 0
lea eax, [ebp - 0x250]
mov dword [esi + 0x14], 0xf
mov ecx, esi
push eax
mov byte [esi], 0
call fcn.00428f2c
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.0042470b
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x43c32d
call fcn.0042358b
push 0
push 1
lea ecx, [ebp - 0x250]
call fcn.00429656
mov eax, esi
call fcn.006264c3
ret