Function at 0x18000fb90
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
movsxd r12, dword [rcx + 0x38]
mov rbx, qword [rcx + 0x908]
mov rsi, qword [rcx + 0x910]
xor r8d, r8d
mov r15, rcx
mov qword [rsp + 0x68], rbp
mov r13d, r8d
mov ecx, 0x2401
mov qword [rsp + 0x70], r14
cmp rbx, rsi
jae 0x18000fbfe
cmp r12, 2
je 0x18004255e
cmp r12, 3
je 0x18004258c
movzx eax, byte [rbx]
cmp al, 0xd
ja 0x18000fbfe
movsx eax, al
bt ecx, eax
jae 0x18000fbfe
mov byte [rbx], 0
inc rbx
cmp rbx, rsi
jb 0x18000fbd0
mov qword [r15 + 0x918], rbx
mov qword [r15 + 0x920], rbx
cmp rbx, rsi
jae 0x18000fc38
cmp r12, 2
je 0x1800425b4
cmp r12, 3
je 0x1800425e6
movzx eax, byte [rbx]
cmp al, 0xd
jbe 0x18000fcf5
inc rbx
cmp rbx, rsi
jb 0x18000fc11
cmp dword [r15 + 0x928], 0
jne 0x18000fcf0
mov rdx, qword [r15 + 0x920]
cmp qword [r15 + 0x918], rdx
jne 0x18000fce0
mov ebp, esi
mov dword [rsp + 0x60], r8d
sub ebp, edx
je 0x18000fc80
cmp ebp, dword [r15 + 0x900]
jae 0x18000fc80
lea rcx, [r15 + 0x128]
mov r8d, ebp
call sub.api_ms_win_core_crt_l1_1_0.dll_memcpy
xor r8d, r8d
mov r14d, dword [r15 + 0x900]
mov rcx, qword [r15]
mov qword [rsp + 0x20], r8
lea rdx, [r15 + 0x128]
sub r14d, ebp
lea r9, [rsp + 0x60]
mov r8d, r14d
add rdx, rbp
call qword [sym.imp.api_ms_win_core_file_l1_2_1.dll_ReadFile]
test eax, eax
je 0x18000fcf0
mov ecx, dword [rsp + 0x60]
test ecx, ecx
je 0x18003d566
lea rax, [rcx + rbp]
lea rsi, [r15 + 0x128]
lea rbx, [r15 + 0x128]
add rsi, rax
cmp ecx, r14d
jb 0x18000ffb4
xor r8d, r8d
mov ecx, 0x2401
inc r13d
cmp r13d, 0x3e8
jb 0x18000fbcb
xor eax, eax
jmp 0x18000fd35
movsx eax, al
bt ecx, eax
jae 0x18000fc30
cmp r12d, 2
je 0x18003d574
cmp r12d, 3
je 0x18003d574
mov byte [rbx], 0
inc rbx
mov qword [r15 + 0x920], rbx
mov qword [r15 + 0x908], rbx
mov qword [r15 + 0x910], rsi
mov eax, 1
mov r14, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
mov dword [r15 + 0x928], 1
cmp r12, 2
je 0x180042612
mov ecx, 0x2401
cmp r12, 3
je 0x180042623
mov byte [rsi], 0
inc rsi
xor r8d, r8d
jmp 0x18000fce0
test r14d, r14d
je 0x18000fd1b
jmp 0x18000fcba
mov word [rbx], r8w
add rbx, 2
jmp 0x18000fd1b
movzx eax, byte [rbx]
cmp al, 0xd
jne 0x18004256b
cmp byte [rbx + 1], 0
je 0x1800425a7
cmp al, 0xa
jne 0x180042575
cmp byte [rbx + 1], 0
je 0x1800425a7
cmp word [rbx], 0
jne 0x18000fbfe
mov word [rbx], r8w
add rbx, 2
jmp 0x18000fbf9
cmp byte [rbx], 0
jne 0x18004259d
movzx eax, byte [rbx + 1]
cmp al, 0xd
je 0x1800425a7
cmp al, 0xa
je 0x1800425a7
cmp word [rbx], 0
jne 0x18000fbfe
mov word [rbx], r8w
add rbx, 2
jmp 0x18000fbf9
movzx eax, byte [rbx]
cmp al, 0xd
jne 0x1800425c5
cmp byte [rbx + 1], 0
je 0x18000fd01
cmp al, 0xa
jne 0x1800425d3
cmp byte [rbx + 1], 0
je 0x18000fd01
cmp word [rbx], 0
je 0x18000fd01
add rbx, 2
jmp 0x18000fc33
cmp byte [rbx], 0
jne 0x1800425ff
movzx eax, byte [rbx + 1]
cmp al, 0xd
je 0x18000fd01
cmp al, 0xa
je 0x18000fd01
cmp word [rbx], 0
je 0x18000fd01
add rbx, 2
jmp 0x18000fc33
xor r8d, r8d
add rsi, 2
mov word [rsi - 2], r8w
jmp 0x18000fcdb
xor r8d, r8d
add rsi, 2
mov word [rsi - 2], r8w
jmp 0x18000fce0