Function at 0x542190
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x448
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x454]
mov edx, 0x69d94c
push 4
call fcn.00540ed0
add esp, 4
cmp dword [ebp - 0x454], 0x80000000
jne 0x5421d4
lea ecx, [ebp - 0x30]
mov edx, str.USERPROFILE_library_std_src_syswindowspath.rs
push 0xb
call fcn.00540ed0
add esp, 4
jmp 0x5421ee
movsd xmm0, qword [ebp - 0x454]
movsd xmm1, qword [ebp - 0x44c]
movsd qword [ebp - 0x28], xmm1
movsd qword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x30]
cmp eax, 0x80000000
jne 0x54234d
call sub.KERNEL32.DLL_GetCurrentProcess
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x38]
push ecx
push 0x20008
push eax
call sub.advapi32.dll_OpenProcessToken
test eax, eax
je 0x542367
mov eax, dword [ebp - 0x38]
mov ebx, 0x200
xor edi, edi
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], eax
cmp ebx, 0x201
jae 0x542290
jmp 0x542271
mov edi, dword [ebp - 0x10]
jbe 0x542372
cmp ebx, 0x201
jae 0x542290
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], 0x200
lea esi, [ebp - 0x454]
mov edi, ebx
jmp 0x5422c1
mov eax, dword [ebp - 0x34]
sub ebx, edi
sub eax, edi
cmp eax, ebx
jae 0x5422b2
mov edx, edi
lea ecx, [ebp - 0x44]
push ebx
call fcn.005211b0
add esp, 4
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x10], edi
push 0
call sub.KERNEL32.DLL_SetLastError
mov dword [ebp - 0x30], edi
lea eax, [ebp - 0x30]
push eax
push esi
push dword [ebp - 0x20]
call sub.userenv.dll_GetUserProfileDirectoryW
test eax, eax
je 0x5422f0
mov ebx, dword [ebp - 0x30]
dec ebx
jmp 0x5422fd
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0x7a
jne 0x542304
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
test ebx, ebx
jne 0x542316
call sub.KERNEL32.DLL_GetLastError
mov edx, dword [ebp - 0x18]
xor ebx, ebx
test eax, eax
jne 0x5423f2
cmp ebx, edi
jne 0x542260
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0x7a
jne 0x54240e
lea ebx, [edi + edi]
test edi, edi
mov edi, dword [ebp - 0x10]
mov eax, 0xffffffff
cmovs ebx, eax
cmp ebx, 0x201
jb 0x542271
jmp 0x542290
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
movsd xmm0, qword [ebp - 0x2c]
mov dword [edx + 0xc], ecx
movsd qword [edx + 4], xmm0
mov dword [edx], eax
jmp 0x5423e7
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x80000000
jmp 0x5423e7
cmp ebx, edx
ja 0x542427
mov edx, esi
lea ecx, [ebp - 0x30]
push ebx
call fcn.00522900
add esp, 4
movsd xmm0, qword [ebp - 0x30]
movsd xmm1, qword [ebp - 0x28]
movsd qword [ebp - 0x4c], xmm1
movsd qword [ebp - 0x54], xmm0
test edi, edi
je 0x5423ad
mov ecx, dword [ebp - 0x1c]
mov edx, 2
call fcn.004256e0
cmp dword [ebp - 0x54], 0x80000000
jne 0x5423c9
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x80000000
lea ecx, [ebp - 0x54]
call fcn.00522880
jmp 0x5423df
movsd xmm0, qword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
movsd xmm1, qword [ebp - 0x4c]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
push dword [ebp - 0x20]
call sub.KERNEL32.DLL_CloseHandle
add esp, 0x448
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.KERNEL32.DLL_GetLastError
mov edi, dword [ebp - 0x10]
mov byte [ebp - 0x50], 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], 0x80000000
test edi, edi
jne 0x5423a0
jmp 0x5423ad
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rustls_webpki_0.101.7_srccalendar.rs
push 0x69e0d0
call fcn.0043a9e0
add esp, 4
jmp 0x542436
mov ecx, ebx
push 0x69e0c0
call fcn.0043a6f0
add esp, 4
ud2