Function at 0x43b9ad
Capabilities:
Get common file path

Disassembly:
push 0x2f4
mov eax, 0x66a0e5
call fcn.00621869
mov esi, ecx
mov dword [ebp - 0x2e4], esi
xor ebx, ebx
lea ecx, [ebp - 0x250]
push 0x6cf4fc
mov dword [ebp - 0x2e8], ebx
call fcn.00429293
push 0x20a
lea eax, [ebp - 0x22c]
mov dword [ebp - 4], ebx
push ebx
push eax
call fcn.00639410
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, 0x6cf510
push edi
call fcn.0063e1a8
push eax
push edi
lea eax, [ebp - 0x22c]
push ebx
push eax
call fcn.0064b909
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.0043e485
mov byte [ebp - 4], 1
cmp dword [ebp - 0x238], ebx
sete al
test al, al
je 0x43ba9e
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.00428ef3
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x43ba98
call fcn.0042354a
push ebx
jmp 0x43bc7d
push 0x6cf52c
push dword [ebp - 0x238]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x43ba6f
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.0043773e
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 0x43bb05
push 0
mov ecx, esi
call fcn.00429293
jmp 0x43bc5e
lea eax, [ebp - 0x2e0]
push eax
push edi
call ebx
cmp eax, 0x6f
jne 0x43bb3d
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 0x43baf7
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 0x43bba5
test edi, edi
je 0x43bc42
push 6
lea edx, [edi + 0x194]
lea ecx, [ebp - 0x1c]
call fcn.00441d45
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 0x43bbab
mov ebx, dword [ebp - 0x2e4]
test edi, edi
je 0x43bbbf
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
je 0x43bc42
push 0x84
lea eax, [ebp - 0x2dc]
push 0
push eax
call fcn.00639410
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.00429293
push eax
lea ecx, [ebp - 0x250]
call fcn.00428aea
push 0
push 1
lea ecx, [ebp - 0x300]
call fcn.0042961d
lea eax, [ebp - 0x2d8]
cmp dword [ebp - 0x2dc], eax
je 0x43bc42
push dword [ebp - 0x2dc]
call fcn.0063e378
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.00428ef3
mov ecx, dword [ebp - 0x230]
lea ecx, [ecx - 0x10]
call fcn.004246cb
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x43bc7b
call fcn.0042354a
push 0
push 1
lea ecx, [ebp - 0x250]
call fcn.0042961d
mov eax, esi
call fcn.00621813
ret