Function at 0x43bfe0
Capabilities:
Get common file path

Disassembly:
push 0x2f4
mov eax, 0x66bd25
call fcn.006233d9
mov esi, ecx
mov dword [ebp - 0x2e4], esi
xor ebx, ebx
lea ecx, [ebp - 0x250]
push 0x6d164c
mov dword [ebp - 0x2e8], ebx
call fcn.0042928c
push 0x20a
lea eax, [ebp - 0x22c]
mov dword [ebp - 4], ebx
push ebx
push eax
call fcn.0063af90
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, 0x6d1660
push edi
call fcn.0063fd28
push eax
push edi
lea eax, [ebp - 0x22c]
push ebx
push eax
call fcn.0064d489
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.0043eab8
mov byte [ebp - 4], 1
cmp dword [ebp - 0x238], ebx
sete al
test al, al
je 0x43c0d1
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.00428eec
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x43c0cb
call fcn.0042354a
push ebx
jmp 0x43c2b0
push 0x6d167c
push dword [ebp - 0x238]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x43c0a2
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.00437719
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 0x43c138
push 0
mov ecx, esi
call fcn.0042928c
jmp 0x43c291
lea eax, [ebp - 0x2e0]
push eax
push edi
call ebx
cmp eax, 0x6f
jne 0x43c170
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 0x43c12a
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 0x43c1d8
test edi, edi
je 0x43c275
push 6
lea edx, [edi + 0x194]
lea ecx, [ebp - 0x1c]
call fcn.00442375
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.0041c07a
xor ebx, ebx
add esp, 0x24
inc ebx
jmp 0x43c1de
mov ebx, dword [ebp - 0x2e4]
test edi, edi
je 0x43c1f2
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
je 0x43c275
push 0x84
lea eax, [ebp - 0x2dc]
push 0
push eax
call fcn.0063af90
add esp, 0xc
lea eax, [ebp - 0x2d8]
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x2dc], eax
push 3
push dword [ebp - 0x230]
call fcn.0041b7fd
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x300]
push dword [ebp - 0x2dc]
call fcn.0042928c
push eax
lea ecx, [ebp - 0x250]
call fcn.00428ae3
push 0
push 1
lea ecx, [ebp - 0x300]
call fcn.00429616
lea eax, [ebp - 0x2d8]
cmp dword [ebp - 0x2dc], eax
je 0x43c275
push dword [ebp - 0x2dc]
call fcn.0063fef8
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.00428eec
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.004246cb
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x43c2ae
call fcn.0042354a
push 0
push 1
lea ecx, [ebp - 0x250]
call fcn.00429616
mov eax, esi
call fcn.00623383
ret