Function at 0x4338b4
Capabilities:
Get common file path

Disassembly:
push 0x654
mov eax, 0x41c3a3
call fcn.0040bc61
mov dword [ebp - 0x648], edx
mov esi, ecx
mov dword [ebp - 0x650], esi
call fcn.00406c07
test al, al
jne 0x4338e1
xor eax, eax
jmp 0x433ce7
lea ecx, [ebp - 0x644]
call fcn.004347bf
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x43397a
push edi
push 0x3d9960
mov edx, 0x67d
call fcn.0042e47c
xor ebx, ebx
lea eax, [ebp - 0x220]
push 0x208
push ebx
push eax
mov dword [ebp - 0x658], ebx
mov dword [ebp - 0x654], ebx
call fcn.0040cfd6
add esp, 0xc
lea eax, [ebp - 0x220]
push 0x104
push eax
push ebx
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x658]
call fcn.0043496f
push dword [esi + 8]
lea ecx, [ebp - 0x658]
push dword [esi + 4]
push 0x7e1
call fcn.004349a0
lea ecx, [ebp - 0x658]
mov dword [esi + 0xc], eax
call fcn.0040a882
jmp 0x433ce5
xor ebx, ebx
lea ecx, [ebp - 0x631]
mov byte [ebp - 0x631], bl
call fcn.00435f13
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x4339a6
push edi
push 0x3d9960
mov edx, 0x685
call fcn.0042e47c
mov dword [ebp - 0x640], ebx
mov dword [ebp - 4], ebx
test edi, edi
js 0x433cd9
cmp byte [ebp - 0x631], 0
je 0x433a01
mov ax, word [ebp - 0x644]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x3a0020
mov dword [ebp - 0x14], 0x5c
mov word [ebp - 0x18], ax
call fcn.003f3980
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x640]
call fcn.0042fe08
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x433a2c
mov edx, 0x690
jmp 0x433a1c
mov edx, esi
lea ecx, [ebp - 0x640]
call fcn.004343a8
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x433a2c
mov edx, 0x695
push edi
push 0x3d9960
call fcn.0042e47c
jmp 0x433cd9
push 0x3d7ce8
lea ecx, [ebp - 0x638]
call fcn.003f34c2
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x638]
mov ecx, dword [ebp + 4]
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, 0x8007000e
jns 0x433a62
mov edx, 0x69d
jmp 0x433a94
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x638]
call fcn.0042fad1
mov edi, dword [ebp - 0x638]
mov ecx, dword [ebp + 4]
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, 0x8007000e
jns 0x433aa1
mov edx, 0x6a3
push edi
push 0x3d9960
call fcn.0042e47c
jmp 0x433af1
call fcn.0040dc56
test al, al
jne 0x433af1
mov eax, dword [ebp - 0x648]
push ebx
push 1
push dword [ebp - 0x638]
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0xc]
call dword [0x473670]
call dword [esi + 0xc]
push dword [ebp - 0x638]
mov edi, eax
push 0x3d99a0
push edi
push 0x3d9960
push 0x6aa
push dword [ebp + 4]
call fcn.00434a2e
mov esi, dword [ebp - 0x650]
add esp, 0x18
mov byte [ebp - 4], bl
push dword [ebp - 0x638]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
js 0x433cd9
call fcn.0040dc56
test al, al
jne 0x433cd9
lea eax, [ebp - 0x428]
push eax
push 1
push ebx
push 0x16
push ebx
call dword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
mov edi, eax
test edi, edi
js 0x433c2c
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x64c]
call fcn.003f34c2
mov byte [ebp - 4], 2
mov esi, 0x8007000e
mov edi, dword [ebp - 0x64c]
mov ecx, dword [ebp + 4]
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, esi
jns 0x433b79
push edi
push 0x3d9960
mov edx, 0x6b8
call fcn.0042e47c
jmp 0x433c1b
push 0x3d7ce8
lea ecx, [ebp - 0x63c]
call fcn.003f34c2
mov byte [ebp - 4], 3
cmp dword [ebp - 0x63c], 0
jne 0x433ba0
mov edi, esi
mov edx, 0x6be
push esi
jmp 0x433bc9
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x63c]
call fcn.0042faf5
mov esi, dword [ebp - 0x63c]
test esi, esi
jne 0x433bd8
mov eax, 0x8007000e
mov edx, 0x6c4
mov edi, eax
push eax
mov ecx, dword [ebp + 4]
push 0x3d9960
call fcn.0042e47c
jmp 0x433c0f
mov eax, dword [ebp - 0x648]
push ebx
push 1
push esi
mov edi, dword [eax]
push eax
mov ecx, dword [edi + 0xc]
call dword [0x473670]
call dword [edi + 0xc]
push esi
push 0x3d99a0
mov edi, eax
push edi
push 0x3d9960
push 0x6c9
push dword [ebp + 4]
call fcn.00434a2e
add esp, 0x18
push dword [ebp - 0x63c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x64c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x433cd9
cmp edi, 0x80070057
jne 0x433c3b
mov edi, ebx
jmp 0x433cd9
mov ecx, dword [ebp + 4]
mov edx, 0x6d5
push edi
push 0x3d9960
call fcn.004349e6
push 0x208
lea eax, [ebp - 0x630]
mov dword [ebp - 0x660], ebx
push ebx
push eax
mov dword [ebp - 0x65c], ebx
call fcn.0040cfd6
add esp, 0xc
lea eax, [ebp - 0x630]
push 0x104
push eax
push ebx
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea eax, [ebp - 0x630]
push eax
lea ecx, [ebp - 0x660]
call fcn.0043496f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x660]
push dword [esi + 8]
push dword [esi + 4]
push 0x7df
call fcn.004349a0
mov edx, dword [esi]
push 0xffffffffffffffff
mov dword [esi + 0xc], eax
push eax
mov esi, dword [edx + 0x10]
mov ecx, esi
push 0x3d99b0
call dword [0x473670]
mov ecx, dword [ebp - 0x650]
call esi
lea ecx, [ebp - 0x660]
call fcn.0040a882
push dword [ebp - 0x640]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
call fcn.0040bc10
ret