Function at 0x4b6530
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rbx, rdx
mov rdx, qword [rdx + 8]
mov rdi, qword [rbx + 0x10]
mov rax, rdx
sub rax, rdi
jb 0x4b677e
mov r8d, 0xffffffff
cmp rax, r8
cmovb r8, rax
mov rdx, qword [rbx]
add rdx, rdi
mov dword [rsp + 0x30], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x68], rax
lea rax, [dbg.callback]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
call sub.kernel32.dll_ReadFileEx
test eax, eax
je 0x4b65ea
nop
mov ecx, 0xffffffff
mov edx, 1
call sub.kernel32.dll_SleepEx
cmp dword [rsp + 0x30], 0
je 0x4b65a0
mov esi, dword [rsp + 0x34]
test rsi, rsi
je 0x4b6622
shl rsi, 0x20
or rsi, 2
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], 1
mov eax, esi
and eax, 3
lea rcx, [0x004b6790]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
call sub.kernel32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], 1
mov eax, esi
and eax, 3
lea rcx, [0x004b6790]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rsi + 0x10]
jmp case.0x4b668d.0
mov eax, dword [rsp + 0x38]
add rdi, rax
mov qword [rbx + 0x10], rdi
mov rax, qword [rbx + 0x18]
cmp rax, rdi
cmova rdi, rax
mov qword [rbx + 0x18], rdi
xor edi, edi
jmp 0x4b6666
movzx eax, byte [rsi + 0xf]
jmp case.0x4b668d.0
por mm1, qword [rax + r9*2]
mov ecx, esi
mov rcx, rsi
shr rcx, 0x20
call dbg.decode_error_kind
xor edi, edi
cmp al, 0xb
cmovne rdi, rsi
jne 0x4b6666
lea rcx, [rsp + 0x48]
call dbg.drop_in_place<std::io::error::Error>
mov rax, rdi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
shr rcx, 0x20
cmp ecx, 0x28
ja case.default.0x4b668d
xor eax, eax
lea rdx, [0x004b67a0]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
add ecx, edx
invalid
add ecx, edx
jmp rcx
mov al, 1
jmp case.0x4b668d.0
mov al, 0x29
jmp case.0x4b668d.0
mov al, 2
jmp case.0x4b668d.0
mov al, 3
jmp case.0x4b668d.0
mov al, 4
jmp case.0x4b668d.0
mov al, 5
jmp case.0x4b668d.0
mov al, 6
jmp case.0x4b668d.0
mov al, 7
jmp case.0x4b668d.0
mov al, 8
jmp case.0x4b668d.0
mov al, 9
jmp case.0x4b668d.0
mov al, 0xa
jmp case.0x4b668d.0
mov al, 0xb
jmp case.0x4b668d.0
mov al, 0xc
jmp case.0x4b668d.0
mov al, 0xd
jmp case.0x4b668d.0
invalid
mov esi, dword [rax - 0x4f7814f2]
por mm0, qword [rbx + 0x7ce910b0]
jmp case.0x4b668d.0
mov al, 0x10
invalid
jl 0x4b66d3
mov al, 0xe
jmp case.0x4b668d.0
mov al, 0xf
jmp case.0x4b668d.0
mov al, 0x10
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x11
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x12
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x13
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x14
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x15
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x16
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x17
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x18
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x19
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x1a
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x1f
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x20
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x21
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x22
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x23
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x24
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x25
jmp case.0x4b668d.0
invalid
invalid
invalid
mov al, 0x26
jmp case.0x4b668d.0
mov al, 0x27
jmp case.0x4b668d.0
mov al, 0x28
jmp case.0x4b668d.0
lea r8, [0x00542980]
mov rcx, rdi
call dbg.slice_start_index_len_fail
ud2