Function at 0x432cfd
Capabilities:
Get common file path

Disassembly:
push 0xaf4
mov eax, 0x41c344
call fcn.0040bc61
mov esi, edx
mov dword [ebp - 0xad0], esi
mov ebx, ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xacc], eax
call fcn.00406c07
test al, al
jne 0x432d32
xor eax, eax
jmp 0x4338ac
push dword [ebp - 0xacc]
mov edx, esi
mov ecx, ebx
call fcn.00434ced
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x432d54
mov edx, 0x539
jmp 0x432ddc
push dword [ebp - 0xacc]
mov edx, dword [ebp - 0xad0]
push ecx
mov ecx, ebx
call fcn.00435610
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x432d78
mov edx, 0x53f
jmp 0x432ddc
lea ecx, [ebp - 0xaf1]
call fcn.00435f13
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x432d93
mov edx, 0x546
jmp 0x432ddc
mov edx, dword [ebp - 0xad0]
lea eax, [ebp - 0xafc]
and dword [ebp - 0xafc], 0
mov ecx, ebx
push eax
call fcn.0043ce9c
test eax, eax
jns 0x432de7
cmp dword [ebp - 0xafc], 0
jbe 0x432de7
push dword [ebp - 0xacc]
mov edx, dword [ebp - 0xad0]
mov ecx, ebx
call fcn.00434ced
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x432de7
mov edx, 0x556
push esi
push 0x3d9960
call fcn.0042e47c
push 0x3d7030
lea ecx, [ebp - 0xaf8]
call fcn.003f34c2
and dword [ebp - 4], 0
test esi, esi
js 0x432e5c
mov esi, dword [ebp - 0xaf8]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x432e2d
mov ebx, 0x3d9960
mov edx, 0x560
push esi
push ebx
call fcn.0042e47c
jmp 0x432e61
push dword [ebp - 0xacc]
mov edx, dword [ebp - 0xad0]
push ecx
push dword [ebp - 0xaf8]
mov ecx, ebx
call fcn.0043258e
mov ecx, dword [ebp + 4]
mov esi, eax
mov ebx, 0x3d9960
test esi, esi
jns 0x432e61
mov edx, 0x565
jmp 0x432e24
mov ebx, 0x3d9960
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0040cfd6
add esp, 0xc
test esi, esi
js 0x432edd
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push 0x24
push 0
call dword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x432ea7
push esi
push ebx
mov edx, 0x573
call fcn.0042e47c
jmp 0x432edd
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathAddBackslashW]
test eax, eax
jne 0x432edd
lea eax, [ebp - 0x218]
mov ecx, 0x80004005
push eax
push 0x3de578
push ecx
push ebx
push 0x579
push dword [ebp + 4]
mov esi, ecx
call fcn.00434a06
add esp, 0x18
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.0040cfd6
add esp, 0xc
test esi, esi
js 0x432f75
lea eax, [ebp - 0xb00]
mov dword [ebp - 0xb00], 0x104
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.USERENV.dll_GetProfilesDirectoryW]
test eax, eax
je 0x432f51
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathAddBackslashW]
test eax, eax
jne 0x432f75
lea eax, [ebp - 0x420]
mov ecx, 0x80004005
push eax
push 0x3de584
push ecx
push ebx
push 0x588
push dword [ebp + 4]
mov esi, ecx
call fcn.00434a06
add esp, 0x18
jmp 0x432f75
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x432f66
movzx esi, si
or esi, 0x80070000
mov ecx, dword [ebp + 4]
mov edx, 0x58e
push esi
push ebx
call fcn.004349e6
push 0x200
lea eax, [ebp - 0x620]
mov dword [ebp - 0x628], 0x3a0020
push 0
push eax
mov dword [ebp - 0x624], 0x5c
call fcn.0040cfd6
add esp, 0xc
test esi, esi
js 0x43389e
mov ax, word [ebp - 0x218]
lea ecx, [ebp - 0x6bc]
push 0x3d7ce8
mov word [ebp - 0x628], ax
call fcn.004019bd
mov byte [ebp - 4], 1
lea eax, [ebp - 0x628]
push 0xffffffffffffffff
push dword [ebp - 0x6b0]
push eax
mov eax, dword [ebp - 0x6bc]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0x6bc]
call esi
mov eax, dword [ebp - 0x6bc]
push 0xffffffffffffffff
push dword [ebp - 0x6b0]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de594
call dword [0x473670]
lea ecx, [ebp - 0x6bc]
call esi
push dword [ebp - 0x6b8]
lea ecx, [ebp - 0xad4]
call fcn.003f34c2
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0xad4]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x433055
push esi
push ebx
mov edx, 0x5a1
call fcn.0042e47c
jmp 0x433085
mov ecx, dword [ebp - 0xad4]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xad4]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x5a6
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xad4]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x4330bb
lea ecx, [ebp - 0x6ac]
cmp eax, ecx
je 0x4330bb
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0x750]
call fcn.004019bd
mov byte [ebp - 4], 3
lea eax, [ebp - 0x218]
push 0xffffffffffffffff
push dword [ebp - 0x744]
push eax
mov eax, dword [ebp - 0x750]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0x750]
call esi
mov eax, dword [ebp - 0x750]
push 0xffffffffffffffff
push dword [ebp - 0x744]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de5b8
call dword [0x473670]
lea ecx, [ebp - 0x750]
call esi
push dword [ebp - 0x74c]
lea ecx, [ebp - 0xad8]
call fcn.003f34c2
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0xad8]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x433163
push esi
push ebx
mov edx, 0x5b2
call fcn.0042e47c
jmp 0x433193
mov ecx, dword [ebp - 0xad8]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xad8]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x5b7
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xad8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x74c]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x4331c9
lea ecx, [ebp - 0x740]
cmp eax, ecx
je 0x4331c9
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0x7e4]
call fcn.004019bd
mov byte [ebp - 4], 5
lea eax, [ebp - 0x218]
push 0xffffffffffffffff
push dword [ebp - 0x7d8]
push eax
mov eax, dword [ebp - 0x7e4]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0x7e4]
call esi
mov eax, dword [ebp - 0x7e4]
push 0xffffffffffffffff
push dword [ebp - 0x7d8]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de5c4
call dword [0x473670]
lea ecx, [ebp - 0x7e4]
call esi
push dword [ebp - 0x7e0]
lea ecx, [ebp - 0xadc]
call fcn.003f34c2
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0xadc]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x433271
push esi
push ebx
mov edx, 0x5c3
call fcn.0042e47c
jmp 0x4332a1
mov ecx, dword [ebp - 0xadc]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xadc]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x5c8
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xadc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x4332d7
lea ecx, [ebp - 0x7d4]
cmp eax, ecx
je 0x4332d7
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0x878]
call fcn.004019bd
mov byte [ebp - 4], 7
lea eax, [ebp - 0x218]
push 0xffffffffffffffff
push dword [ebp - 0x86c]
push eax
mov eax, dword [ebp - 0x878]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0x878]
call esi
mov eax, dword [ebp - 0x878]
push 0xffffffffffffffff
push dword [ebp - 0x86c]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3d9868
call dword [0x473670]
lea ecx, [ebp - 0x878]
call esi
push dword [ebp - 0x874]
lea ecx, [ebp - 0xae0]
call fcn.003f34c2
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0xae0]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x43337f
push esi
push ebx
mov edx, 0x5d4
call fcn.0042e47c
jmp 0x4333af
mov ecx, dword [ebp - 0xae0]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xae0]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x5d9
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xae0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x874]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x4333e5
lea ecx, [ebp - 0x868]
cmp eax, ecx
je 0x4333e5
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0x90c]
call fcn.004019bd
mov byte [ebp - 4], 9
lea eax, [ebp - 0x420]
push 0xffffffffffffffff
push dword [ebp - 0x900]
push eax
mov eax, dword [ebp - 0x90c]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0x90c]
call esi
mov eax, dword [ebp - 0x90c]
push 0xffffffffffffffff
push dword [ebp - 0x900]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de5d8
call dword [0x473670]
lea ecx, [ebp - 0x90c]
call esi
push dword [ebp - 0x908]
lea ecx, [ebp - 0xae4]
call fcn.003f34c2
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0xae4]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x43348d
push esi
push ebx
mov edx, 0x5e7
call fcn.0042e47c
jmp 0x4334bd
mov ecx, dword [ebp - 0xae4]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xae4]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x5ec
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xae4]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x908]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x4334f3
lea ecx, [ebp - 0x8fc]
cmp eax, ecx
je 0x4334f3
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0x9a0]
call fcn.004019bd
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x420]
push 0xffffffffffffffff
push dword [ebp - 0x994]
push eax
mov eax, dword [ebp - 0x9a0]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0x9a0]
call esi
mov eax, dword [ebp - 0x9a0]
push 0xffffffffffffffff
push dword [ebp - 0x994]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de608
call dword [0x473670]
lea ecx, [ebp - 0x9a0]
call esi
push dword [ebp - 0x99c]
lea ecx, [ebp - 0xae8]
call fcn.003f34c2
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0xae8]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x43359b
push esi
push ebx
mov edx, 0x5f9
call fcn.0042e47c
jmp 0x4335cb
mov ecx, dword [ebp - 0xae8]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xae8]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x5fe
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xae8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x99c]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x433601
lea ecx, [ebp - 0x990]
cmp eax, ecx
je 0x433601
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0xa34]
call fcn.004019bd
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x420]
push 0xffffffffffffffff
push dword [ebp - 0xa28]
push eax
mov eax, dword [ebp - 0xa34]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0xa34]
call esi
mov eax, dword [ebp - 0xa34]
push 0xffffffffffffffff
push dword [ebp - 0xa28]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de630
call dword [0x473670]
lea ecx, [ebp - 0xa34]
call esi
push dword [ebp - 0xa30]
lea ecx, [ebp - 0xaec]
call fcn.003f34c2
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0xaec]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x4336a9
push esi
push ebx
mov edx, 0x60a
call fcn.0042e47c
jmp 0x4336d9
mov ecx, dword [ebp - 0xaec]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xaec]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x60f
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xaec]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xa30]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x43370f
lea ecx, [ebp - 0xa24]
cmp eax, ecx
je 0x43370f
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
push 0x3d7ce8
lea ecx, [ebp - 0xac8]
call fcn.004019bd
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x420]
push 0xffffffffffffffff
push dword [ebp - 0xabc]
push eax
mov eax, dword [ebp - 0xac8]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x473670]
lea ecx, [ebp - 0xac8]
call esi
mov eax, dword [ebp - 0xac8]
push 0xffffffffffffffff
push dword [ebp - 0xabc]
mov esi, dword [eax + 0x10]
mov ecx, esi
push 0x3de6ac
call dword [0x473670]
lea ecx, [ebp - 0xac8]
call esi
push dword [ebp - 0xac4]
lea ecx, [ebp - 0xaf0]
call fcn.003f34c2
mov byte [ebp - 4], 0x10
mov esi, dword [ebp - 0xaf0]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x4337b7
push esi
push ebx
mov edx, 0x61e
call fcn.0042e47c
jmp 0x4337e7
mov ecx, dword [ebp - 0xaf0]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00431356
push dword [ebp - 0xaf0]
mov esi, eax
push 0x3de5ac
push esi
push ebx
push 0x623
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0xaf0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xac4]
mov dword [ebp - fcn.003fbe10], 0x3d1028
test eax, eax
je 0x43381d
lea ecx, [ebp - 0xab8]
cmp eax, ecx
je 0x43381d
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
test esi, esi
js 0x43389e
mov ebx, dword [ebp - 0xacc]
xor edx, edx
push edi
push ebx
push ecx
push ecx
push 0x16
inc edx
pop ecx
call fcn.00431632
lea esi, [eax + 0x7ff8ffa9]
neg esi
sbb esi, esi
and esi, eax
jge 0x43384b
mov edx, 0x632
jmp 0x433890
mov edx, edi
mov ecx, ebx
call fcn.0043180c
mov esi, eax
test esi, esi
jns 0x433861
mov edx, 0x639
jmp 0x433890
push edi
push ebx
push ecx
push ecx
push 0x23
xor edx, edx
pop ecx
call fcn.00431632
mov esi, eax
test esi, esi
jns 0x43387c
mov edx, 0x640
jmp 0x433890
mov dl, 1
mov ecx, edi
call fcn.0045de9e
mov esi, eax
test esi, esi
jns 0x43389e
mov edx, 0x646
mov ecx, dword [ebp + 4]
push esi
push 0x3d9960
call fcn.0042e47c
push dword [ebp - 0xaf8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
call fcn.0040bc10
ret 8