Function at 0x1400095c0
Capabilities:
Read file on windows

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rsi, rdx
mov rbx, rcx
xor r12d, r12d
mov dword [rbp - 0x40], r12d
mov word [rdx + 6], 0xffff
lea rdi, [rdx + 8]
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
xorps xmm0, xmm0
movups xmmword [rdx + 0x448], xmm0
mov qword [rdx + 0x458], r12
mov qword [rdx + 0x460], 0xf
mov byte [rdx + 0x448], r12b
movups xmmword [rdx + 0x468], xmm0
mov qword [rdx + 0x478], r12
mov qword [rdx + 0x480], 0xf
mov byte [rdx + 0x468], r12b
movups xmmword [rdx + 0x488], xmm0
mov qword [rdx + 0x498], r12
mov qword [rdx + 0x4a0], 0xf
mov byte [rdx + 0x488], r12b
mov dword [rbp - 0x40], 1
mov dword [rbp + 0x50], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
lea r8d, [r12 + 4]
lea rdx, [rcx + 0x58]
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rbx + 0x58]
cmp dword [rbx + 0x68], 1
jne 0x1400096ae
mov dword [rbp + 0x40], ecx
movzx eax, byte [rbp + 0x43]
mov byte [rbp + 0x50], al
movzx eax, byte [rbp + 0x42]
mov byte [rbp + 0x51], al
movzx eax, byte [rbp + 0x41]
mov byte [rbp + 0x52], al
mov byte [rbp + 0x53], cl
mov ecx, dword [rbp + 0x50]
mov dword [rsi], ecx
cmp dword [rbx + 0x80], 0x10
jl 0x1400096da
mov dword [rbp + 0x50], r12d
lea rdx, [rsi + 4]
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov r8d, 1
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rbx + 0x80], 0x11
jl 0x140009724
mov dword [rbp + 0x50], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov r8d, 2
lea rdx, [rbx + 0x58]
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx ecx, word [rbx + 0x58]
cmp dword [rbx + 0x68], 1
jne 0x140009720
mov word [rbp + 0x50], cx
movzx eax, byte [rbp + 0x51]
mov byte [rbp + 0x50], al
mov byte [rbp + 0x51], cl
movzx ecx, word [rbp + 0x50]
mov word [rsi + 6], cx
mov eax, dword [rbx + 0x80]
cmp eax, 0xd
jl 0x14000977b
cmp eax, 0x10
jl 0x14000975a
cmp dword [rsi], 0x72
jne 0x14000975a
mov dword [rbp + 0x50], r12d
lea rdx, [rsi + 0x28]
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov r8d, 0x10
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rbp + 0x50], r12d
lea rdx, [rsi + 0x38]
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov r8d, 0x10
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp byte [rbx + 0x98], 0
je 0x1400098e4
mov ecx, 0x20
call fcn.140048eb4
mov r15, rax
mov qword [rbp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
cmp rdi, rax
je 0x1400097c1
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.140011120
mov rax, qword [r15 + 0x18]
mov qword [rdi + 0x18], rax
lea rax, [rbp - 0x38]
cmp rdi, rax
je 0x1400097e5
mov rcx, rdi
call fcn.140010ea0
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
mov eax, dword [rbx + 0x80]
cmp eax, 0xc
jge 0x140009811
cmp eax, 0xa
je 0x140009811
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140009500
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.140009100
jmp 0x140009828
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140009500
mov rdx, rax
mov rcx, rbx
call fcn.140008d70
cmp dword [rbx + 0x80], 0x15
jl 0x1400098e4
mov dword [rbp + 0x50], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x50]
mov r8d, 4
lea rdx, [rbx + 0x58]
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rbx + 0x58]
cmp dword [rbx + 0x68], 1
jne 0x14000987d
mov dword [rbp + 0x48], ecx
movzx eax, byte [rbp + 0x4b]
mov byte [rbp + 0x50], al
movzx eax, byte [rbp + 0x4a]
mov byte [rbp + 0x51], al
movzx eax, byte [rbp + 0x49]
mov byte [rbp + 0x52], al
mov byte [rbp + 0x53], cl
mov ecx, dword [rbp + 0x50]
test ecx, ecx
je 0x1400098e4
lea rdi, [rsi + 0x48]
mov r15d, ecx
nop dword [rax + rax]
mov dword [rbp + 0x48], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x48]
mov r8d, 4
lea rdx, [rbx + 0x58]
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rbx + 0x58]
cmp dword [rbx + 0x68], 1
jne 0x1400098d8
mov ecx, eax
shr ecx, 0x18
mov byte [rbp + 0x50], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rbp + 0x51], cl
mov ecx, eax
shr ecx, 8
mov byte [rbp + 0x52], cl
mov byte [rbp + 0x53], al
mov eax, dword [rbp + 0x50]
mov dword [rdi], eax
add rdi, 4
sub r15, 1
jne 0x140009890
mov rax, rsi
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret