Function at 0x140002100
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140002122
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x140002131
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140002154
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140002156
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140002192
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14000222e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x1400021cd
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14000220e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14000222e
cmp rbx, rax
ja 0x1400021e0
test rbx, rbx
je 0x14000222e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
call qword [0x14001a688]
mov qword [rsp + 0x78], r14
je 0x14000cc28
js 0x14000cc47
mov ecx, 8
mov r8, rbx
lea rdx, [rsp + 0x78]
mov rcx, rsi
call 0x14000acc0
test al, al
jne 0x14000cc61
lea rdx, [0x14001c660]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
mov rdx, rdi
mov rcx, rsi
call 0x14000bcb0
invalid
invalid
inc dword [rax + rax*8 + 0x68e850f]
add byte [rax], al
lea rdx, [0x14001c6d0]
jmp 0x14000d2c7
cmp qword [rsp + 0x78], 0
jne 0x14000ccc5
lea rdx, [0x14001c740]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
mov rdx, rdi
mov rcx, rsi
call 0x14000bcb0
test al, al
jne 0x14000ccbe
invalid
lea rdx, [0x14001c6d0]
lea rcx, [rbp - 0x38]
call 0x140009770
nop
lea rcx, [rbp - 0x10]
call 0x140009990
nop
mov rax, qword [rbp]
lea rbx, [rax*2 - 4]
mov qword [rbp - 0x78], rbx
mov r12, qword [rbp - 0x38]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14000d200
mov r15, 0xffffffffffffffff
mov r13, qword [rbp - 0x28]
nop word [rax + rax]
mov word [rsp + 0x70], r14w
lea r8, [rax + 8]
mov r9d, 2
lea rdx, [rsp + 0x70]
mov rcx, rsi
call 0x14000acc0
test al, al
je 0x14000d1f2
movzx eax, word [rsp + 0x70]
and al, 0x70
test ax, ax
je 0x14000d1f2
cmp rbx, rax
jne 0x14000cf52
mov qword [rbp - 0x70], r14
mov r8, qword [rsp + 0x78]
and al, 0x78
add r8, 0x10
mov r9d, 8
lea rdx, [rbp - 0x70]
mov rcx, rsi
call 0x14000acc0
test al, al
je 0x14000d1bf
cmp qword [rbp - 0x70], 0
je 0x14000d1bf
movzx ecx, word [rsp + 0x70]
shr rcx, 1
inc rcx
mov eax, 2
mul rcx
mov rbx, rax
cmovo rbx, r15
mov rcx, rbx
call 0x1400183d4
mov r14, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call 0x1400191b4
mov qword [rbp - 0x18], r14
movzx r9d, word [rsp + 0x70]
and al, 0x70
mov r8, qword [rbp - 0x70]
mov rdx, r14
mov rcx, rsi
call 0x14000acc0
test al, al
je 0x14000d15c
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
and al, 0x50
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
and al, 0x68
mov r8, r15
nop dword [rax + rax]
inc r8
cmp word [r14 + r8*2], ax
jne 0x14000cdf0
mov rdx, r14
lea rcx, [rsp + 0x50]
call 0x140010ae0
lea r10, [rbp - 0x38]
cmp qword [rbp - 0x20], 7
cmova r10, r12
lea r12, [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp rcx, 7
seta r8b
mov byte [rsp + 0x40], r8b
mov rdi, qword [rsp + 0x50]
jl 0x14000ce53
push rax
cmova r12, rdi
mov rax, qword [rsp + 0x60]
and al, 0x60
cmp r13, rax
ja 0x14000ceed
test r13, r13
jne 0x14000ce52
xor r12d, r12d
mov ebx, r12d
jmp 0x14000cef3
sub rax, r13
lea r11, [rax + 1]
lea r11, [r12 + r11*2]
mov rbx, r12
movzx r9d, word [r10]
nop dword [rax]
nop dword [rax + rax]
mov rax, r11
sub rax, rbx
sar rax, 1
mov ecx, 0
je 0x14000ce9c
cmp word [rbx], r9w
je 0x14000ce99
cmp rax, 1
je 0x14000ce9c
dec rax
add rbx, 2
cmp word [rbx], r9w
jne 0x14000ce86
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x14000cee2
mov rdx, r13
mov rcx, r10
test r13, r13
je 0x14000cec9
mov r8, rbx
sub r8, r10
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x14000cedc
add rcx, 2
sub rdx, 1
jne 0x14000ceb5
sub rbx, r12
sar rbx, 1
mov rcx, qword [rsp + 0x68]
movzx r8d, byte [rsp + 0x40]
jmp 0x14000cef0
add rbx, 2
jmp 0x14000ce70
mov rcx, qword [rsp + 0x68]
and al, 0x68
movzx r8d, byte [rsp + 0x40]
mov rbx, r15
xor r12d, r12d
test r8b, r8b
je 0x14000cf29
lea rdx, [rcx*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000cf21
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000cf90
mov rcx, rdi
call 0x140018270
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 7
and al, 0x68
invalid
add byte [rax], al
add byte [rsi + 0x44], ah
mov dword [rsp + 0x50], esp
cmp rbx, 0xffffffffffffffff
jne 0x14000cf97
mov rcx, r14
call 0x140018270
mov r12, qword [rbp - 0x38]
xor r14d, r14d
mov rbx, qword [rsp + 0x78]
mov qword [rbp - 0x68], rbx
mov r9d, 8
mov r8, rbx
lea rdx, [rsp + 0x78]
mov rcx, rsi
call 0x14000acc0
test al, al
je 0x14000d1c8
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14000d1fb
mov rbx, qword [rbp - 0x78]
jmp 0x14000cd10
call qword [0x14001a968]
int3
lea rdx, [0x14001c900]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
mov rdi, rax
lea rdx, [r14 + rbx*2]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
inc r15
cmp word [rdx + r15*2], 0
jne 0x14000cfc0
mov r8, r15
lea rcx, [rbp - 0x60]
call 0x140010ae0
nop
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x50]
mov rcx, rdi
call 0x140011310
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x14000d046
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d041
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d041
call qword [0x14001a968]
int3
call 0x140018270
mov qword [rbp - 0x78], r12
mov r9d, 8
mov r8, qword [rsp + 0x78]
lea rdx, [rbp - 0x78]
mov rcx, rsi
call 0x14000acc0
test al, al
jne 0x14000d071
lea rdx, [0x14001c950]
jmp 0x14000d163
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x14000d153
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], 0x33
lea rcx, [rbp - 0x78]
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 8
mov dword [rbp - 0x68], r12d
mov qword [rsp + 0x38], r12
lea rax, [rbp - 0x68]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
and al, 0x20
mov r9d, 0x28
lea r8, [rbp - 0x60]
mov edx, 0x80862007
mov rcx, rsi
call qword [0x14001a568]
test eax, eax
je 0x14000d153
mov rdx, qword [rsp + 0x78]
push rsp
and al, 0x78
mov rcx, rsi
call 0x14000b330
mov rcx, qword [0x14001a798]
test al, al
jne 0x14000d0f7
lea rdx, [0x14001ca50]
jmp 0x14000d16a
lea rdx, [0x14001cac0]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
mov rbx, qword [rsp + 0x48]
mov rdx, rbx
mov rcx, rsi
call 0x14000bcb0
test al, al
jne 0x14000d14f
lea rdx, [0x14001c6d0]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
mov rdx, rbx
jmp 0x14000d184
mov bl, 1
jmp 0x14000d1b5
lea rdx, [0x14001c9d0]
jmp 0x14000d163
lea rdx, [0x14001c890]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call 0x14000bcb0
test al, al
jne 0x14000d1b3
lea rdx, [0x14001c6d0]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
xor bl, bl
mov rcx, r14
call 0x140018270
jmp 0x14000d234
lea rdx, [0x14001c810]
jmp 0x14000d1cf
lea rdx, [0x14001cb10]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
mov rdx, qword [rsp + 0x48]
jmp 0x14000d203
lea rdx, sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove
jmp 0x14000d1cf
mov rdi, qword [rsp + 0x48]
mov rdx, rdi
mov rcx, rsi
call 0x14000bcb0
test al, al
jne 0x14000d232
lea rdx, [0x14001c6d0]
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
xor bl, bl
mov rdx, qword [rbp + 8]
cmp rdx, 7
invalid
jbe 0x14000d278
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d272
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d272
call qword [0x14001a968]
int3
call 0x140018270
nop
mov rax, qword [rbp - 0x20]
cmp rax, 7
jbe 0x14000d2bb
lea rdx, [rax*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d2b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d2b6
call qword [0x14001a968]
int3
call 0x140018270
movzx eax, bl
jmp 0x14000d2e5
mov rcx, qword [0x14001a798]
call 0x14000e5e0
lea rdx, [0x14000e7c0]
mov rcx, rax
call qword [0x14001a688]
xor al, al