Function at 0x14001c0e0
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x38], rdx
lea rax, [rcx + 0x18]
mov rdi, qword [rcx + 0x28]
cmp dword [rcx], 1
mov r15, qword [rcx + 0x50]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x78], rax
jne 0x14001c179
mov rsi, rcx
test rdi, rdi
js 0x14001c1e0
cvtsi2ss xmm0, rdi
test r15, r15
jns 0x14001c200
mov rax, r15
shr rax, 1
mov ecx, r15d
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x140121750]
jb 0x14001c216
mov qword [rsi], 0
add r15, r15
mov rcx, rsi
mov rdx, r15
call fcn.14002aa40
test al, al
jne 0x14001c1b0
jmp 0x14001c4d9
mov rax, r15
shr rax, 2
mov rcx, r15
sub rcx, rax
cmp rdi, rcx
jne 0x14001c4d9
test rdi, rdi
je 0x14001c3d2
add r15, r15
mov rcx, qword [rsp + 0x30]
mov rdx, r15
call fcn.14002aa40
test al, al
je 0x14001c4d9
mov r8, qword [rsp + 0x48]
lea rcx, [r8 + 0x18]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
call qword [rax + 0x20]
mov r8, qword [rsp + 0x38]
mov rax, qword [r8]
mov sil, 2
test rax, rax
jne 0x14001ca62
jmp 0x14001ca71
mov rax, rdi
shr rax, 1
mov ecx, edi
and ecx, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
test r15, r15
js 0x14001c132
cvtsi2ss xmm1, r15
divss xmm0, xmm1
ucomiss xmm0, dword [0x140121750]
jae 0x14001c15b
mov eax, dword [0x14017dea4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
test byte [rax + 0x58], 1
je 0x14001ca87
mov qword [rsi], 2
mov eax, dword [0x14017dea4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movups xmm0, xmmword [rax + 0x60]
inc qword [rax + 0x60]
movups xmmword [rsi + 8], xmm0
mov rsi, qword [rsi + 0x48]
test r15, r15
je 0x14001c2cf
lea rax, [r15 - 1]
movabs rcx, 0x3fffffffffffffff
and rcx, rax
mov rax, rsi
cmp rcx, 6
jbe 0x14001c2b9
inc rcx
mov rdx, rcx
and rdx, 0xfffffffffffffff8
lea rax, [rsi + rdx*4]
xor r8d, r8d
movaps xmm0, xmmword [0x140121740]
nop dword [rax]
movups xmmword [rsi + r8*4], xmm0
movups xmmword [rsi + r8*4 + 0x10], xmm0
add r8, 8
cmp rdx, r8
jne 0x14001c2a0
cmp rcx, rdx
je 0x14001c2cf
lea rcx, [rsi + r15*4]
nop dword [rax]
mov dword [rax], 0xffff
add rax, 4
cmp rax, rcx
jne 0x14001c2c0
test rdi, rdi
je 0x14001c4d9
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x20]
imul rdi, rdi, 0x68
add rdi, rbx
movzx eax, word [rax + 0x58]
movzx r14d, ax
xor r12d, r12d
jmp 0x14001c313
mov word [rsi + rcx*4], r13w
mov word [rsi + rcx*4 + 2], ax
cmp rbx, rdi
je 0x14001c4d9
mov r13, r12
mov rbp, rbx
add rbx, 0x68
inc r12
lea rdx, [rbp + 0x40]
mov rcx, qword [rsp + 0x30]
call fcn.140035d40
mov r8d, eax
and r8d, r14d
mov word [rbp + 0x60], ax
xor edx, edx
nop word [rax + rax]
mov rcx, r8
mov r8d, 0
cmp rcx, r15
jae 0x14001c340
cmp word [rsi + rcx*4], 0xffff
je 0x14001c300
movzx r8d, word [rsi + rcx*4 + 2]
and r8d, r14d
mov r9d, ecx
sub r9d, r8d
mov r8d, r14d
and r8d, r9d
cmp r8, rdx
jb 0x14001c3a0
inc rdx
inc rcx
mov r8, rcx
jmp 0x14001c340
movzx r8d, word [rsi + rdx*4 + 2]
mov word [rsi + rdx*4], r13w
mov word [rsi + rdx*4 + 2], ax
inc rdx
mov eax, r8d
mov r13d, ecx
mov rcx, rdx
nop word cs:[rax + rax]
mov rdx, rcx
mov ecx, 0
cmp rdx, r15
jae 0x14001c3a0
movzx ecx, word [rsi + rdx*4]
cmp cx, 0xffff
jne 0x14001c37a
mov word [rsi + rdx*4], r13w
mov rcx, rdx
mov word [rsi + rcx*4 + 2], ax
cmp rbx, rdi
jne 0x14001c313
jmp 0x14001c4d9
mov r12, qword [rsp + 0x30]
mov word [r12 + 0x58], 7
movzx eax, byte [0x14017dea0]
mov edx, 0x20
xor ecx, ecx
call fcn.1400f8170
test rax, rax
je 0x14001cab5
mov rdi, rax
movaps xmm0, xmmword [0x140121740]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
test r15, r15
je 0x14001c425
mov r8, qword [r12 + 0x48]
mov rcx, qword [0x14017de28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x48], rdi
mov qword [r12 + 0x50], 8
movzx eax, byte [0x14017dea0]
mov edx, 0x270
xor ecx, ecx
call fcn.1400f8170
test rax, rax
je 0x14001cac4
mov rdi, rax
mov rbx, qword [r12 + 0x20]
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x14001c4a5
lea r14, [rbx + 0x30]
jmp 0x14001c48b
mov rax, qword [r14 - 0x18]
mov rdx, qword [r14 - 0x10]
mov r8, qword [r14 - 8]
mov rcx, r14
call qword [rax + 0x20]
add r14, 0x68
dec rsi
je 0x14001c4a5
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x14001c470
lea rcx, [r14 + 0x28]
mov rdx, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
call qword [rax + 0x20]
jmp 0x14001c470
mov rax, qword [rsp + 0x78]
cmp qword [rax], 0
je 0x14001c4c2
mov rcx, qword [0x14017de28]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r12 + 0x18], 6
mov qword [r12 + 0x20], rdi
mov qword [r12 + 0x28], 0
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov r15, qword [rsp + 0x38]
mov rdx, r15
call fcn.140035d40
mov ebx, eax
movzx eax, ax
movzx r14d, word [rsi + 0x58]
mov r13d, r14d
mov dword [rsp + 0x44], eax
and r13d, eax
mov r12, qword [rsi + 0x50]
mov rdi, qword [rsi + 0x48]
mov r10, qword [rsi + 0x20]
mov r9, qword [rsi + 0x28]
mov r8, qword [r15]
mov rax, qword [r15 + 8]
mov qword [rsp + 0x108], rax
movzx r11d, byte [r15 + 8]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0xa8], rax
xor esi, esi
mov qword [rsp + 0x120], r9
mov qword [rsp + 0x118], r10
mov qword [rsp + 0x110], r8
mov byte [rsp + 0x2f], r11b
jmp 0x14001c566
cmp byte [rax + 8], r11b
je 0x14001c634
nop dword [rax]
inc rsi
inc r13
mov rax, r13
nop dword [rax]
mov r13, rax
mov eax, 0
cmp r13, r12
jae 0x14001c570
movzx ebp, word [rdi + r13*4]
cmp rbp, 0xffff
je 0x14001c6f9
movzx eax, word [rdi + r13*4 + 2]
mov ecx, r14d
and ecx, eax
mov edx, r13d
sub edx, ecx
and edx, r14d
cmp rdx, rsi
jb 0x14001c816
cmp ax, bx
jne 0x14001c560
cmp r9, rbp
jbe 0x14001ca91
test r8, r8
sete al
imul r15, rbp, 0x68
mov rcx, qword [r10 + r15 + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x14001c560
lea rax, [r10 + r15]
add rax, 0x40
test rcx, rcx
je 0x14001c553
mov rcx, qword [rsp + 0xa8]
cmp qword [rax + 0x10], rcx
jne 0x14001c560
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x108]
mov r8, qword [rsp + 0xa8]
call sub.VCRUNTIME140.dll_memcmp
movzx r11d, byte [rsp + 0x2f]
mov r8, qword [rsp + 0x110]
mov r10, qword [rsp + 0x118]
mov r9, qword [rsp + 0x120]
test eax, eax
jne 0x14001c560
lea rsi, [r10 + r15]
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx + 0x30]
mov r8, qword [rsp + 0x48]
mov rax, qword [r8 + 0x20]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
test byte [r10 + r15], 1
je 0x14001c9e6
mov rdi, qword [rsi + 0x10]
mov rbx, qword [rdx + 0x40]
cmp rbx, qword [rdx + 0x30]
jne 0x14001c680
call fcn.14003bd40
mov r8, qword [rsp + 0x30]
mov rax, qword [r8 + 0x38]
lea rcx, [rbx + rbx*8]
mov qword [rax + rcx*8], 1
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], 0
mov qword [rax + rcx*8 + 0x18], rbp
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [rax + rcx*8 + 0x20], xmm0
movups xmmword [rax + rcx*8 + 0x30], xmm1
mov rdx, qword [rsp + 0x70]
mov qword [rax + rcx*8 + 0x40], rdx
lea rdx, [rbx + 1]
mov qword [r8 + 0x40], rdx
cmp rdi, rdx
jae 0x14001cad3
lea rcx, [rdi + rdi*8]
mov qword [rax + rcx*8 + 0x10], 1
mov qword [rax + rcx*8 + 0x18], rbx
mov qword [rsi], 1
mov qword [rsi + 0x10], rbx
jmp 0x14001ca52
mov rcx, qword [rsp + 0x38]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
cmp r9, 0x7fff
mov edi, dword [rsp + 0x44]
ja 0x14001c87e
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x78]
cmp r9, qword [rcx]
mov rsi, qword [rsp + 0x30]
jne 0x14001c7a1
mov rbx, r9
call fcn.14002bbe0
mov r9, rbx
mov r10, qword [rsi + 0x20]
mov r12, qword [rsi + 0x50]
imul rax, r9, 0x68
mov qword [r10 + rax], 0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [r10 + rax + 0x18], xmm0
movups xmmword [r10 + rax + 0x28], xmm1
mov rcx, qword [rsp + 0x70]
mov qword [r10 + rax + 0x38], rcx
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [r10 + rax + 0x40], xmm0
movups xmmword [r10 + rax + 0x50], xmm1
mov word [r10 + rax + 0x60], di
lea rax, [r9 + 1]
mov qword [rsi + 0x28], rax
cmp r13, r12
jae 0x14001caa3
mov rax, qword [rsi + 0x48]
mov word [rax + r13*4], r9w
mov word [rax + r13*4 + 2], di
xor esi, esi
jmp 0x14001ca71
cmp rsi, 0x200
setae bl
mov r14, qword [rsp + 0x30]
cmp qword [r14], 2
setne sil
mov rcx, qword [rsp + 0x38]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
cmp r9, 0x7fff
mov ebp, dword [rsp + 0x44]
jbe 0x14001c8d1
lea rcx, [rsp + 0xc8]
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14001c8c9
lea rcx, [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
call qword [rax + 0x20]
mov sil, 2
jmp 0x14001ca71
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x78]
cmp r9, qword [rcx]
jne 0x14001c923
mov rdi, r9
call fcn.14002bbe0
mov r9, rdi
mov r10, qword [r14 + 0x20]
mov rdi, qword [r14 + 0x48]
mov r12, qword [r14 + 0x50]
and bl, sil
imul rax, r9, 0x68
mov qword [r10 + rax], 0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [r10 + rax + 0x18], xmm0
movups xmmword [r10 + rax + 0x28], xmm1
mov rcx, qword [rsp + 0x70]
mov qword [r10 + rax + 0x38], rcx
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [r10 + rax + 0x40], xmm0
movups xmmword [r10 + rax + 0x50], xmm1
mov word [r10 + rax + 0x60], bp
lea rax, [r9 + 1]
mov qword [r14 + 0x28], rax
xor eax, eax
nop
mov rcx, r13
mov r13d, 0
cmp rcx, r12
jae 0x14001c980
movzx edx, word [rdi + rcx*4]
cmp dx, 0xffff
je 0x14001c9b9
inc rax
movzx r8d, word [rdi + rcx*4 + 2]
mov word [rdi + rcx*4], r9w
mov word [rdi + rcx*4 + 2], bp
inc rcx
mov ebp, r8d
mov r9d, edx
mov r13, rcx
jmp 0x14001c980
mov word [rdi + rcx*4], r9w
mov word [rdi + rcx*4 + 2], bp
cmp rax, 0x80
setb al
not bl
test bl, al
jne 0x14001c9df
cmp qword [r14], 0
jne 0x14001c9df
mov qword [r14], 1
xor esi, esi
jmp 0x14001ca71
mov rdi, qword [rdx + 0x40]
cmp rdi, qword [rdx + 0x30]
jne 0x14001c9f5
call fcn.14003bd40
mov r8, qword [rsp + 0x30]
mov rax, qword [r8 + 0x38]
lea rcx, [rdi + rdi*8]
mov qword [rax + rcx*8], 0
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], 0
mov qword [rax + rcx*8 + 0x18], rbp
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [rax + rcx*8 + 0x20], xmm0
movups xmmword [rax + rcx*8 + 0x30], xmm1
mov rdx, qword [rsp + 0x70]
mov qword [rax + rcx*8 + 0x40], rdx
lea rax, [rdi + 1]
mov qword [r8 + 0x40], rax
mov qword [rsi], 1
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov r8, qword [rsp + 0x38]
mov rax, qword [r8]
mov sil, 1
test rax, rax
je 0x14001ca71
lea rcx, [r8 + 0x18]
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
call qword [rax + 0x20]
mov eax, esi
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14011a140
jmp 0x14001c236
lea r8, str.C:UsersMrtn.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.12_srcheadermap.rssize_overflows_MAX_SIZE
mov rcx, rbp
mov rdx, r9
call fcn.140118ba0
lea r8, str.C:UsersMrtn.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.12_srcheadermap.rssize_overflows_MAX_SIZE
mov rcx, r13
mov rdx, r12
call fcn.140118ba0
mov ecx, 2
mov edx, 0x20
call fcn.140118730
mov ecx, 8
mov edx, 0x270
call fcn.140118730
lea r8, str.C:UsersMrtn.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.12_srcheadermap.rssize_overflows_MAX_SIZE
mov rcx, rdi
call fcn.140118ba0
int3