Function at 0x14004b510
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x488
mov rax, qword [0x1403d4408]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov r13, qword [rsp + 0x4f0]
lea rdi, [rsp + 0x70]
mov qword [rsp + 0x68], rcx
mov ebx, r9d
mov rcx, qword [rsp + 0x4e0]
mov r12d, r8d
mov qword [rsp + 0x60], rcx
mov rax, rdx
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov r15d, ecx
mov qword [rsp + 0x58], rcx
test rdx, rdx
je 0x14004b7fc
lea rdx, [0x140209004]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov rsi, rax
test rax, rax
je 0x14004b7fc
xor edx, edx
mov qword [rsp + 0x4d8], rbp
mov rcx, rax
mov qword [rsp + 0x480], r14
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14004b7e9
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
xor r8d, r8d
xor edx, edx
mov rcx, rsi
movsxd rbp, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x14004b7e9
lea eax, [rbp - 1]
cmp eax, 0x3fffff
ja 0x14004b7e9
cmp ebp, 0x400
jle 0x14004b608
mov rcx, rbp
call fcn.140077be0
mov rdi, rax
test rax, rax
je 0x14004b7e9
mov r15d, 1
mov r9, rsi
mov r8, rbp
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbp
je 0x14004b62b
mov ebx, 0xfffffffc
jmp 0x14004b70e
cmp ebx, 0x16
jne 0x14004b77e
mov ebx, 5
lea r8, [rsp + 0x58]
mov ecx, ebx
lea rdx, [rsp + 0x50]
call fcn.140083dd0
test eax, eax
jne 0x14004b667
mov rdx, qword [rsp + 0x50]
mov r8d, ebp
mov rcx, rdi
call fcn.140077a80
test rax, rax
jne 0x14004b788
lea r8, [rsp + 0x58]
mov ecx, 4
lea rdx, [rsp + 0x50]
call fcn.140083dd0
test eax, eax
jne 0x14004b698
mov rdx, qword [rsp + 0x50]
mov r8d, ebp
mov rcx, rdi
call fcn.140077a80
test rax, rax
jne 0x14004b7c8
lea r8, [rsp + 0x58]
xor ecx, ecx
lea rdx, [rsp + 0x50]
call fcn.140083dd0
test eax, eax
jne 0x14004b75c
mov rdx, qword [rsp + 0x50]
mov r8d, ebp
mov rcx, rdi
call fcn.140077a80
test rax, rax
je 0x14004b75c
xor ebx, ebx
mov eax, dword [rsp + 0x4f8]
mov r9d, r12d
mov rcx, qword [rsp + 0x68]
mov r8d, ebp
mov dword [rsp + 0x40], eax
mov rdx, rdi
mov eax, dword [rsp + 0x4e8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
call fcn.14004a550
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r15d, r15d
je 0x14004b729
test rdi, rdi
je 0x14004b729
mov rcx, rdi
call fcn.140077bc0
mov eax, ebx
mov rbp, qword [rsp + 0x4d8]
mov r14, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.1400b5880
add rsp, 0x488
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test r15d, r15d
je 0x14004b76e
test rdi, rdi
je 0x14004b76e
mov rcx, rdi
call fcn.140077bc0
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, 0xfffffff8
jmp 0x14004b72b
cmp ebx, 5
je 0x14004b788
cmp ebx, 0xf
jne 0x14004b7bf
cmp r12d, 1
jne 0x14004b7bf
mov eax, dword [rsp + 0x4f8]
mov r9d, r12d
mov rcx, qword [rsp + 0x68]
mov r8d, ebp
mov dword [rsp + 0x30], eax
mov rdx, rdi
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
call fcn.14004b3f0
jmp 0x14004b70c
cmp ebx, 4
jne 0x14004b6cc
mov eax, dword [rsp + 0x4f8]
mov r9d, r12d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov rdx, rdi
mov rcx, r13
call fcn.140075680
jmp 0x14004b70c
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, 0xfffffffc
jmp 0x14004b72b
mov eax, 0xfffffffc
jmp 0x14004b73b