Function at 0x14002f780
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x2b0], rbx
mov rax, qword [0x140195088]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov r12, r8
mov rcx, rdx
xor edi, edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14002fa4b
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x50]
mov r8d, 0x200
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14002fa4b
lea ebp, [rdi + 1]
mov ebx, edi
mov r10d, dword [rsp + 0x50]
lea eax, [r10 - 1]
test eax, eax
je 0x14002f9cf
mov edx, 0x100
mov esi, 0x1389
lea r11d, [rsi - 1]
lea r14d, [rsi + 1]
mov eax, ebx
movzx r9d, byte [rsp + rax + 0x60]
lea eax, [rbx + 1]
movzx r8d, byte [rsp + rax + 0x60]
add ebx, 2
cmp r9b, 0xff
jne 0x14002f86d
cmp r8b, 0xfe
jne 0x14002f886
mov ebp, edi
add ebx, 2
jmp 0x14002f9c3
cmp r9b, 0xfe
jne 0x14002f886
cmp r8b, 0xff
jne 0x14002f886
mov ebp, 1
add ebx, 2
jmp 0x14002f9c3
movzx ecx, dx
test ebp, ebp
je 0x14002f899
movzx eax, r9b
mov edx, eax
movzx eax, r8b
jmp 0x14002f8a3
movzx eax, r8b
mov edx, eax
movzx eax, r9b
imul edx, ecx
add dx, ax
cmp r11w, dx
jne 0x14002f8b7
add ebx, 2
jmp 0x14002f9be
cmp si, dx
jne 0x14002f8c4
add ebx, 2
jmp 0x14002f9be
cmp r14w, dx
jne 0x14002f8d2
add ebx, 2
jmp 0x14002f9be
cmp di, dx
je 0x14002f9cf
movzx r15d, dx
mov r14d, edi
mov ecx, 0x18
call fcn.14005d524
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14002f910
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov rcx, rax
call fcn.140022510
mov rsi, rax
jmp 0x14002f913
mov rsi, rdi
test r15d, r15d
je 0x14002f9a1
lea edi, [rbx + 1]
nop
mov eax, dword [rsp + 0x50]
add eax, 0xfffffffd
cmp ebx, eax
ja 0x14002fa08
movzx ecx, byte [rsp + rbx + 0x60]
movzx r8d, byte [rsp + rdi + 0x60]
add ebx, 2
add edi, 2
test ebp, ebp
je 0x14002f94d
movzx edx, cl
movzx eax, r8b
jmp 0x14002f954
movzx edx, r8b
movzx eax, cl
shl edx, 8
add edx, eax
movzx r8d, byte [rsp + rbx + 0x60]
movzx r9d, byte [rsp + rdi + 0x60]
add ebx, 2
add edi, 2
test ebp, ebp
je 0x14002f979
movzx ecx, r8b
movzx eax, r9b
jmp 0x14002f981
movzx ecx, r9b
movzx eax, r8b
shl ecx, 8
add ecx, eax
mov r8d, 0x122
sub r8d, ecx
mov rcx, rsi
call fcn.1400225b0
inc r14d
cmp r14d, r15d
jl 0x14002f920
xor edi, edi
mov rdx, rsi
mov rcx, r12
call fcn.140022310
mov r10d, dword [rsp + 0x50]
mov esi, 0x1389
lea r11d, [rsi - 1]
lea r14d, [rsi + 1]
mov edx, 0x100
lea eax, [r10 - 1]
cmp ebx, eax
jb 0x14002f843
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.14005d680
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [r12 + 8], 0
jne 0x14002fa37
test rsi, rsi
je 0x14002fa42
mov rcx, rsi
call fcn.140022560
mov edx, 0x18
mov rcx, rsi
call fcn.14005d560
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14002f9dd
mov rdx, rsi
mov rcx, r12
call fcn.140022310
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14002f9dd