Function at 0x433f90
Capabilities:
Get common file path

Disassembly:
push 0xaec
mov eax, 0x46ad67
call fcn.0046791c
mov esi, edx
mov dword [ebp - 0xacc], esi
mov ebx, ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xad0], eax
call fcn.00424abc
test al, al
jne 0x433fc5
xor eax, eax
jmp 0x434919
push dword [ebp - 0xad0]
mov edx, esi
mov ecx, ebx
call fcn.00435ffe
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x433fe7
mov edx, 0x424
jmp 0x43406f
push dword [ebp - 0xad0]
mov edx, dword [ebp - 0xacc]
push ecx
mov ecx, ebx
call fcn.00436643
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x43400b
mov edx, 0x42a
jmp 0x43406f
lea ecx, [ebp - 0xaf1]
call fcn.00478ee9
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x434026
mov edx, 0x431
jmp 0x43406f
mov edx, dword [ebp - 0xacc]
lea eax, [ebp - 0xaf0]
and dword [ebp - 0xaf0], 0
mov ecx, ebx
push eax
call fcn.0043bcaf
test eax, eax
jns 0x43407a
cmp dword [ebp - 0xaf0], 0
jbe 0x43407a
push dword [ebp - 0xad0]
mov edx, dword [ebp - 0xacc]
mov ecx, ebx
call fcn.00435ffe
mov ecx, dword [ebp + 4]
mov esi, eax
test esi, esi
jns 0x43407a
mov edx, 0x441
push esi
push 0x406418
call fcn.00475b3c
push 0x406510
lea ecx, [ebp - 0xaf8]
call fcn.0043340a
and dword [ebp - 4], 0
test esi, esi
js 0x4340ef
mov esi, dword [ebp - 0xaf8]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x4340c0
mov ebx, 0x406418
mov edx, 0x44b
push esi
push ebx
call fcn.00475b3c
jmp 0x4340f4
push dword [ebp - 0xad0]
mov edx, dword [ebp - 0xacc]
push ecx
push dword [ebp - 0xaf8]
mov ecx, ebx
call fcn.00433df6
mov ecx, dword [ebp + 4]
mov esi, eax
mov ebx, 0x406418
test esi, esi
jns 0x4340f4
mov edx, 0x450
jmp 0x4340b7
mov ebx, 0x406418
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
test esi, esi
js 0x434170
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 0x43413a
push esi
push ebx
mov edx, 0x45e
call fcn.00475b3c
jmp 0x434170
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 0x434170
lea eax, [ebp - 0x218]
mov ecx, 0x80004005
push eax
push 0x406524
push ecx
push ebx
push 0x464
push dword [ebp + 4]
mov esi, ecx
call fcn.0047857a
add esp, 0x18
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
test esi, esi
js 0x4341fa
lea eax, [ebp - 0xaf0]
mov dword [ebp - 0xaf0], 0x104
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.USERENV.dll_GetProfilesDirectoryW]
test eax, eax
je 0x4341e4
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 0x4341fa
lea eax, [ebp - 0x420]
mov ecx, 0x80004005
push eax
push 0x406530
push ecx
push ebx
push 0x473
push dword [ebp + 4]
mov esi, ecx
call fcn.0047857a
add esp, 0x18
jmp 0x4341fa
call fcn.00478a37
mov ecx, dword [ebp + 4]
mov esi, eax
push esi
push ebx
mov edx, 0x479
call fcn.00478527
push 0x200
lea eax, [ebp - 0x620]
mov dword [ebp - 0x628], 0x3a0020
push 0
push eax
mov dword [ebp - 0x624], 0x5c
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
test esi, esi
js 0x43490b
mov ax, word [ebp - 0x218]
lea ecx, [ebp - 0x6bc]
push 0x4064a4
mov word [ebp - 0x628], ax
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x628]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x6bc]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x406540
lea ecx, [ebp - 0x6bc]
call fcn.00433b6f
push dword [ebp - 0x6b8]
lea ecx, [ebp - 0xacc]
call fcn.0043340a
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0xacc]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x4342b2
push esi
push ebx
mov edx, 0x48c
call fcn.00475b3c
jmp 0x4342e2
mov ecx, dword [ebp - 0xacc]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xacc]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x491
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xacc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x6bc]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0x750]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x750]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x406564
lea ecx, [ebp - 0x750]
call fcn.00433b6f
push dword [ebp - 0x74c]
lea ecx, [ebp - 0xad4]
call fcn.0043340a
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0xad4]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x43437d
push esi
push ebx
mov edx, 0x49d
call fcn.00475b3c
jmp 0x4343ad
mov ecx, dword [ebp - 0xad4]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xad4]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x4a2
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xad4]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x750]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0x7e4]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x7e4]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x406570
lea ecx, [ebp - 0x7e4]
call fcn.00433b6f
push dword [ebp - 0x7e0]
lea ecx, [ebp - 0xad8]
call fcn.0043340a
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0xad8]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x434448
push esi
push ebx
mov edx, 0x4ae
call fcn.00475b3c
jmp 0x434478
mov ecx, dword [ebp - 0xad8]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xad8]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x4b3
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xad8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x7e4]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0x878]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x878]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x406318
lea ecx, [ebp - 0x878]
call fcn.00433b6f
push dword [ebp - 0x874]
lea ecx, [ebp - 0xadc]
call fcn.0043340a
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0xadc]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x434513
push esi
push ebx
mov edx, 0x4bf
call fcn.00475b3c
jmp 0x434543
mov ecx, dword [ebp - 0xadc]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xadc]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x4c4
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xadc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x878]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0x90c]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x90c]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x406584
lea ecx, [ebp - 0x90c]
call fcn.00433b6f
push dword [ebp - 0x908]
lea ecx, [ebp - 0xae0]
call fcn.0043340a
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0xae0]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x4345de
push esi
push ebx
mov edx, 0x4d2
call fcn.00475b3c
jmp 0x43460e
mov ecx, dword [ebp - 0xae0]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xae0]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x4d7
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xae0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x90c]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0x9a0]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x9a0]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x4065b4
lea ecx, [ebp - 0x9a0]
call fcn.00433b6f
push dword [ebp - 0x99c]
lea ecx, [ebp - 0xae4]
call fcn.0043340a
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0xae4]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x4346a9
push esi
push ebx
mov edx, 0x4e4
call fcn.00475b3c
jmp 0x4346d9
mov ecx, dword [ebp - 0xae4]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xae4]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x4e9
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xae4]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0xa34]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xa34]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x4065d8
lea ecx, [ebp - 0xa34]
call fcn.00433b6f
push dword [ebp - 0xa30]
lea ecx, [ebp - 0xae8]
call fcn.0043340a
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0xae8]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x434774
push esi
push ebx
mov edx, 0x4f5
call fcn.00475b3c
jmp 0x4347a4
mov ecx, dword [ebp - 0xae8]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xae8]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x4fa
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xae8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0xa34]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
push 0x4064a4
lea ecx, [ebp - 0xac8]
call fcn.0043333c
push 0xffffffffffffffff
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xac8]
call fcn.00433b6f
push 0xffffffffffffffff
push 0x406654
lea ecx, [ebp - 0xac8]
call fcn.00433b6f
push dword [ebp - 0xac4]
lea ecx, [ebp - 0xaec]
call fcn.0043340a
mov byte [ebp - 4], 0x10
mov esi, dword [ebp - 0xaec]
mov ecx, dword [ebp + 4]
neg esi
sbb esi, esi
and esi, 0x7ff8fff2
add esi, 0x8007000e
jns 0x43483f
push esi
push ebx
mov edx, 0x509
call fcn.00475b3c
jmp 0x43486f
mov ecx, dword [ebp - 0xaec]
xor edx, edx
push edi
sub esp, 0xc
call fcn.00433dcc
push dword [ebp - 0xaec]
mov esi, eax
push 0x406558
push esi
push ebx
push 0x50e
push dword [ebp + 4]
call fcn.004785d6
add esp, 0x18
push dword [ebp - 0xaec]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0xac8]
mov byte [ebp - 4], 0
call fcn.0041d922
test esi, esi
js 0x43490b
mov ebx, dword [ebp - 0xad0]
xor edx, edx
push edi
push ebx
push ecx
push ecx
push 0x16
inc edx
pop ecx
call fcn.004770df
mov esi, eax
cmp esi, 0x80070057
je 0x4348b8
test esi, esi
jns 0x4348b8
mov edx, 0x51d
jmp 0x4348fd
mov edx, edi
mov ecx, ebx
call fcn.004772bf
mov esi, eax
test esi, esi
jns 0x4348ce
mov edx, 0x524
jmp 0x4348fd
push edi
push ebx
push ecx
push ecx
push 0x23
xor edx, edx
pop ecx
call fcn.004770df
mov esi, eax
test esi, esi
jns 0x4348e9
mov edx, 0x52b
jmp 0x4348fd
mov dl, 1
mov ecx, edi
call fcn.00490b81
mov esi, eax
test esi, esi
jns 0x43490b
mov edx, 0x531
mov ecx, dword [ebp + 4]
push esi
push 0x406418
call fcn.00475b3c
push dword [ebp - 0xaf8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
call fcn.004678b9
ret 8