Function at 0x1400091d0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14, r9
mov r13d, r8d
mov r12, rdx
lea rdx, [0x140098a22]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
test rax, rax
je 0x140009561
mov rsi, rax
mov rcx, rax
xor edx, edx
mov r8d, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov ebp, 6
test eax, eax
jne 0x140009570
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
test eax, eax
jle 0x140009570
movsxd rbx, eax
lea rcx, [rbx + 1]
call fcn.1400646bc
mov r15, rax
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140009568
mov edx, 1
mov rcx, r15
mov r8, rbx
mov r9, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbx
jne 0x140009568
mov r8, qword [rsp + 0xb0]
mov byte [r15 + rbx], 0
lea r10, [0x140096938]
xor r11d, r11d
xor r9d, r9d
mov qword [rsp + 0x40], r15
lea rbp, [r15 + 1]
lea rcx, [r15 + 2]
lea rdi, [r15 + 3]
mov rbx, r15
jmp 0x1400092c0
add rbx, 1
add rbp, 1
add rcx, 1
add rdi, 1
movzx eax, byte [rbx]
cmp al, 0xa
je 0x1400092b0
cmp al, 0xd
je 0x1400092b0
mov r15, rbp
mov edx, eax
test al, al
je 0x14000954f
nop dword [rax + rax]
cmp dl, 0xd
je 0x140009302
cmp dl, 0xa
je 0x140009302
movzx edx, byte [r15]
add r15, 1
test dl, dl
jne 0x1400092e0
xor r15d, r15d
cmp al, 0x23
jne 0x140009311
jmp 0x140009546
mov byte [r15 - 1], 0
mov al, byte [rbx]
cmp al, 0x23
je 0x140009546
cmp al, 0x3b
je 0x140009546
jmp 0x14000932f
cmp al, 0x20
jne 0x140009341
movzx eax, byte [rbp]
add rbp, 1
add rcx, 1
add rdi, 1
cmp al, 0x1f
jg 0x14000931b
cmp al, 9
je 0x14000931f
test al, al
je 0x140009546
jmp 0x14000935e
cmp al, 0x5b
jne 0x14000935e
mov rdx, rbp
movzx ebx, byte [rdx]
cmp bl, 0x5d
jne 0x1400093b1
add rdx, 1
add rcx, 1
add rdi, 1
jmp 0x140009348
test r11b, 1
je 0x140009546
lea rcx, [rbp - 1]
mov qword [rsp + 0x30], rcx
cmp al, 0x3d
jne 0x140009385
movzx eax, byte [rcx + 1]
add rcx, 1
add rbp, 1
cmp al, 0x3d
je 0x140009375
test al, al
je 0x140009546
cmp al, 0x3d
je 0x140009459
movzx eax, byte [rbp]
add rbp, 1
test al, al
jne 0x14000938d
xor ebp, ebp
test r12, r12
jne 0x140009466
jmp 0x140009546
test bl, bl
jne 0x1400093c6
xor r11d, r11d
test r15, r15
jne 0x140009292
jmp 0x14000954f
cmp bl, 0x5d
je 0x1400093e1
movzx ebx, byte [rdx + 1]
add rdx, 1
add rcx, 1
add rdi, 1
test bl, bl
jne 0x1400093c6
jmp 0x1400093ff
mov byte [rdx], 0
jmp 0x1400093ee
add rcx, 1
add rdi, 1
movzx edx, byte [rcx]
cmp dl, 9
je 0x1400093e6
cmp dl, 0x20
je 0x1400093e6
test dl, dl
jne 0x14000940f
mov ebx, r9d
mov rcx, rbp
test r8, r8
je 0x14000942e
mov rdx, r8
jmp 0x140009431
cmp dl, 0x20
je 0x1400094ab
cmp dl, 9
je 0x1400094ab
movzx edx, byte [rdi]
add rdi, 1
test dl, dl
jne 0x14000940f
jmp 0x1400093b5
mov rdx, r10
mov rdi, r8
mov rbp, r10
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov r10, rbp
mov r8, rdi
test eax, eax
sete r11b
mov r9d, ebx
test r15, r15
jne 0x140009292
jmp 0x14000954f
mov byte [rbp - 1], 0
test r12, r12
je 0x140009546
cmp byte [r12], 0
je 0x140009546
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x28], r9d
xor edi, edi
mov rbx, r12
mov rcx, qword [rsp + 0x30]
mov rdx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x1400094b4
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rdi, 1
cmp byte [rax + rbx + 1], 0
lea rbx, [rax + rbx + 1]
jne 0x140009480
jmp 0x14000950c
mov byte [rdi - 1], 0
jmp 0x1400093b5
mov rax, rdi
mov qword [rsp + 0x30], rdi
cmp eax, r13d
jae 0x14000950c
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, rax
add rbx, 1
mov rcx, rbx
call fcn.1400646bc
mov qword [rsp + 0x38], rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x30]
mov rcx, qword [r14 + rax*8]
mov rdx, qword [rsp + 0x38]
mov qword [r14 + rax*8], rdx
test rcx, rcx
je 0x14000951b
call fcn.140064680
mov rbx, qword [r14 + rdi*8]
jmp 0x14000951e
mov r8, qword [rsp + 0xb0]
mov r9d, dword [rsp + 0x28]
jmp 0x14000953a
mov rbx, rdx
mov rcx, rbx
mov rdx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
mov r9d, dword [rsp + 0x28]
add r9d, 1
mov r8, qword [rsp + 0xb0]
lea r10, [0x140096938]
mov r11d, dword [rsp + 0x2c]
test r15, r15
jne 0x140009292
xor eax, eax
cmp r9d, r13d
setne al
lea ebp, [rax + rax*4]
mov rcx, qword [rsp + 0x40]
jmp 0x14000956b
mov ebp, 6
jmp 0x140009579
mov rcx, r15
call fcn.140064680
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret