Function at 0x1400a3c10
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
test r8, r8
jle 0x1400a3c4b
mov r14, r8
mov rbx, rdx
mov rsi, rcx
cmp qword [rcx + 0x68], 0
je case.default.0x1400a3c44
mov rcx, rsi
mov rdx, rbx
mov r8, r14
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
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]
xor eax, eax
jmp 0x1400a3d69
mov rax, qword [rsi + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x1400a3ca5
mov rax, qword [rsi + 0x50]
movsxd r15, dword [rax]
test r15, r15
je 0x1400a3ca5
cmp r15, r14
cmovae r15, r14
mov rcx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rbx, r15
mov rdi, r14
sub rdi, r15
mov rax, qword [rsi + 0x50]
sub dword [rax], r15d
mov rax, qword [rsi + 0x38]
movsxd rcx, r15d
add qword [rax], rcx
cmp qword [rsi + 0x80], 0
jne 0x1400a3cb6
jmp 0x1400a3d63
mov rdi, r14
cmp qword [rsi + 0x80], 0
je 0x1400a3d63
mov rcx, rsi
call fcn.1400a2ec0
mov r15, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
nop word cs:[rax + rax]
nop
cmp rdi, 0x1000
jb 0x1400a3d3d
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rbx
call r15
add rbx, rax
mov ecx, dword [0x1406e7ddc]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406e7dd8], 0xa
setl cl
or cl, dl
nop word cs:[rax + rax]
nop dword [rax]
test cl, cl
je 0x1400a3d20
sub rdi, rax
cmp rax, 0xfff
je 0x1400a3cd0
mov rax, r14
sub rax, rdi
mov cl, 1
test cl, cl
je 0x1400a3d63
jmp 0x1400a3d69
test rdi, rdi
je 0x1400a3d75
mov r9, qword [rsi + 0x80]
mov edx, 1
mov rcx, rbx
mov r8, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rdi, rax
xor ecx, ecx
test cl, cl
jne 0x1400a3d69
sub r14, rdi
mov rax, r14
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
xor ecx, ecx
xor edi, edi
test cl, cl
jne 0x1400a3d69
jmp 0x1400a3d63
js 0x1404fe444
mov r14, qword [rsi]
add r14, 0x20
movsx r13, bpl
imul rcx, r13, 0x68
add r14, rcx
cmp bpl, 1
jne 0x1404fe190
cmp dword [r14 + 4], 1
jne 0x1404fe190
cmp dword [r14 + 0x10], 6
je 0x1404fe42d
mov al, byte [rbx]
test al, al
je 0x1404fe19c
mov r15, qword [rbx + 0x48]
jmp 0x1404fe1a0
mov r15, qword [rbx + 0x28]
jnp 0x1404fe1c8
cmp r15, r12
je 0x1404fe1e5
test al, al
je 0x1404fe1b2
lea rdx, [0x14052f400]
jmp 0x1404fe1f0
mov rdx, qword [rbx + 0x28]
lea rax, [rdx + 2]
cmp rax, qword [rbx + 0x30]
ja 0x1404fe43d
movzx eax, word [0x14052f858]
mov rcx, qword [rbx + 0x48]
mov word [rcx + rdx - 1], ax
mov al, byte [0x14052f85a]
mov byte [rcx + rdx + 1], al
add qword [rbx + 0x28], 2
jmp 0x1404fe228
test al, al
je 0x1404fe202
lea rdx, [0x14052f3dc]
mov rcx, rbx
call 0x1404fec74
test eax, eax
js 0x1404fe449
jmp 0x1404fe228
mov rdx, qword [rbx + 0x28]
lea rax, [rdx + 1]
cmp rax, qword [rbx + 0x30]
ja 0x1404fe43d
movzx eax, word [reloc.WLDAP32.dll_Ordinal_32]
mov rcx, qword [rbx + 0x48]
mov word [rcx + rdx - 1], ax
inc qword [rbx + 0x28]
mov qword [rsi + 8], r14
mov rax, qword [rdi + 0x1c8]
test rax, rax
je 0x1404fe266
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
cmp eax, 0x20000b
jne 0x1404fe25e
mov rdx, r15
mov rcx, rbx
call 0x1405005b0
jmp 0x1404fe429
test eax, eax
js 0x1404fe449
mov ecx, dword [r14 + 4]
sub ecx, 1
je 0x1404fe29d
sub ecx, 1
je 0x1404fe294
sub ecx, 1
je 0x1404fe28b
cmp ecx, 1
jne 0x1404fe436
mov rax, qword [rdi + 0x1f0]
jmp 0x1404fe2a4
mov rax, qword [rdi + 0x1e8]
jmp 0x1404fe2a4
mov rax, qword [rdi + 0x1e0]
jmp 0x1404fe2a4
mov rax, qword [rdi + 0x1d8]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
cmp eax, 0x20000b
je 0x1404fe24e
test eax, eax
js 0x1404fe449
mov rax, qword [rdi + 0x1d0]
test rax, rax
je 0x1404fe2f0
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
cmp eax, 0x20000b
je 0x1404fe24e
test eax, eax
jns 0x1404fe449
mov rcx, qword [rsi]
mov eax, dword [rcx + 0xc]
sub eax, 4
cmp eax, 1
ja 0x1404fe42d
test bpl, bpl
jne 0x1404fe334
cmp dword [rcx + 0x98], 6
jne 0x1404fe334
mov rax, qword [rdi + 0x240]
mov r9d, 1
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
test eax, eax
js 0x1404fe449
add byte [rax], al
add byte [rax], al
mov r8d, dword [r14 + 4]
cmp r8d, 2
jne 0x1404fe398
mov rax, qword [rdi + 0x240]
mov r9d, r8d
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
test eax, eax
js 0x1404fe449
mov rax, qword [rsi]
cmp dword [rax + 0xc], 5
jne 0x1404fe42d
mov rax, qword [rdi + 0x240]
mov r9d, 6
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
test eax, eax
js 0x1404fe449
mov r9d, 7
jmp 0x1404fe413
mov rdx, qword [rsi]
movsx eax, bpl
movzx ecx, byte [rdx + 0x18]
dec ecx
cmp eax, ecx
jne 0x1404fe3b1
cmp r8d, 4
je 0x1404fe42d
jmp 0x1404fe3c7
lea rax, [r13 + 1]
imul rcx, rax, 0x68
cmp dword [rcx + rdx + 0x24], 4
je 0x1404fe3c7
cmp dword [rcx + rdx + 0x28], 3
jne 0x1404fe42d
cmp dword [rdx + 0xc], 5
jne 0x1404fe3ed
mov rax, qword [rdi + 0x240]
mov r9d, 5
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
test eax, eax
js 0x1404fe449
mov rax, qword [rdi + 0x240]
mov r9d, 3
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
test eax, eax
js 0x1404fe449
mov r9d, 4
mov rax, qword [rdi + 0x240]
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call qword [0x1405028c0]
test eax, eax
js 0x1404fe449
sub bpl, 1
jmp 0x1404fe160
mov eax, 0x80100004
jmp 0x1404fe449
mov eax, 0x80100009
jmp 0x1404fe449
mov eax, 0x100000
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret