Function at 0x1400536c0
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 0x1400536e2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x1400536f1
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 0x140053714
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140053716
xor ecx, ecx
mov qword [rsp + 0x20], rdi
movsxd rax, ecx
test ecx, ecx
je 0x140053750
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]
sub rbx, rdi
add r14, rdi
mov r8, rbx
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x1400537f7
mov r9, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r9], rax
jne 0x14005378b
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r9], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
mov rdi, r8
cmp r8, 0xfff
jbe 0x1400537d1
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]
sub rbx, rax
add r14, rax
mov rdi, rbx
cmp rax, 0xfff
jne 0x140053810
cmp rbx, rax
ja 0x1400537a0
mov r8, rdi
test rdi, rdi
je 0x1400537f7
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]
mov r8, rdi
sub r8, rax
sub rbp, r8
mov rdi, qword [rsp + 0x20]
mov rax, rbp
mov rbx, qword [rsp + 0x28]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rbp, rbx
jmp 0x1400537fa
add byte [rcx - 0x7f], cl
in al, dx
sub byte [rax], al
add byte [rax], al
and dword [r15], 0x2a1a42b3
mov rdi, rbx
add r13, 0x8c
add r13, rdi
mov r15, rbp
sub rdx, 0x47
mov r14, 0
sub rdi, rdx
sub r14, 0x98
add r15, 0x1b2
and r13, 2
in eax, 2
add byte [rax], al
add byte [rax - 0x7f], cl
invalid
mov dword [rax], 0x33410000
invalid
xor r13, rcx
or rdx, 0xf0
mov r12, rbp
add r12, 0x1b2
or rdi, 0x4e
add r13, r13
xor r14, 8
add rdx, 0x8d
or dword [r12], 0x128dd2df
add r14, r13
xor rdi, 1
xor rdx, 4
or r13, r13
or rdx, 0x3e
add rax, 0x1dce581e
and r14, 0x90
sub r13, rdi
mov r11, rbp
xor r13, r14
xor rdx, 0xcc
sub r14, r13
or r14, rcx
add r13, r11
add r11, 0xb9
add rdx, 0xf
xor rax, qword [r11]
xor r13, rcx
xor r13, r13
mov r12, 1
or r12, 0x88
sub r12, 0x8d
mov r11, rbp
mov rdi, r13
add r11, 0x74
xor r13, 0x72
sub rdi, rax
or r12, 0x7f
or r13, 0x98
add rax, qword [r11]
sub r12, 0x2c
sub rdi, rax
sub rdi, 0x3e
or r13, 0xf
mov rsi, rbp
add rsi, 0x135
and rdi, 0x90
mov qword [rsi], rax
mov r10, rbp
add r10, 0
mov edx, dword [r10]
and edx, 2
cmp edx, 0
je 0x1401a87af
mov r10, rbp
add r10, 0
sub dword [r10], 0x33b3e690
mov r10, rbp
add r10, 0x13d
xor dword [r10], 0x510010bd
sub r14, 2
xor r14, 0x4e
mov rsi, rbp
add r8, 0x3e
or rcx, 0xffff
add rdi, 0x4e
mov r13, rdi
mov r15, rsi
add rsi, 0x32
add r15, r9
add r13, 0xcc
sub r8, 0x15
mov rsi, qword [rsi]
or r8, rdi
or r15, 0xf3
mov r11, 0x400
add rsi, 8
or r13, r11
or r8, rdi
xor rcx, rsi
and r15, r13
add r8, rsi
movzx r9, byte [rsi]
sub rdi, 0xf0
xor r8, 0x28
add rcx, r9
xor rcx, r11
mov rax, rbp
mov rdi, rdi
xor rcx, 0x20000000
add rax, 0
add r11, 0x2c
add rdi, r8
xor r8, r8
add r13, r15
xor r8, 0x5d
mov rdx, rbp
add rdx, 0x13d
and r11, r9
add r9d, dword [rdx]
mov rbx, rbp
add rbx, 0x1f0
or r15, r11
and rcx, r8
add r9d, dword [rbx]
or r13, r11
sub rcx, 0x7f
mov rsi, rbp
add rsi, 0
sub r15, r9
and r8, rsi
xor r13, rcx
mov rax, 0x200
sub rax, 0x29
mov r14, rbp
add r14, 0x13d
and dword [r14], 0x29592611
xor r13, 0x1a
mov r8, rbp
sub r15, 0x49
sub r15, 0x5d
xor r11, 0x7fffffff
add r8, 0x1b2
add rdi, r13
add rax, rcx
add r13, 0x5d
xor r9d, dword [r8]
or rdi, 0xf
xor rax, 0x6a
or r13, r11
mov r10, rbp
or rdi, 0x49
add r10, 0x1b2
add rdi, rdi
or r13, 0xda
mov rdx, rbp
add rdx, 0xed
sub byte [rdx], r9b
xor rsi, rax
mov rdx, rbp
sub r8, 0x8d
or rsi, r15
or rsi, 0xd3
and rsi, 0x98
and r8, 0x2c
add rdx, 0x1d6
mov r8, 0x200
sub rsi, r13
mov al, byte [rdx]
xor rsi, r11
sub r8, r8
mov r11, 0x348a1f4d
xor r8, 0xf0
sub al, 0x86
and r8, 0x98
or rsi, 0xb
mov r14, rbp
add rsi, r15
or r8, 0x7fffffff
add rsi, 2
add rsi, r11
add r14, 0
and rsi, 0x2d
xor rsi, r8
and r8, r11
add rsi, 0x97
xor dword [r14], r11d
cmp al, 2
jne 0x1401a8ce6
or rsi, r15
mov rdx, rbp
or rsi, r14
and r8, 0xd3
or r8, r13
add rdx, 0x135
add r8, rsi
xor rsi, 0xf3
sub rsi, r15
and r8, 0x28
mov r15, qword [rdx]
mov r8, 0
mov rsi, 0x400
sub r8, 0xf
mov r8, 0x400
add rsi, 0xe
mov rdx, rbp
or rsi, 0x7fffffff
add r8, rsi
or rsi, rax
add r8, r13
add rdx, 0x74
xor rsi, r15
xor rsi, r11
and rsi, r15
or rsi, rdx
sub r15, qword [rdx]
and rsi, r13
or r8, r13
xor rsi, rdx
and r8, 0x15
mov rdx, rbp
add rdx, 0xb9
and r8, 0x90
sub rsi, 1
mov r8, 0x200
add rsi, r14
and rsi, 0xb
xor r15, qword [rdx]
mov rsi, 1
sub r8, r14
and rsi, 0x4b
xor r8, 0x4b
sub r15, 0x1dce581e
or r8, r14
and r8, 0x29
sub r8, rax
and r15, 0xffff
or r8, r14
sub rsi, 0x40
add r8, 8
mov r8, 1
add r15, rbp
or rsi, rsi
sub r8, 4
and rsi, 0x72
xor r8, 0x20000000
mov rdx, rbp
or rsi, r8
xor rsi, r11
or r8, 0x6a
or rsi, 0x72
and r8, 0x20000000
add rdx, 0x14
and r8, 0xda
mov r13b, byte [rdx]
xor r8, 0xf3
xor rsi, 0x2c
and r8, rax
sub r8, rsi
xor r13b, 0xb1
mov r15, qword [r15]
mov rsi, rsi
sub r8, 0xda
add rsi, 0xf3
mov rax, r15
and rsi, 4
add rsi, 0x90
xor rsi, 0xf3
sub rax, 0x2dba9dd6
or r8, 2
and rsi, 0x7fffffff
mov rdx, rbp
add r8, 0x7f
add rdx, 0xb9
xor r8, 0x80
mov qword [rdx], rax
cmp r13b, 1
jne 0x1401a8bb8
mov rsi, 0x400
and rsi, 0x98
sub r8, 0x47
add r8, 0x80
and rsi, 0x99
mov r15b, byte [r15]
sub rsi, r14
cmp r13b, 2
jne 0x1401a8bd7
xor rsi, 0x3a
or r8, r8
mov r15w, word [r15]
and rsi, 0x2d
cmp r13b, 3
jne 0x1401a8c09
sub r8, r13
mov rsi, reloc.WS2_32.dll_select
or r8, r11
add r8, 0x5d
mov r15d, dword [r15]
or rsi, 0xf3
and rsi, 0xf
xor r8, r15
cmp r13b, 4
jne 0x1401a8c1d
mov r8, 0
mov r15, qword [r15]
xor rsi, rdx
add rsi, 0x8d
add r15, 0x1dce581e
or rsi, r13
sub r8, 0x800
add r8, 0x5d
mov rdx, rbp
xor rsi, 0x9b
mov rsi, 0
mov rsi, 0x200
add rdx, 0xb9
or r8, rsi
or rsi, 0x40
sub r8, 0x88
xor r15, qword [rdx]
mov r8, reloc.WS2_32.dll_select
or rsi, rax
and r8, 0xda
and rsi, 0x2f
mov rdx, rbp
add rsi, rax
add rdx, 0x74
sub rsi, r15
add rsi, 0x6a
xor rsi, 0xa5
add r8, rdx
sub r8, 0xf
add r15, qword [rdx]
or rsi, rsi
add rsi, 0x98
mov rdx, rbp
add rdx, 0x135
or rsi, 0x7fffffff
and r8, r15
or r8, r15
mov qword [rdx], r15
add rsi, 4
or rsi, rax
sub rsi, rax
and r8, 0xc7
or r8, 0x72
sub r8, 0x28
mov r13, rbp
add rsi, 0x1a
add r13, 0xab
xor r8, rdx
xor dword [r13], r11d
mov r12, rbp
mov rdx, 0x68cdcf8a
add r12, 0x98
mov rax, rbp
mov byte [r12], 0
add rax, 0
mov r9, rbp
sub dword [rax], edx
mov rdi, rbp
add r9, 0x1d6
mov r14b, byte [r9]
sub r14b, 0x86
cmp r14b, 1
jne 0x1401a8dfd
mov r9, rbp
add r9, 0x135
mov r12, qword [r9]
mov r9, rbp
add r9, 0x74
sub r12, qword [r9]
mov r9, rbp
add r9, 0xb9
xor r12, qword [r9]
sub r12, 0x1dce581e
and r12, 0xffff
add r12, rbp
mov r14, r12
sub r12, 0x2dba9dd6
mov r9, rbp
add r9, 0xb9
mov qword [r9], r12
mov r12, qword [r14]
add r12, 0x1dce581e
mov r9, rbp
add r9, 0xb9
xor r12, qword [r9]
mov r9, rbp
add r9, 0x74
add r12, qword [r9]
mov r9, rbp
add r9, 0x135
mov qword [r9], r12
mov r9, rbp
add r9, 0x14
mov r12, qword [r9]
xor r12b, 0xb1
cmp r12b, 3
jne 0x1401a8dfd
or r12b, r10b
mov r9, rbp
add r9, 0x98
mov byte [r9], r12b
add rdi, 0xab
xor dword [rdi], edx
mov r9, rbp
add r9, 0
mov r12, rbp
add r12, 0x2e
mov ebx, dword [r9]
sub dword [r12], 0x48c5128f
and ebx, 2
cmp ebx, 0
je 0x1401a8e59
mov r9, rbp
add r9, 0
add dword [r9], 0x3d014683
mov r9, rbp
add r9, 0x13d
sub dword [r9], 0x48c5128f
add rdi, rbx
mov r8, 1
or rbx, rcx
mov r13, rax
mov rax, rbp
add rax, 0x2e
xor r13, 0x20000000
sub r8, 0x40
sub dword [rax], 0x479d4806
sub r13, 0x6a
sub r8, 0x88
and rbx, r13
or rbx, 0x4e
mov rdx, rbp
or rbx, 8
add rbx, 0x88
mov r11, 1
add rdx, 0x135
xor r13, 0x47
mov rdi, qword [rdx]
mov rsi, rbp
add r8, 0xd3
or r8, 8
add rsi, 0x74
mov r8, 0
sub r8, 0x40
or r13, r11
add r13, r9
add r13, 0xf0
sub rdi, qword [rsi]
mov r11, r11
mov r10, rbp
sub r8, r9
add r10, 0xb9
sub r8, rdi
xor r11, 0x8c
and r13, 0xe3
add r8, rax
xor rdi, qword [r10]
and r11, 4
xor r13, 0x400
add r11, 0x1a
sub rdi, 0x1dce581e
sub r8, r9
xor r8, r8
xor r13, 0x2c
mov rdx, rbp
add rdx, 0x14
and r11, 0x400
add r11, 0xf
add r11, 0x1a
add r8, 2
sub r11, 4
mov r9b, byte [rdx]
and r13, r13
sub r11, 0x2f
xor r9b, 0xb1
add r8, 0x28
or r11, 0x88
mov r8, r8
xor r13, r9
and r9b, 0xf
mov r10, rbp
add r8, 0xf
xor r8, r9
mov r14, rax
or r11, r11
add r10, 0xed
mov sil, byte [r10]
xor r11, r14
sub r11, rax
sub r14, 0x2f
sub r14, r11
or r13, 0x40
xor sil, 0x1e
xor r14, rsi
add r13, 0xf
sub r11, 0x49
sub r11, 0x6a
sub sil, 0x6a
cmp sil, 0
jne 0x1401a9040
cmp r9b, 2
jne 0x1401a9019
push di
jmp 0x1401a9040
and r13, 0xf
add r14, 0xcc
add r13, 0xf
and r13, 0x400
push rdi
and r11, 0x5d
mov r14, r9
mov rdx, rbp
and r13, 0x4e
sub r14, 0x97
add r13, 0x28
and r13, 0xf
add rdx, 0xed
sub r11, rax
xor r14, rsi
add r13, 0x3a
or r13, 0x3a
and r14, 0x40
mov sil, byte [rdx]
xor sil, 0x1e
sub r13, r14
sub r14, 0x7f
xor r14, 0x80
sub r11, 0xcc
sub sil, 0x98
cmp sil, 0
jne 0x1401a9116
xor r13, rax
mov rdx, rbp
sub r14, rdi
add r14, 0xda
and r13, 0x800
and r14, r13
add rdx, 0xb9
mov r14, 0
mov rdi, qword [rdx]
add rdi, 0x2dba9dd6
cmp r9b, 2
jne 0x1401a90f2
pop word [rdi]
jmp 0x1401a910f
xor r11, 0x88
sub r11, 0x2d
xor r13, rdx
or r13, rsi
pop qword [rdi]
or r11, 0xf3
mov r11, 0x400
add rcx, 0x9b
or rcx, 0x15
and rdi, 0x8c
xor rdi, 0x47
mov rsi, rbp
xor rdi, r11
mov rax, 0x2cb3e113
mov r13, rdi
sub rdi, r11
xor rdi, rdi
mov rdx, rbp
sub rdi, 0x4e
sub rdi, r11
add rdi, 0x72
add rdx, 0x1f0
or rdi, 0xc7
add rsi, 0x14
mov sil, byte [rsi]
or r13, 0x90
sub rdi, 4
mov r10, rbp
xor sil, 0xb1
and sil, 0xf
sub r13, rsi
sub rdi, rsi
or r13, 0x72
sub r13, 0x80
add r10, 0x32
sub rdi, 0x1a
sub r13, 0xf
or r13, 0xf
or r13, rbx
add rdi, 0x90
mov r10, qword [r10]
sub rdi, 0x2f
and r13, 4
add r10, 0xc
add r13, 0x1a
add ebp, 0x1a