Function at 0x42db40
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rsi, rcx
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x30]
test dl, dl
je 0x42dccf
movzx ecx, dl
cmp ecx, 1
jne 0x42dd7f
mov rcx, qword [rsi]
lea rdi, [rsp + 0xa8]
lea r14, str.Segmentation_fault_at_address_0xx_n
lea rbx, [rsp + 0x30]
xor r12d, r12d
mov r15, qword [rcx + 0x28]
mov qword [rsp + 0xa8], rax
lea rax, [fcn.0040a9a0]
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], rax
nop dword [rax]
cmp r12, 0x20
ja 0x42e18b
mov r9d, 0x20
lea r8, [r14 + r12]
mov rcx, rbx
mov rdx, rdi
sub r9, r12
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e19f
add r12, qword [rsp + 0x30]
jb 0x42e1bd
cmp r12, 0x20
jne 0x42dbc0
vbroadcastss ymm0, dword [0x004513a0]
mov byte [rsp + 0x70], 0xaa
xor edx, edx
mov rax, r15
vmovups ymmword [rsp + 0x50], ymm0
vmovups ymmword [rsp + 0x30], ymm0
mov ecx, r15d
and cl, 0xf
lea r8d, [rcx + 0x30]
lea r9d, [rcx + 0x57]
cmp cl, 0xa
movzx ecx, r8b
movzx r8d, r9b
cmovb r8d, ecx
shr rax, 4
mov byte [rsp + rdx + 0x70], r8b
dec rdx
cmp r15, 0xf
mov r15, rax
ja 0x42dc20
lea rcx, [rsp + rdx + 0x71]
neg rdx
lea r8, [0x00482ed8]
lea r9, [rsp + 0xd0]
vzeroupper
call fcn.0042f5d0
test ax, ax
jne 0x42e19f
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0xa8]
xor r15d, r15d
nop word [rax + rax]
cmp r15, 1
ja 0x42e18b
lea r8, [r15 + r14 + 0x23]
mov r9, r15
xor r9, 1
mov rcx, rdi
mov rdx, rbx
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e19f
add r15, qword [rsp + 0x30]
cmp r15, 1
jne 0x42dc90
jmp 0x42deca
test r8, r8
je 0x42e1e5
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0xa0]
lea rcx, [fcn.0040a9a0]
lea rax, [0x00482ed8]
lea r10, [rsp + 0xc0]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov rcx, r8
mov rdx, r9
mov r8, rax
mov r9, r10
call fcn.0042f5d0
test ax, ax
jne 0x42e19f
lea r15, str.s_n
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0xa0]
xor r14d, r14d
nop
cmp r14, 1
ja 0x42e18b
lea r8, [r14 + r15 + 3]
mov r9, r14
xor r9, 1
mov rcx, rdi
mov rdx, rbx
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e19f
add r14, qword [rsp + 0x30]
cmp r14, 1
jne 0x42dd40
jmp 0x42deca
mov rcx, qword [rsi + 8]
lea rdi, [rsp + 0xb0]
lea r14, str.Illegal_instruction_at_address_0xx_n
lea rbx, [rsp + 0x30]
xor r12d, r12d
mov r15, qword [rcx + 0xf8]
mov qword [rsp + 0xb0], rax
lea rax, [fcn.0040a9a0]
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], rax
cmp r12, 0x21
ja 0x42e18b
mov r9d, 0x21
lea r8, [r14 + r12]
mov rcx, rbx
mov rdx, rdi
sub r9, r12
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e19f
add r12, qword [rsp + 0x30]
jb 0x42e1bd
cmp r12, 0x21
jne 0x42ddc0
vbroadcastss ymm0, dword [0x004513a0]
mov byte [rsp + 0x70], 0xaa
xor edx, edx
mov rax, r15
vmovups ymmword [rsp + 0x50], ymm0
vmovups ymmword [rsp + 0x30], ymm0
mov ecx, r15d
and cl, 0xf
lea r8d, [rcx + 0x30]
lea r9d, [rcx + 0x57]
cmp cl, 0xa
movzx ecx, r8b
movzx r8d, r9b
cmovb r8d, ecx
shr rax, 4
mov byte [rsp + rdx + 0x70], r8b
dec rdx
cmp r15, 0xf
mov r15, rax
ja 0x42de20
lea rcx, [rsp + rdx + 0x71]
neg rdx
lea r8, [0x00482ed8]
lea r9, [rsp + 0xe0]
vzeroupper
call fcn.0042f5d0
test ax, ax
jne 0x42e19f
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0xb0]
xor r15d, r15d
nop word [rax + rax]
cmp r15, 1
ja 0x42e18b
lea r8, [r15 + r14 + 0x24]
mov r9, r15
xor r9, 1
mov rcx, rdi
mov rdx, rbx
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e19f
add r15, qword [rsp + 0x30]
cmp r15, 1
jne 0x42de90
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rsi, qword [rsi + 8]
cmp byte [0x004880a8], 0
mov rax, qword [rax + 0x20]
mov r14, qword [rax + 0x30]
mov qword [rsp + 0xb8], r14
je 0x42df54
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0xf0]
mov rcx, rdi
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xf0], rax
vzeroupper
call fcn.00427c60
lea rax, [0x00482fd0]
lea rdx, [0x00488058]
lea rcx, [rsp + 0xb8]
mov r8, rdi
mov r9, rsi
mov qword [rsp + 0x20], rax
call fcn.00427df0
jmp 0x42e0c1
cmp byte [0x004880c0], 0
je 0x42df70
vmovups xmm0, xmmword [0x004880b0]
vmovaps xmmword [rsp + 0x90], xmm0
jmp 0x42dfc9
vmovups xmm0, xmmword [0x00482940]
lea rax, [0x004880c8]
lea rcx, fcn.004081f0
mov qword [0x004880b0], rax
mov qword [0x004880b8], rcx
mov qword [rsp + 0x90], rax
mov byte [0x004880c0], 1
mov qword [rsp + 0x98], rcx
vmovaps xmmword [rsp + 0x30], xmm0
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x40], xmm0
vmovups ymm0, ymmword [rsp + 0x30]
vmovups ymmword [0x004880c8], ymm0
lea rdi, [rsp + 0x90]
lea rcx, [rsp + 0x30]
mov rdx, rdi
vzeroupper
call fcn.0040d970
movsx rax, word [rsp + 0x80]
test rax, rax
je 0x42e0d2
shl rax, 4
lea rcx, [0x004834c0]
mov qword [rsp + 0x90], r14
lea r15, str.Unable_to_dump_stack_trace:_Unable_to_open_debug_info:_s_n
lea r14, [rsp + 0x30]
mov qword [rsp + 0xf0], rdi
xor r12d, r12d
mov rsi, qword [rax + rcx]
mov rbx, qword [rax + rcx + 8]
lea rax, [fcn.0040a9a0]
mov qword [rsp + 0xf8], rax
nop word cs:[rax + rax]
cmp r12, 0x37
ja 0x42e18b
mov r9d, 0x37
lea r8, [r15 + r12]
mov rcx, r14
mov rdx, rdi
sub r9, r12
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e0a0
add r12, qword [rsp + 0x30]
jb 0x42e1bd
cmp r12, 0x37
jne 0x42e040
lea r8, [0x00482ed8]
lea r9, [rsp + 0xf0]
mov rcx, rsi
mov rdx, rbx
call fcn.0042f5d0
test ax, ax
je 0x42e135
cmp ax, 0x2b
ja 0x42e1d1
movzx eax, ax
movabs rcx, 0xf0f49810880
bt rcx, rax
jae 0x42e1d1
add rsp, 0x148
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
vmovups ymm2, ymmword [rsp + 0x60]
vmovups ymm1, ymmword [rsp + 0x50]
vmovups ymm0, ymmword [rsp + 0x30]
vmovups ymmword [rsp + 0x120], ymm2
vmovups ymmword [rsp + 0x110], ymm1
vmovups ymmword [rsp + 0xf0], ymm0
vmovups ymmword [0x00488058], ymm0
vmovups ymm0, ymmword [rsp + 0x110]
vmovups ymm1, ymmword [rsp + 0x120]
vmovups ymmword [0x00488078], ymm0
vmovups ymmword [0x00488088], ymm1
mov byte [0x004880a8], 1
jmp 0x42def4
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x90]
xor ebx, ebx
nop word cs:[rax + rax]
cmp rbx, 1
ja 0x42e18b
lea r8, [rbx + r15 + 0x3a]
mov r9, rbx
xor r9, 1
mov rcx, rsi
mov rdx, rdi
call fcn.00402790
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x42e0a0
add rbx, qword [rsp + 0x30]
cmp rbx, 1
jne 0x42e150
jmp 0x42e0c1
lea rcx, str.start_index_is_larger_than_end_index
mov edx, 0x24
xor r9d, r9d
call fcn.00401000
cmp ax, 0x2b
ja 0x42e1d1
movzx eax, ax
movabs rcx, 0xf0f49810880
bt rcx, rax
jae 0x42e1d1
call fcn.0040a9e0
lea rcx, str.integer_overflow
mov edx, 0x10
xor r9d, r9d
call fcn.00401000
lea rcx, str.invalid_error_code
mov edx, 0x12
xor r9d, r9d
call fcn.00401000
lea rcx, str.attempt_to_use_null_value
mov edx, 0x19
xor r9d, r9d
call fcn.00401000
int3