Function at 0x407a70
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42f788
mov eax, dword fs:[0]
push eax
sub esp, 0x294
mov eax, dword [0x43d910]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov ebx, ecx
push str.SHGetKnownFolderPath
push str.shell32
mov dword [ebp - 0x254], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x407b35
lea ecx, [ebp - 0x234]
push ecx
push 0
push 0
push esi
call eax
test eax, eax
je 0x407aea
push 0x4378e0
mov ecx, ebx
call fcn.00402440
jmp 0x407d8e
push dword [ebp - 0x234]
lea ecx, [ebp - 0x230]
call fcn.00402440
push dword [ebp - 0x234]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea eax, [ebp - 0x230]
push eax
mov ecx, ebx
call fcn.00401e10
cmp dword [ebp - 0x21c], 8
jb 0x407d8e
push dword [ebp - 0x230]
call fcn.00412d20
add esp, 4
jmp 0x407d8e
mov ecx, esi
mov edx, 0x4312b8
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x407b57
add ecx, 4
add edx, 4
sub edi, 4
jae 0x407b41
jmp 0x407c45
mov ecx, esi
mov edx, 0x4312c8
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x407b79
add ecx, 4
add edx, 4
sub edi, 4
jae 0x407b63
jmp 0x407c45
mov ecx, 0x4312a8
mov edx, 0xc
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x407b99
add esi, 4
add ecx, 4
sub edx, 4
jae 0x407b83
jmp 0x407c45
push str.GetLastErrorStr__
lea ecx, [ebp - 0x250]
call fcn.00402440
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0
call fcn.00407760
push eax
lea eax, [ebp - 0x250]
push eax
push 0x1b2
sub esp, 0x18
mov byte [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0x234], esp
push str.v:_builds227kunlunkunlun.build.rcclient_sourcesprivateprototypeclient_u11winclientwinclienterror_handling_utility.h
call fcn.00402440
sub esp, 0x18
mov ecx, esp
push str.rfid__FOLDERID_LocalAppData__rfid__FOLDERID_LocalAppDataLow__rfid__FOLDERID_RoamingAppData
mov byte [ebp - 4], 2
call fcn.00402440
lea ecx, [ebp - 0x2a0]
call fcn.00407540
add esp, 0x18
mov byte [ebp - 4], 3
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00409ee0
mov ecx, dword [eax + 0x3c]
call fcn.0040c5f0
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 1
call fcn.00409f40
lea ecx, [ebp - 0x230]
call fcn.00401e80
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
call fcn.00401e80
lea eax, [ebp - 0x218]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
je 0x407d43
push str.GetLastErrorStr__
lea ecx, [ebp - 0x250]
call fcn.00402440
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 5
call fcn.00407760
push eax
lea eax, [ebp - 0x250]
push eax
push 0x1b3
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x238], esp
push str.v:_builds227kunlunkunlun.build.rcclient_sourcesprivateprototypeclient_u11winclientwinclienterror_handling_utility.h
call fcn.00402440
sub esp, 0x18
mov ecx, esp
push str.SHGetFolderPathW_0__0x001a__0__SHGFP_TYPE_CURRENT__p_____HRESULT_0L_
mov byte [ebp - 4], 7
call fcn.00402440
lea ecx, [ebp - 0x2a0]
call fcn.00407540
add esp, 0x18
mov byte [ebp - 4], 8
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00409ee0
mov ecx, dword [eax + 0x3c]
call fcn.0040c5f0
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 6
call fcn.00409f40
cmp dword [ebp - 0x21c], 8
jb 0x407d08
push dword [ebp - 0x230]
call fcn.00412d20
add esp, 4
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x23c], 8
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
jb 0x407d43
push dword [ebp - 0x250]
call fcn.00412d20
add esp, 4
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], ax
cmp word [ebp - 0x218], ax
jne 0x407d63
xor ecx, ecx
jmp 0x407d7f
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407d70
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
mov ecx, ebx
call fcn.00402340
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00412d25
mov esp, ebp
pop ebp
ret