Function at 0x180003090
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x248
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1b0], xmm6
mov qword [rbp + 0x1a8], 0xfffffffffffffffe
mov rsi, rdx
mov r14, rcx
movaps xmm6, xmmword [0x18001f550]
movups xmmword [rbp + 0x130], xmm6
mov byte [rbp + 0x120], 0
mov qword [rbp + 0x1a0], 0
cmp qword [rdx + 0x18], 0x10
jb 0x1800030ed
mov rdx, qword [rsi]
lea r8, [0x18001f6a6]
lea rcx, [rbp + 0x1a0]
call fcn.18000b3c8
mov rcx, qword [rbp + 0x1a0]
test rcx, rcx
je 0x1800036fe
xor edx, edx
mov r8d, 2
call fcn.18000b710
mov rcx, qword [rbp + 0x1a0]
call fcn.18000bc0c
mov ebx, eax
mov rcx, qword [rbp + 0x1a0]
xor edx, edx
xor r8d, r8d
call fcn.18000b710
movsxd rdi, ebx
mov rcx, rdi
call fcn.18000bc14
mov r12, rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.180008660
mov r9, qword [rbp + 0x1a0]
mov edx, 1
mov rcx, r12
mov r8, rdi
call fcn.18000beac
mov rcx, qword [rbp + 0x1a0]
call fcn.18000b4a4
mov byte [rbp + 0x110], 0
cmp ebx, 0x20
jl 0x180003281
mov eax, ebx
and eax, 0xf
jne 0x180003281
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0x178], rsi
lea esi, [rbx - 0x10]
mov rcx, rsi
call fcn.18000bc14
mov r15, rax
mov qword [rbp + 0xf8], rsi
movups xmm0, xmmword [r12 + rsi]
movaps xmmword [rbp + 0x100], xmm0
lea esi, [rbx - 0x20]
mov rcx, rax
mov rdx, r12
mov r8, rsi
call fcn.180007af0
movdqa xmm0, xmmword [rbp + 0x100]
movd xmm1, ebx
movdqa xmm2, xmmword [0x18001f5a0]
pandn xmm2, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 1
por xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [rbp + 0x100], xmm1
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x20], 0
lea rdi, [rbp + 0x100]
mov rcx, rdi
call fcn.18000adb0
lea rbx, [rbp - 0x60]
mov rcx, rdi
mov rdx, rax
mov r8, rbx
call fcn.180005e10
movups xmmword [rbp + 0x190], xmm6
mov byte [rbp + 0x180], 0
mov rcx, rbx
call fcn.18000adb0
mov rdi, rax
cmp rax, 0xf
mov qword [rbp + 0x160], rsi
jbe 0x18000328f
mov rsi, r14
lea rcx, [rbp + 0x180]
lea r9, [rbp - 0x60]
mov rdx, rdi
call fcn.180005250
jmp 0x1800032b4
movups xmmword [r14 + 0x10], xmm6
mov byte [r14], 0
jmp 0x1800036b7
mov rsi, r14
mov qword [rbp + 0x190], rdi
lea rcx, [rbp + 0x180]
lea rdx, [rbp - 0x60]
mov r8, rdi
call fcn.180007af0
mov byte [rbp + rdi + 0x180], 0
mov qword [rbp + 0x168], r12
mov qword [rbp + 0x170], r15
movups xmmword [rbp + 0x150], xmm6
mov byte [rbp + 0x140], 0
mov r15, qword [rbp + 0x190]
cmp r15, 0x1f
jbe 0x18000377d
lea rax, [r15 - 0x20]
cmp rax, 0x10
mov r12d, 0x10
cmovb r12, rax
mov r14, qword [rbp + 0x180]
mov r13, qword [rbp + 0x198]
cmp r13, 0x10
lea rbx, [rbp + 0x180]
mov r9, rbx
cmovae r9, r14
add r9, 0x20
cmp r12, 0xf
jbe 0x180003343
lea rcx, [rbp + 0x140]
mov rdx, r12
call fcn.180005250
mov r14, qword [rbp + 0x180]
mov r15, qword [rbp + 0x190]
mov r13, qword [rbp + 0x198]
jmp 0x180003365
mov qword [rbp + 0x150], r12
lea rcx, [rbp + 0x140]
mov rdx, r9
mov r8, r12
call fcn.180007af0
mov byte [rbp + r12 + 0x140], 0
movups xmmword [rbp], xmm6
mov byte [rbp - 0x10], 0
cmp r15, 0x20
mov edi, 0x20
cmovb rdi, r15
cmp r13, 0x10
cmovb r14, rbx
cmp rdi, 0xf
jbe 0x1800033b0
lea rcx, [rbp - 0x10]
mov rdx, rdi
mov r9, r14
call fcn.180005250
mov r15, qword [rbp + 0x160]
mov r14, rsi
mov r13, qword [rbp + 0x198]
cmp r13, 0x10
jae 0x1800033d8
jmp 0x180003410
mov qword [rbp], rdi
lea rcx, [rbp - 0x10]
mov rdx, r14
mov r8, rdi
call fcn.180007af0
mov byte [rbp + rdi - 0x10], 0
mov r14, rsi
mov r15, qword [rbp + 0x160]
cmp r13, 0x10
jb 0x180003410
mov rcx, qword [rbp + 0x180]
lea rdx, [r13 + 1]
cmp rdx, 0x1000
jb 0x18000340b
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180003778
add r13, 0x28
mov rdx, r13
mov rcx, rax
call fcn.180006304
mov rdx, rbx
movdqu xmm0, xmmword [rbp - 0x10]
movdqu xmm1, xmmword [rbp]
movdqa xmmword [rbp + 0x190], xmm1
movdqa xmmword [rbp + 0x180], xmm0
cmp qword [rbp + 0x158], 0x10
jb 0x180003440
mov r8, qword [rbp + 0x140]
jmp 0x180003447
lea r8, [rbp + 0x140]
mov rsi, qword [rbp + 0x178]
mov rbx, qword [rbp + 0x170]
mov r12, qword [rbp + 0x168]
cmp qword [rbp + 0x198], 0x10
jb 0x18000346d
mov rdx, qword [rbp + 0x180]
lea rdi, [rbp - 0x10]
mov rcx, rdi
call fcn.180001180
mov rcx, rdi
mov rdx, rbx
mov r8d, r15d
call fcn.1800011b0
mov eax, dword [rbx]
shl eax, 0x18
movzx ecx, byte [rbx + 1]
shl rcx, 0x10
cdqe
or rax, rcx
movzx ecx, byte [rbx + 2]
shl rcx, 8
or rcx, rax
movzx edi, byte [rbx + 3]
or rdi, rcx
cmp edi, r15d
jle 0x18000353c
mov rcx, rbx
xor edx, edx
mov r8, qword [rbp + 0xf8]
call fcn.180008660
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x40], xmm0
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x90], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movups xmmword [r14 + 0x10], xmm6
mov byte [r14], 0
jmp 0x180003628
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x100], xmm0
mov rcx, r12
xor edx, edx
mov r8, qword [rbp + 0xf0]
call fcn.180008660
add rbx, 0x10
mov rax, qword [rbp + 0x138]
cmp rax, rdi
jae 0x18000357d
lea rcx, [rbp + 0x120]
mov rdx, rdi
mov r9, rbx
call fcn.180005250
jmp 0x1800035ac
cmp rax, 0x10
jb 0x18000358c
mov rsi, qword [rbp + 0x120]
jmp 0x180003593
lea rsi, [rbp + 0x120]
mov qword [rbp + 0x130], rdi
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.180007af0
mov byte [rsi + rdi], 0
mov rcx, qword [rbp + 0x170]
call fcn.18000b240
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0x90], xmm0
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmmword [rbp + 0x40], xmm0
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp], xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov rsi, qword [rbp + 0x178]
mov rax, qword [rbp + 0x158]
cmp rax, 0x10
jb 0x18000366d
mov rcx, qword [rbp + 0x140]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180003668
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180003778
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.180006304
mov rax, qword [rbp + 0x198]
cmp rax, 0x10
jb 0x1800036b2
mov rcx, qword [rbp + 0x180]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800036ad
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180003778
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.180006304
cmp edi, r15d
jle 0x1800036fe
mov rax, qword [rbp + 0x138]
cmp rax, 0x10
jb 0x180003719
mov rcx, qword [rbp + 0x120]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800036f7
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180003778
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.180006304
jmp 0x180003719
movdqu xmm0, xmmword [rbp + 0x120]
movdqu xmm1, xmmword [rbp + 0x130]
movdqu xmmword [r14 + 0x10], xmm1
movdqu xmmword [r14], xmm0
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x180003753
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18000374e
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180003778
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.180006304
movups xmmword [rsi + 0x10], xmm6
mov byte [rsi], 0
mov rax, r14
movaps xmm6, xmmword [rbp + 0x1b0]
add rsp, 0x248
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.18000ad1c
call fcn.180004e50
int3