Function at 0x140108a00
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rsi, rcx
xor edi, edi
mov ebx, edi
movzx r15d, byte [rcx + 0x110]
movzx edx, byte [rcx + 0x139]
mov word [rbp - 0x40], 0x305
mov byte [rbp - 0x3e], 4
mov word [rbp - 0x3c], di
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rdi
sub rdx, 5
mov byte [rbp + 0x40], dil
je 0x140108a5f
lea r8, [rbp + 0x40]
lea rcx, [rbp - 0x38]
call fcn.14000cbf0
nop
lea eax, [r15 + 4]
mov byte [rbp - 0x3f], al
lea eax, [r15 + 1]
mov word [rbp - 0x3c], ax
movzx r14d, byte [rsi + 0x139]
sub r14, 6
mov rax, qword [rsi + 0x110]
cmp rax, r14
jbe 0x140108b0d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
mov ecx, 0x40
call fcn.1400c9d40
mov rdx, rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], 0x3c
mov qword [rbp - 8], 0x3f
movups xmm0, xmmword [str.Requested_data_size_is_larger_than_response_size__unhandled.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029d1c0]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x14029d1d0]
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [0x14029d1e0]
movsd qword [rax + 0x30], xmm0
mov eax, dword [0x14029d1e8]
mov dword [rdx + 0x38], eax
mov byte [rdx + 0x3c], 0
lea r8, [rbp - 0x20]
mov edx, 0xffffffec
lea rcx, [rsi + 0x50]
call fcn.140103fd0
mov ebx, eax
jmp 0x140108dcd
test rax, rax
jne 0x140108b78
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
lea ecx, [rax + 0x30]
call fcn.1400c9d40
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], 0x24
mov qword [rbp - 8], 0x2f
movups xmm0, xmmword [str.Requested_data_size_is_0__unhandled.]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029d200]
movups xmmword [rax + 0x10], xmm1
mov edx, dword [0x14029d210]
mov dword [rax + 0x20], edx
mov byte [rax + 0x24], 0
lea r8, [rbp - 0x20]
mov edx, 0xffffffec
lea rcx, [rsi + 0x50]
call fcn.140103fd0
mov ebx, eax
jmp 0x140108dcd
mov rcx, r14
call fcn.1400ca4ec
mov r13, rax
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.140279e10
lea r12, [rsi + 0x130]
mov r8d, 1
mov edx, dword [rsi + 0x118]
mov rcx, qword [r12]
call fcn.1400dac84
mov r8, r15
mov r9, qword [r12]
mov edx, 1
mov rcx, r13
call fcn.1400de218
mov qword [rbp + 0x40], rax
mov rcx, qword [r12]
call fcn.1400d9510
lea r14, [rsi + 0x50]
test eax, eax
je 0x140108bed
mov edx, 0xfffffff9
mov rcx, r14
call fcn.140104070
mov ebx, eax
lea r15, [rsi + 0x130]
jmp 0x140108bf0
mov r15, r12
mov r10, qword [rbp + 0x40]
test r10, r10
jne 0x140108c65
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
lea ecx, [r10 + 0x30]
call fcn.1400c9d40
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], 0x28
mov qword [rbp - 8], 0x2f
movups xmm0, xmmword [0x14029d218]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14029d228]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14029d238]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], 0
lea r8, [rbp - 0x20]
mov edx, 0xfffffffb
mov rcx, r14
call fcn.140103fd0
mov ebx, eax
mov r12, r15
mov r10, qword [rbp + 0x40]
test ebx, ebx
jne 0x140108dc4
xor cl, cl
movzx r8d, byte [rsi + 0x139]
mov r15, qword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
sub r8, 6
je 0x140108cb9
mov r9, r15
sub r9, r14
nop dword [rax + rax]
movzx edx, byte [rdi + r13]
movzx eax, cl
inc rax
cmp r9, rax
jbe 0x140108e23
mov byte [r14 + rax], dl
inc cl
movzx edi, cl
cmp rdi, r8
jb 0x140108c90
lea r12, [rsi + 0x130]
add qword [rsi + 0x120], r10
mov rcx, qword [r12]
call fcn.1400d5218
mov edi, eax
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, qword [r12]
call fcn.1400dac84
mov rcx, qword [r12]
call fcn.1400d5218
mov ebx, eax
xor r8d, r8d
mov edx, edi
mov rcx, qword [r12]
call fcn.1400dac84
imul eax, edi, 0x64
cdq
idiv ebx
mov r12d, eax
movzx edi, al
mov eax, dword [rsi + 0x108]
cmp eax, 3
je 0x140108d23
cmp eax, 4
je 0x140108d23
mov eax, 0x5f
cmp r12b, al
cmovae edi, eax
lea rbx, [rsi + 0xd0]
jmp 0x140108d3b
lea rbx, [rsi + 0xd0]
mov ecx, dword [rbx]
sub ecx, 0xa
je 0x140108d67
sub ecx, 1
je 0x140108d62
cmp ecx, 1
je 0x140108d50
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dil, 0x64
jae 0x140108d5d
jmp 0x140108d77
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dil, 0x64
jmp 0x140108d77
mov dil, 0x63
jmp 0x140108d6a
mov dil, 0x62
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [rsi + 0x10], dil
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r12b, 0x64
jne 0x140108dad
cmp r15, r14
je 0x140108e23
mov byte [r14], 1
mov dword [rsi + 0x108], 1
mov dword [rbx], 7
jmp 0x140108db6
cmp r15, r14
je 0x140108e23
mov byte [r14], 0
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140109e50
mov ebx, eax
mov rcx, r13
call fcn.1400c9d7c
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140108e03
mov rdx, qword [rbp - 0x28]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140108dfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140108e1d
call fcn.1400c9d7c
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400d4b64
nop
call fcn.140008df0
nop
int3