Function at 0x43c1b1
Capabilities:
Get common file path
Set current directory

Disassembly:
push 0x238
mov eax, 0x48616c
call fcn.00468ad7
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp + 0x10]
mov esi, ecx
mov dword [ebp - 0x238], eax
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
xor edi, edi
cmp eax, edi
jne 0x43c1e9
xor eax, eax
jmp 0x43c4ed
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push edi
push eax
call fcn.00466c70
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push dword [esi]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.0042bc31
lea eax, [ebp - 0x23c]
push esi
push eax
mov dword [ebp - 4], edi
call fcn.0042bd58
add esp, 0x14
mov esi, 0x4c1160
push esi
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 1
call fcn.004237f4
push esi
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 2
call fcn.004237f4
mov eax, dword [ebx]
mov byte [ebp - 4], 3
cmp dword [eax - 0xc], edi
jne 0x43c2bf
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0042bbbf
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 4
call fcn.00417f16
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.00417891
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x220]
call fcn.00417f16
jmp 0x43c359
push eax
push dword [0x4c1a34]
lea eax, [ebp - 0x21c]
push eax
call fcn.0042bc31
add esp, 0xc
push eax
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 5
call fcn.00417f16
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.00417891
push 0x4938f0
lea ecx, [ebp - 0x224]
call fcn.0043c008
push dword [ebp - 0x23c]
lea eax, [ebp - 0x21c]
push dword [ebp - 0x224]
push eax
call fcn.0042bc31
add esp, 0xc
push eax
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 6
call fcn.00417f16
mov ecx, dword [ebp - 0x21c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.00417891
push edi
push dword [ebp - 0x220]
push dword [ebp - 0x228]
call fcn.0042bc7c
add esp, 0xc
push esi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 1
call fcn.004237f4
push esi
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 7
call fcn.004237f4
push 4
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 8
call fcn.00417c29
push str..msi
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00417ab1
mov ecx, dword [ebp - 0x244]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
mov byte [ebp - 4], 8
call fcn.00417891
inc bl
je 0x43c41c
mov esi, str.msiexec.exe
push esi
mov dword [ebp - 0x21c], edi
call fcn.00468f76
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.00417d8b
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax]
push dword [ebp - 0x220]
lea eax, [ebp - 0x22c]
cmp dword [ecx - 0xc], edi
jne 0x43c40b
push str._i___s_
push eax
call fcn.0041915d
add esp, 0xc
jmp 0x43c43f
push ecx
push 0x4938ac
push eax
call fcn.0041915d
add esp, 0x10
jmp 0x43c43f
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x230]
call fcn.00417f16
push dword [ebp - 0x240]
lea ecx, [ebp - 0x22c]
call fcn.00417f16
push dword [ebp - 0x224]
mov esi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call esi
mov ecx, dword [ebp - 0x238]
push 0x48f54c
call fcn.00417ab1
push dword [ebp - 0x21c]
mov ebx, dword [ebp - 0x230]
push edi
mov edi, dword [ebp - 0x22c]
neg eax
push 1
sbb al, al
push 0
inc al
pop eax
sete al
dec eax
push eax
push edi
push ebx
call fcn.004459bc
mov dword [ebp - 0x238], eax
add esp, 0x18
lea eax, [ebp - 0x218]
push eax
call esi
lea ecx, [edi - 0x10]
call fcn.00417891
lea ecx, [ebx - 0x10]
call fcn.00417891
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
call fcn.00417891
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.00417891
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.00417891
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.00417891
xor eax, eax
cmp dword [ebp - 0x238], 1
sete al
call fcn.00468b5a
ret