Function at 0x14000b7ec
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov word [rsp + 8], cx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rcx, r8
mov r15, r8
mov rbx, rdx
call fcn.14000b6d4
xor edi, edi
test al, al
je 0x14000ba94
mov qword [rsp + 0x30], rdi
lea esi, [rdi + 1]
xor r9d, r9d
mov edx, 0x80000000
mov rcx, rbx
mov r8d, esi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000ba94
lea r12d, [rdi + 6]
lea r9, [rbp + 0x40]
lea rdx, [rbp - 0x18]
mov rcx, rax
mov r8d, r12d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000ba8b
cmp word [rbp - 0x16], si
je 0x14000b88e
cmp word [rbp - 0x18], di
jne 0x14000ba8b
movzx eax, word [rbp - 0x14]
imul r13d, eax, 0xe
add r13d, r12d
movsxd rcx, r13d
mov dword [rbp - 0x1c], r13d
call fcn.140015698
lea rdx, [rbp - 0x18]
mov r8, r12
mov rcx, rax
mov r14, rax
call fcn.140015fc0
xor edx, edx
mov rcx, r15
lea rsi, [r14 + 6]
call qword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov r15, rax
test rax, rax
jne 0x14000b8e4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call fcn.140017d1c
jmp 0x14000ba94
mov r12d, edi
lea rax, [0x140046050]
cmp di, word [rbp - 0x14]
jae 0x14000b9fd
mov r13, rax
lea r9, [rbp + 0x40]
mov r8d, 0xc
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000b9e1
movzx eax, word [r13]
lea r9, [rbp + 0x40]
lea rdx, [rbp + 0x58]
mov r8d, 4
mov rcx, rbx
mov qword [rsp + 0x20], rdi
mov word [rsi + 0xc], ax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000b9e1
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, dword [rbp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov dword [rbp - 0x20], eax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [rsi + 8]
call fcn.140015698
mov r8d, dword [rsi + 8]
lea r9, [rbp + 0x40]
mov rdx, rax
mov rcx, rbx
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000b9c6
mov ecx, dword [rsi + 8]
mov rax, qword [rbp - 0x10]
movzx r8d, word [rsi + 0xc]
mov dword [rsp + 0x28], ecx
mov r9d, 0x809
mov edx, 3
mov rcx, r15
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_UpdateResourceW]
mov rcx, qword [rbp - 0x10]
call fcn.140017d1c
mov edx, dword [rbp - 0x20]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
movzx eax, word [rbp - 0x14]
inc r12d
add rsi, 0xe
add r13, 2
cmp r12d, eax
jl 0x14000b8fb
mov r13d, dword [rbp - 0x1c]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx ebx, word [rbp - 0x14]
cmp ebx, dword [0x140046044]
jge 0x14000ba4c
lea rcx, [0x140046050]
lea rsi, [rcx + rbx*2]
movzx r8d, word [rsi]
mov r9d, 0x809
mov edx, 3
mov rcx, r15
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_UpdateResourceW]
inc ebx
lea rsi, [rsi + 2]
cmp ebx, dword [0x140046044]
jl 0x14000ba1d
mov edx, 0xe
mov r9d, 0x809
mov rcx, r15
lea r8d, [rdx + 0x55]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_UpdateResourceW]
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
mov rcx, r14
mov ebx, eax
call fcn.140017d1c
cmp ebx, 1
sete al
jmp 0x14000ba96
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret