Function at 0x140008d10
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov qword [rsp + 0x140], rbx
mov rax, qword [0x140195088]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rcx
test edx, edx
js 0x14000935e
cmp edx, dword [rcx + 0x10]
jge 0x14000935e
movsxd rcx, edx
mov rax, qword [rbx + 0x58]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14000935e
mov rdi, qword [rdx + 8]
mov rax, qword [rdx]
mov qword [rbp - 0x61], rax
xor r8d, r8d
lea rdx, [0x14009c258]
mov rcx, rax
call fcn.140032480
movsxd r14, eax
xor r12d, r12d
mov r13d, r12d
mov rcx, qword [rbx + 8]
call fcn.140008340
mov qword [rbx + 0x48], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
je 0x14000935e
mov rcx, rbx
call fcn.14000a620
mov qword [rsp + 0x20], r12
lea r9, [rbx + 0x34]
mov r8d, 0x4000
mov rdx, qword [rbx + 0x38]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000935e
mov eax, r12d
cmp dword [rbx + 0x34], 0x4000
setb al
mov dword [rbx + 0x4c], eax
mov dword [rbx + 0x48], eax
mov rcx, rbx
call fcn.140008840
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov edx, 0x200
lea rcx, [rbp - 0x21]
call fcn.140031390
nop
mov dword [rsp + 0x44], 1
mov r15d, r12d
mov dword [rsp + 0x40], r12d
xor eax, eax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rax
mov edx, 0x200
lea rcx, [rbp - 1]
call fcn.140031390
nop
mov qword [rbp - 0x51], r14
xor r14d, r14d
lea rcx, [rbp - 0x21]
call fcn.140032950
mov ecx, dword [rbx]
cmp ecx, 5
jne 0x140008f22
mov edx, dword [rbx + 0x30]
cmp edx, dword [rbx + 0x34]
jae 0x14000926e
mov dword [rbx + 0x1c], 0
mov word [rbx + 0x18], r14w
mov dword [rbx + 0x14], r14d
nop word [rax + rax]
mov r8, qword [rbx + 0x38]
mov eax, edx
movzx ecx, byte [rax + r8]
mov byte [rbx + 0x1c], cl
cmp cl, 0xd
je 0x140008f09
cmp cl, 0xa
je 0x140008f1a
movzx edx, cl
lea rcx, [rbp - 0x21]
call fcn.140031690
mov eax, dword [rbp - 0x11]
dec eax
mov ecx, dword [rbp - 0xd]
cmp ecx, eax
jge 0x14000926e
mov edx, dword [rbx + 0x30]
inc edx
mov dword [rbx + 0x30], edx
cmp edx, dword [rbx + 0x34]
jb 0x140008eb0
cmp qword [rbp - 0x19], 0
je 0x140008f04
cmp ecx, 1
jl 0x140008f04
mov eax, 1
jmp 0x140008f62
mov eax, r14d
jmp 0x140008f62
inc edx
mov dword [rbx + 0x30], edx
cmp edx, dword [rbx + 0x34]
jae 0x140008f6a
cmp byte [rdx + r8], 0xa
jne 0x140008f6a
lea eax, [rdx + 1]
mov dword [rbx + 0x30], eax
jmp 0x140008f6a
test ecx, ecx
jne 0x140008f34
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.14000a370
jmp 0x140008f62
lea eax, [rcx - 1]
cmp eax, 1
ja 0x140008f4a
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.140009e50
jmp 0x140008f62
lea eax, [rcx - 3]
cmp eax, 1
ja 0x14000926e
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.14000a120
test eax, eax
je 0x14000926e
cmp dword [rbx + 0x4c], 0
jne 0x140009082
mov eax, dword [rbx + 0x34]
shr eax, 1
cmp dword [rbx + 0x30], eax
jbe 0x140009082
cmp qword [rbx + 0x40], 0
jne 0x140008f97
mov ecx, 0x2000
call fcn.14005dd54
mov qword [rbx + 0x40], rax
mov r8, r14
mov r9d, 0x2001
mov r10d, 0x800
nop word [rax + rax]
mov rdx, qword [rbx + 0x38]
lea eax, [r9 - 1]
movzx eax, byte [rax + rdx]
mov byte [rdx + r8], al
mov rdx, qword [rbx + 0x38]
mov eax, r9d
movzx ecx, byte [rax + rdx]
mov byte [rdx + r8 + 1], cl
mov rdx, qword [rbx + 0x38]
lea eax, [r9 + 1]
movzx eax, byte [rax + rdx]
mov byte [rdx + r8 + 2], al
mov rdx, qword [rbx + 0x38]
lea eax, [r9 + 2]
movzx eax, byte [rax + rdx]
mov byte [rdx + r8 + 3], al
add r9d, 4
lea r8, [r8 + 4]
sub r10, 1
jne 0x140008fb0
add dword [rbx + 0x34], 0xffffe000
mov eax, dword [rbx + 0x30]
cmp eax, 0x2000
jbe 0x14000901b
add eax, 0xffffe000
mov dword [rbx + 0x30], eax
jmp 0x14000901f
mov dword [rbx + 0x30], r14d
mov dword [rbp - 9], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 9]
mov r8d, 0x2000
mov rdx, qword [rbx + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, r14d
mov ecx, dword [rbp - 9]
cmp ecx, 0x2000
setb al
mov dword [rbx + 0x4c], eax
mov r9d, r14d
test ecx, ecx
je 0x140009082
nop dword [rax + rax]
mov r8d, r9d
mov rax, qword [rbx + 0x40]
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx + 0x38]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
inc dword [rbx + 0x34]
inc r9d
cmp r9d, dword [rbp - 9]
jb 0x140009060
mov edi, r14d
mov r14d, dword [rbp - 0xd]
dec r14d
test r14d, r14d
jle 0x1400090c1
mov edx, edi
lea rcx, [rbp - 0x21]
call fcn.140031800
movzx r15d, ax
mov edx, edi
lea rcx, [rbp - 0x21]
call fcn.140031800
cmp ax, 0x20
ja 0x140009148
inc edi
cmp edi, r14d
jl 0x140009091
mov r15d, dword [rsp + 0x40]
cmp dword [rsp + 0x44], 0
je 0x1400091e5
cmp qword [rbp - 0x19], 0
je 0x14000925c
cmp dword [rbp - 0xd], 1
jl 0x1400091e5
inc r12d
inc r13d
lea rcx, [rbp - 0x21]
call fcn.14000a5a0
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [0x14009c250]
lea rcx, [rbp - 0x21]
call fcn.140032bc0
mov r15d, eax
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x1400091b8
lea ecx, [rax + 0x18]
call fcn.14005d524
mov qword [rbp - 0x59], rax
test rax, rax
je 0x14000917d
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
xor r8d, r8d
lea rdx, [rbp - 0x21]
mov rcx, rax
call fcn.140031350
xor r14d, r14d
jmp 0x140009183
cmp r15d, 0x2f
jne 0x1400090bc
lea edx, [rdi + 1]
lea rcx, [rbp - 0x21]
call fcn.140031800
cmp ax, r15w
mov r15d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r14d, 0
je 0x140008e75
jmp 0x1400090c1
xor r14d, r14d
mov eax, r14d
mov qword [rbp - 0x69], 1
mov dword [rbp - 0x79], r13d
mov dword [rbp - 0x75], r14d
mov qword [rbp - 0x71], rax
movups xmm0, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x49], xmm0
movsd xmm1, qword [rbp - 0x69]
movsd qword [rbp - 0x39], xmm1
lea rdx, [rbp - 0x49]
mov rcx, qword [rbx + 8]
call fcn.140007a80
jmp 0x1400091bb
xor r14d, r14d
cmp r12d, 1
jne 0x1400091d6
lea rcx, [rbp - 0x21]
call fcn.140025730
mov rdx, rax
lea rcx, [rbp - 1]
call fcn.140031610
mov dword [rsp + 0x44], r14d
mov rdi, qword [rsp + 0x48]
jmp 0x140008e75
cmp qword [rbp - 0x19], 0
je 0x14000925c
cmp dword [rbp - 0xd], 1
jl 0x14000925c
inc r12d
lea rcx, [rbp - 0x21]
call fcn.14000a5a0
test r15d, r15d
mov rdi, qword [rsp + 0x48]
mov r14d, 0
jne 0x140008e75
cmp qword [rbp - 0x51], r14
je 0x140009248
xor r8d, r8d
lea rdx, [0x14009c270]
lea rcx, [rbp - 0x21]
call fcn.140032480
test eax, eax
je 0x140009248
lea rcx, [rbp - 0x21]
call fcn.140032950
lea rdx, [0x14009c288]
lea rcx, [rbp - 0x21]
call fcn.140031610
mov r8d, r13d
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.140009940
jmp 0x140008e75
mov dword [rsp + 0x44], 1
mov rdi, qword [rsp + 0x48]
jmp 0x140008e72
mov rsi, qword [rbp - 0x61]
cmp r12d, 1
jne 0x140009324
lea ecx, [r12 + 0x17]
call fcn.14005d524
mov qword [rbp - 0x59], rax
test rsi, rsi
je 0x1400092b6
test rax, rax
je 0x1400092b1
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
call fcn.140031350
jmp 0x1400092b4
mov rax, r14
jmp 0x1400092df
test rax, rax
je 0x1400092dc
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
xor r8d, r8d
lea rdx, [0x14009c2a0]
mov rcx, rax
call fcn.140031410
jmp 0x1400092df
mov rax, r14
inc r13d
mov qword [rbp - 0x69], 1
mov dword [rbp - 0x79], r13d
mov dword [rbp - 0x75], r14d
mov qword [rbp - 0x71], rax
movups xmm0, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x49], xmm0
movsd xmm1, qword [rbp - 0x69]
movsd qword [rbp - 0x39], xmm1
lea rdx, [rbp - 0x49]
mov rcx, qword [rbx + 8]
call fcn.140007a80
mov r8d, r13d
lea rdx, [rbp - 1]
mov rcx, rbx
call fcn.140009940
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rsi + 8]
mov rcx, qword [rbx + 8]
call fcn.140008400
mov rcx, qword [rbx + 8]
call fcn.140002220
nop
lea rcx, [rbp - 1]
call fcn.140031450
nop
lea rcx, [rbp - 0x21]
call fcn.140031450
mov eax, 1
jmp 0x140009360
xor eax, eax
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14005d680
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret