Function at 0x14000c882
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1f8
movaps xmmword [rsp + 0x1e0], xmm6
mov rbx, r8
mov r15, rdx
mov rdi, rcx
movabs rbp, 0x8000000000000000
lea rsi, [rsp + 0xa8]
mov rcx, rsi
call fcn.140161afe
lea rax, [rbp + 1]
cmp qword [rsi], rax
je 0x14000d3d7
movups xmm0, xmmword [rsp + 0xa8]
movups xmm1, xmmword [rsp + 0xb8]
lea rcx, [rsp + 0x180]
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
call fcn.140162381
mov r8, rdx
mov qword [rsp + 0x20], 0xb
lea r9, str.Local_State
lea rsi, [rsp + 0x1a8]
mov rcx, rsi
mov rdx, rax
call fcn.140156990
mov r14, qword [rsi + 8]
mov rsi, qword [rsi + 0x10]
mov rcx, r15
mov rdx, rbx
mov r8, r14
mov r9, rsi
call fcn.140001e02
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
test rax, rax
je 0x14000c977
mov qword [rdi], rbp
lea rcx, [rsp + 0xa8]
call fcn.1400064f5
mov rcx, qword [rsp + 0x1a8]
mov rdx, r14
call fcn.140173443
lea rcx, [rsp + 0x180]
call fcn.14000580f
jmp 0x14000d1e3
lea rbx, [rsp + 0xa8]
mov rcx, rbx
call fcn.1400064f5
and dword [rbx], 0
mov r15, qword [rsp + 0x1a8]
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov dword [rbx + 0x18], 7
and qword [rbx + 0x1c], 0
and word [rbx + 0x24], 0
mov byte [rbx + 0x20], 1
lea r8, [rsp + 0xa8]
mov rcx, r14
mov rdx, rsi
call fcn.140150e10
mov rbx, rdx
test rax, rax
mov qword [rsp + 0xa0], rdi
je 0x14000c9dc
mov rsi, rbp
mov r12, rbx
jmp 0x14000ce92
lea rsi, [rsp + 0xa8]
mov rcx, rsi
mov rdx, rbx
call fcn.140151080
mov rsi, qword [rsi]
cmp rsi, 2
mov qword [rsp + 0x58], rbx
jne 0x14000ca51
mov rdi, qword [rsp + 0xb0]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x14000ca4d
lea r12, [rdi - 1]
mov r13, qword [rdi - 1]
mov rbx, qword [rdi + 7]
mov rax, qword [rbx]
test rax, rax
je 0x14000ca28
mov rcx, r13
call rax
cmp qword [rbx + 8], 0
je 0x14000ca3b
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.140019a50
mov edx, 8
mov rcx, r12
call fcn.140019a50
mov rbx, qword [rsp + 0x58]
xor eax, eax
jmp 0x14000ca5c
mov rdi, qword [rsp + 0xe0]
mov rax, rdi
movabs r12, 0x2600000003
and qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 1
and qword [rsp + 0x70], 0
test rax, rax
mov qword [rsp + 0x128], rsi
je 0x14000cad9
js 0x14000ce87
mov r13, rax
lea r8, [rsp + 0xa8]
and qword [r8 + 8], 0
lea rsi, [rsp + 0x100]
mov rcx, rsi
mov rdx, rax
call fcn.14003bf80
cmp dword [rsi], 1
je 0x14000ce87
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r13
mov rsi, qword [rsp + 0x128]
mov r12, r13
jmp 0x14000cadc
xor r12d, r12d
mov eax, 0x2000
mov qword [rsp + 0x50], rax
cmp esi, 2
mov qword [rsp + 0x90], r15
je 0x14000cb3b
cmp rdi, 0xfffffffffffffbff
ja 0x14000cb25
lea rdx, [rdi + 0x400]
mov rax, rdx
and rax, 0x1fff
je 0x14000cb31
mov ecx, 0x2000
sub rcx, rax
add rdx, rcx
mov qword [rsp + 0x50], rdx
setb al
test al, 1
je 0x14000cb36
mov eax, 0x2000
mov qword [rsp + 0x50], rax
jmp 0x14000cb36
mov qword [rsp + 0x50], rdx
test rdi, rdi
jne 0x14000cb67
cmp r12, 0x20
jae 0x14000cb67
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140153020
mov r13, rdx
test rax, rax
je 0x14000cdd2
mov r15, rbp
mov ebx, 1
jmp 0x14000ce0f
xor r13d, r13d
mov qword [rsp + 0x98], r12
mov r15, r12
xorps xmm6, xmm6
mov dword [rsp + 0x88], 0
xor r12d, r12d
cmp r13, r15
jne 0x14000cbc1
cmp r15, qword [rsp + 0x98]
jne 0x14000cbc1
mov rcx, rbx
lea rdx, [rsp + 0x60]
call fcn.140153020
mov r13, rdx
test rax, rax
jne 0x14000cdf2
test r13, r13
je 0x14000ce05
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x70]
mov rdi, r15
sub rdi, r13
jne 0x14000cc14
mov ebx, 1
cmp r15, 0xffffffffffffffdf
ja 0x14000cdf9
mov rsi, rbp
lea rbp, [r15 + 0x20]
lea rax, [r15 + r15]
cmp rax, rbp
cmova rbp, rax
test rbp, rbp
js 0x14000cda4
test r15, r15
je 0x14000cc1b
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb8], r15
mov eax, 1
jmp 0x14000cc1d
mov rax, qword [rsp + 0x68]
jmp 0x14000cc7b
xor eax, eax
mov qword [rsp + 0xb0], rax
mov edx, 1
lea rcx, [rsp + 0x100]
mov r8, rbp
lea r9, [rsp + 0xa8]
call fcn.140134980
cmp dword [rsp + 0x100], 1
je 0x14000cda4
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rbp
mov rdi, rbp
sub rdi, r15
mov r15, rbp
mov rbp, rsi
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x128]
cmp rdi, qword [rsp + 0x50]
jb 0x14000cc87
mov rdi, qword [rsp + 0x50]
movups xmm0, xmmword [0x1403108e8]
movaps xmmword [rsp + 0x100], xmm0
mov edx, 0xffffffff
mov rcx, rdi
cmp rdi, rdx
jb 0x14000cca8
mov ecx, 0xffffffff
add rax, r13
movups xmmword [rsp + 0x38], xmm6
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], ecx
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtReadFile
cmp eax, 0x103
jne 0x14000ccf1
mov rcx, rbx
mov edx, 0xffffffff
call sub.kernel32.dll_WaitForSingleObject
mov eax, dword [rsp + 0x100]
cmp eax, 0xc0000011
je 0x14000cdcb
cmp eax, 0x103
je 0x14000d436
test eax, eax
js 0x14000cdb3
mov rax, qword [rsp + 0x108]
add r13, rax
mov qword [rsp + 0x70], r13
test rax, rax
je 0x14000ce0a
cmp r12, rax
mov rcx, r12
cmovbe rcx, rax
cmp rax, rdi
jb 0x14000cd44
mov dword [rsp + 0x88], 0
jmp 0x14000cd4b
inc dword [rsp + 0x88]
mov r12, rcx
sub r12, rax
cmp esi, 2
jne 0x14000cb86
mov rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
cmp dword [rsp + 0x88], 2
jge 0x14000cd77
mov r8, qword [rsp + 0x50]
cmp rcx, rdi
mov rcx, qword [rsp + 0x50]
cmovne rcx, r8
test rcx, rcx
js 0x14000cd8c
lea rdx, [rcx + rcx]
cmp rdi, rcx
cmovb rdx, rcx
cmp rax, rdi
cmove rcx, rdx
mov qword [rsp + 0x50], rcx
jmp 0x14000cb86
movabs r13, 0x2600000003
mov rbp, rsi
jmp 0x14000ce0c
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov esi, eax
mov ecx, eax
call fcn.140131b10
cmp al, 0xb
jne 0x14000d3b0
mov qword [rsp + 0x70], r13
jmp 0x14000ce0a
test r13, r13
je 0x14000d3ca
mov qword [rsp + 0x98], r12
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x70]
jmp 0x14000cb75
mov ebx, 1
jmp 0x14000ce0c
movabs r13, 0x2600000003
jmp 0x14000ce0c
mov r13, qword [rsp + 0x70]
xor ebx, ebx
mov r15, rbp
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
lea rbp, [rsp + 0xa8]
mov rcx, rbp
mov rdx, r12
mov r8, rsi
call fcn.140040b70
mov rax, qword [rbp]
xor edi, edi
test rax, rax
cmove rdi, rsi
mov qword [rsp + 0x70], rdi
mov ecx, eax
or ecx, ebx
je 0x14000cfa3
lea rsi, [0x14030f828]
test rbx, rbx
cmovne rsi, r13
test al, al
cmove rsi, r13
cmp qword [rsp + 0x60], 0
mov rbp, r15
je 0x14000ce77
mov edx, 1
mov rcx, r12
call fcn.140019a50
mov rbx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x90]
mov r12, rsi
mov rcx, rbx
call fcn.140173dfc
mov rsi, rbp
mov rcx, r15
mov rdx, r14
call fcn.140173443
cmp rsi, rbp
je 0x14000d3f3
mov r13, rbp
mov r14, rsi
lea rcx, [rsp + 0x180]
movaps xmm0, xmmword [rcx]
movaps xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
call fcn.140162381
xorps xmm0, xmm0
lea rcx, [rsp + 0x100]
movups xmmword [rcx + 8], xmm0
mov dword [rcx + 0x18], 7
and qword [rcx + 0x1c], 0
mov rbp, rax
and word [rcx + 0x24], 0
mov rsi, rdx
movabs rax, 0x8000000001
mov qword [rcx], rax
mov dword [rcx + 0x10], 0x2200000
mov rdx, rbp
mov r8, rsi
call fcn.1401539c0
mov r15, rdx
test rax, rax
jne 0x14000d082
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r14
lea rbx, [rsp + 0xa8]
mov rcx, rbx
mov rdx, r15
call fcn.1400da45a
mov rax, qword [rbx]
mov r12, qword [rbx + 8]
cmp rax, r13
jne 0x14000cf54
mov rcx, r15
call fcn.140173dfc
mov r15, r12
jmp 0x14000d078
mov qword [rsp + 0x88], rax
lea rbx, [rsp + 0xa8]
mov r14, qword [rbx + 0x10]
mov rcx, rbx
mov rdx, rbp
mov r8, rsi
call fcn.1400d9b69
cmp dword [rbx], 2
jne 0x14000cfc2
mov rsi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x88]
mov rdx, r12
call fcn.14005068f
mov rcx, r15
call fcn.140173dfc
mov r15, rsi
jmp 0x14000d078
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.140173dfc
mov rbp, r15
mov r15, qword [rsp + 0x90]
jmp 0x14000ce92
mov ebp, dword [rsp + 0xf4]
mov ebx, dword [rsp + 0xf8]
mov rcx, r15
call fcn.140173dfc
mov rsi, r12
mov rcx, r12
mov rdx, r14
call case.0x14015455e.21
test rax, rax
je 0x14000d051
mov r15, r14
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
mov eax, ebp
and al, 1
mov byte [rsp + 0xc0], al
and qword [rsp + 0xb8], 0
mov ecx, ebp
mov edx, ebx
call fcn.140161add
test al, al
mov r12, qword [rsp + 0x58]
je 0x14000d357
shr ebp, 0xa
shr ebx, 0x1d
and ebx, ebp
lea r8, [rsp + 0xa8]
mov rcx, rsi
mov rdx, r15
test bl, 1
je 0x14000d38e
call fcn.1400d9c28
jmp 0x14000d393
lea rdx, str.Cant_delete_root_directoryNot_a_directoryC:Users_saelko.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_0.4.6_srclib.rsABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789C:Users_saelko.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tempdir_0.3.7_srclib.rstoo_many_temporary_directories_already_exist
mov r8d, 0x1b
mov cl, 1
call fcn.14007b092
mov r15, rax
mov rcx, qword [rsp + 0x88]
mov rdx, rsi
call fcn.14005068f
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
lea rsi, [rsp + 0x60]
mov rcx, qword [rsi]
mov rbx, qword [rsi + 8]
mov rdx, rbx
call fcn.14016254d
mov qword [rsi], r13
mov rcx, rsi
call fcn.1401623a6
mov rcx, r13
mov rdx, rbx
call fcn.14016254d
test r15, r15
jne 0x14000d407
lea rdx, [rsp + 0xa8]
mov qword [rdx + 0x18], r12
mov qword [rdx + 0x20], rdi
and qword [rdx + 0x28], 0
and qword [rdx], 0
mov qword [rdx + 8], 1
and qword [rdx + 0x10], 0
mov byte [rdx + 0x30], pe_nt_image_headers64
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.14012d7b1
cmp byte [rsi], 6
jne 0x14000d116
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x138], rax
mov byte [rsp + 0x130], 6
mov rdi, qword [rsp + 0xa0]
jmp 0x14000d17b
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
lea rsi, [rsp + 0x150]
lea rdx, [rsp + 0xa8]
mov rcx, rsi
call fcn.14012cf7a
cmp byte [rsi], 0
mov rdi, qword [rsp + 0xa0]
je 0x14000d1ff
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x138], rax
mov byte [rsp + 0x130], 6
lea rcx, [rsp + 0x60]
call fcn.14012b602
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
call fcn.14005068f
mov qword [rdi], r13
mov rsi, qword [rsp + 0x138]
mov rax, qword [rsi]
cmp rax, 1
je 0x14000d1c2
test rax, rax
jne 0x14000d1cb
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x14000d1cb
mov rcx, qword [rsi + 8]
mov edx, 1
call fcn.1400072fc
jmp 0x14000d1cb
lea rcx, [rsi + 8]
call fcn.14000589d
mov edx, 8
mov rcx, rsi
call fcn.140019a50
mov rcx, r14
mov rdx, r12
call fcn.140173443
movaps xmm6, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rsp + 0x151], 0
jne 0x14000d36d
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
call fcn.14005068f
cmp byte [rsp + 0x130], 6
je 0x14000d190
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
lea rcx, [rsp + 0x160]
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
lea rdx, str.os_cryptencrypted_key
mov r8d, 8
call fcn.1400014fc
lea rdx, [0x1402404b8]
mov r8d, 0xd
mov rcx, rax
call fcn.1400014fc
cmp byte [rax], 3
jne 0x14000d2b5
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
lea rsi, [rsp + 0xa8]
mov rcx, rsi
call fcn.1401293dd
mov rbx, qword [rsi]
cmp rbx, r13
jne 0x14000d2ca
mov qword [rdi], r13
lea rcx, [rsp + 0x160]
call fcn.140005978
jmp 0x14000d1d8
mov rsi, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
lea r9, [0x1402404c8]
mov r8d, 5
mov rcx, rsi
call fcn.14000b2a5
mov rdi, rax
mov r13, r14
mov r14, rdx
mov rcx, rdx
call fcn.140006f8c
mov r15, rax
mov rbp, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea rdi, [rsp + 0x1c8]
mov qword [rdi], r15
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], r14
mov rcx, rbx
mov rdx, rsi
call fcn.140173443
mov rcx, qword [rsp + 0xa0]
mov rdx, rdi
call fcn.14000ebc4
lea rcx, [rsp + 0x160]
call fcn.140005978
mov rcx, r13
jmp 0x14000d1db
lea rdx, [0x140312593]
mov r8d, 0xf
mov cl, 1
call fcn.14007b092
jmp 0x14000d393
lea rdx, [rsp + 0x100]
mov qword [rdx], 0x16
lea rcx, [rsp + 0xa8]
call fcn.14012cfc2
jmp 0x14000d161
call fcn.1400da58d
mov r15, rax
mov rcx, qword [rsp + 0x88]
mov rdx, rsi
call fcn.14005068f
mov r14, qword [rsp + 0x50]
jmp 0x14000d082
shl rsi, 0x20
or rsi, 2
mov qword [rsp + 0x70], r13
mov ebx, 1
mov r13, rsi
jmp 0x14000ce0c
mov r15, rbp
xor r13d, r13d
xor ebx, ebx
jmp 0x14000ce0f
mov rax, qword [rsp + 0xb0]
lea r8, [rsp + 0x100]
mov qword [r8], rax
lea rax, [0x140240458]
jmp 0x14000d419
lea r8, [rsp + 0xa8]
mov qword [r8], r12
lea rax, [0x140240480]
jmp 0x14000d419
lea r8, [rsp + 0xa8]
mov qword [r8], r15
lea rax, [0x140240498]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.14000589d
mov edx, 0x2b
call fcn.140041b70
lea rcx, [rsp + 0x160]
and dword [rcx], 0
mov byte [rcx + 4], 0
lea rax, str._t_t1_
lea rdx, [rsp + 0xa8]
mov qword [rdx], rax
mov qword [rdx + 8], 1
lea rax, [rsp + 0x150]
mov qword [rdx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rdx + 0x18], xmm0
call fcn.14012f270
lea rcx, [rsp + 0x130]
mov qword [rcx], rax
call fcn.14012f380
mov ecx, 7
int 0x29
ud2