Function at 0x43c07e
Capabilities:
Get common file path

Disassembly:
push 0x2f4
mov eax, 0x66f2b1
call fcn.00626979
mov esi, ecx
mov dword [ebp - 0x2e4], esi
xor ebx, ebx
lea ecx, [ebp - 0x250]
push 0x6d55bc
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.0063e4e0
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, 0x6d55d0
push edi
call fcn.00643278
push eax
push edi
lea eax, [ebp - 0x22c]
push ebx
push eax
call fcn.00650a69
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.0043eb56
mov byte [ebp - 4], 1
cmp dword [ebp - 0x238], ebx
sete al
test al, al
je 0x43c16f
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 0x43c169
call fcn.0042358b
push ebx
jmp 0x43c34e
push 0x6d55ec
push dword [ebp - 0x238]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x43c140
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.0043784d
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 0x43c1d6
push 0
mov ecx, esi
call fcn.004292cc
jmp 0x43c32f
lea eax, [ebp - 0x2e0]
push eax
push edi
call ebx
cmp eax, 0x6f
jne 0x43c20e
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 0x43c1c8
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 0x43c276
test edi, edi
je 0x43c313
push 6
lea edx, [edi + 0x194]
lea ecx, [ebp - 0x1c]
call fcn.00442415
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 0x43c27c
mov ebx, dword [ebp - 0x2e4]
test edi, edi
je 0x43c290
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
je 0x43c313
push 0x84
lea eax, [ebp - 0x2dc]
push 0
push eax
call fcn.0063e4e0
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 0x43c313
push dword [ebp - 0x2dc]
call fcn.00643448
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 0x43c34c
call fcn.0042358b
push 0
push 1
lea ecx, [ebp - 0x250]
call fcn.00429656
mov eax, esi
call fcn.00626923
ret