Function at 0x438520
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6e82c0
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x7cf070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x20], ebx
mov ecx, str.LSYeeeeepw__1HHTWbbbfnv__1_CMTjv28_
call fcn.0045f920
push eax
lea eax, [ebx + 0x108]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00404720
lea ecx, [ebx + 0xdc]
mov dword [ebp - 4], 0
push ecx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004047f0
add esp, 0x18
mov byte [ebp - 4], 2
or esi, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4385a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
lea ecx, [ebx + 0xd4]
lea edx, [ebp - 0x10]
call fcn.0044dde0
add esp, 4
cmp dword [ebx + 0x7f4], 0
je 0x43874d
cmp dword [ebx + 0x7f8], 0
jne 0x43874d
add ebx, 0x158
mov ecx, str.GGHIIIIIP_kt____.:HHUcju__2__CGOZ_coz___
mov dword [ebp - 0x1c], ebx
call fcn.0045f920
push eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00404720
mov esi, eax
push 0x104
push 0
push 0x7e7c38
mov byte [ebp - 4], 3
call fcn.005ed880
add esp, 0x18
push 0x7e7c38
push 0
push 0
push 0x19
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, dword [esi]
mov ecx, str.P_bbbbbbnpy___2_LRZ_cnv5_DSUcou_._GHT__dlt_033_KVcor___.FKNVdmnny.7___EMM_aerrw23_EETaaggit_446_ACMPZ_chrs__APZ_fo___19DNRXbcp7_AMVbflz_.9_GSV_ddjsz5AHVbbppr__8__KNOU_cm__0___DRjy
mov ebx, dword [ebp - 0x10]
call fcn.0045f920
push 0
push 0
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 0x208
call fcn.004a5457
mov dword [ebp - 0x28], eax
sub esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
push esi
push edi
push 0x7e7c38
push ebx
call fcn.004091d0
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x28]
call fcn.004a5452
mov byte [ebp - 4], 2
add esp, 4
mov edx, dword [ebp - 0x18]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43868b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, str.NVW______imw_.4_AIWdpqy_1_DJYaghsy5
call fcn.0045f920
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
call fcn.00404720
mov esi, eax
push 0x104
push 0
push 0x7e7c38
mov byte [ebp - 4], 5
call fcn.005ed880
add esp, 0x18
push 0x7e7c38
push 0
push 0
push 0x16
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, dword [esi]
mov ecx, str.FHJJJJJJV_grt__08_MQ_lnw___.2_DOU_hqtu__8CN_hilyz_._HOTbmy__0_HSY_bqt2_HTXbjkp__7_BIIRgquz4_KQ_cnrvz_5AJQVbgijlx__DJUX_jyz._57BKVaeppxx79EKPSY_diuy___JV_imqv.9ADEHLXXgt___09DSbhkx_7
mov ebx, dword [ebp - 0x10]
call fcn.0045f920
push 0
push 0
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 0x208
call fcn.004a5457
mov dword [ebp - 0x28], eax
sub esp, 8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
push esi
push edi
push 0x7e7c38
push ebx
call fcn.004091d0
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x28]
call fcn.004a5452
mov byte [ebp - 4], 2
or esi, 0xffffffff
mov edx, dword [ebp - 0x18]
add esp, 4
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438740
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x7f8], 1
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x43876c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret