Function at 0x4208e0
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
mov rsi, rcx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x30]
test dl, dl
je 0x420a82
movzx ecx, dl
cmp ecx, 1
jne 0x420b42
mov rcx, qword [rsi]
mov r15, qword [rcx + 0x28]
mov qword [rsp + 0xa8], rax
lea rdi, [rsp + 0xa8]
mov qword [rsp + 0xd0], rdi
lea rax, [fcn.00402260]
mov qword [rsp + 0xd8], rax
xor r12d, r12d
lea r14, str.Segmentation_fault_at_address_0xx_n
lea rbx, [rsp + 0x30]
nop dword [rax]
cmp r12, 0x20
ja 0x420f4e
lea r8, [r14 + r12]
mov r9d, 0x20
sub r9, r12
mov rcx, rbx
mov rdx, rdi
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420f62
add r12, qword [rsp + 0x30]
jb 0x420f81
cmp r12, 0x20
jne 0x420960
movaps xmm0, xmmword [0x004449b0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x70], 0xaa
xor edx, edx
mov rax, r15
nop word cs:[rax + rax]
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
mov byte [rsp + rdx + 0x70], r8b
shr rax, 4
add rdx, 0xffffffffffffffff
cmp r15, 0xf
mov r15, rax
ja 0x4209d0
lea rcx, [rsp + rdx]
add rcx, 0x71
neg rdx
lea r8, [0x00476690]
lea r9, [rsp + 0xd0]
call fcn.00422a70
test ax, ax
jne 0x420f62
xor r15d, r15d
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0xa8]
nop dword [rax + rax]
cmp r15, 1
ja 0x420f4e
lea r8, [r15 + r14]
add r8, 0x23
mov r9, r15
xor r9, 1
mov rcx, rdi
mov rdx, rbx
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420f62
add r15, qword [rsp + 0x30]
cmp r15, 1
jne 0x420a40
jmp 0x420cad
test r8, r8
je 0x420f95
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xc0], rax
lea rax, [fcn.00402260]
mov qword [rsp + 0xc8], rax
lea rax, [0x00476690]
lea r10, [rsp + 0xc0]
mov rcx, r8
mov rdx, r9
mov r8, rax
mov r9, r10
call fcn.00422a70
test ax, ax
jne 0x420f62
xor r14d, r14d
lea r15, str.s_n
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0xa0]
nop word cs:[rax + rax]
nop dword [rax]
cmp r14, 1
ja 0x420f4e
lea r8, [r14 + r15]
add r8, 3
mov r9, r14
xor r9, 1
mov rcx, rdi
mov rdx, rbx
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420f62
add r14, qword [rsp + 0x30]
cmp r14, 1
jne 0x420b00
jmp 0x420cad
mov rcx, qword [rsi + 8]
mov r15, qword [rcx + 0xf8]
mov qword [rsp + 0xb0], rax
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0xe0], rdi
lea rax, [fcn.00402260]
mov qword [rsp + 0xe8], rax
xor r12d, r12d
lea r14, str.Illegal_instruction_at_address_0xx_n
lea rbx, [rsp + 0x30]
nop word cs:[rax + rax]
nop dword [rax]
cmp r12, 0x21
ja 0x420f4e
lea r8, [r14 + r12]
mov r9d, 0x21
sub r9, r12
mov rcx, rbx
mov rdx, rdi
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420f62
add r12, qword [rsp + 0x30]
jb 0x420f81
cmp r12, 0x21
jne 0x420b90
movaps xmm0, xmmword [0x004449b0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x70], 0xaa
xor edx, edx
mov rax, r15
nop word cs:[rax + rax]
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
mov byte [rsp + rdx + 0x70], r8b
shr rax, 4
add rdx, 0xffffffffffffffff
cmp r15, 0xf
mov r15, rax
ja 0x420c00
lea rcx, [rsp + rdx]
add rcx, 0x71
neg rdx
lea r8, [0x00476690]
lea r9, [rsp + 0xe0]
call fcn.00422a70
test ax, ax
jne 0x420f62
xor r15d, r15d
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0xb0]
nop dword [rax + rax]
cmp r15, 1
ja 0x420f4e
lea r8, [r15 + r14]
add r8, 0x24
mov r9, r15
xor r9, 1
mov rcx, rdi
mov rdx, rbx
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420f62
add r15, qword [rsp + 0x30]
cmp r15, 1
jne 0x420c70
mov rsi, qword [rsi + 8]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov r14, qword [rax + 0x30]
mov qword [rsp + 0xb8], r14
cmp byte [0x0047c0f8], 0
je 0x420d34
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xf0], rax
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0xf0]
mov rcx, rdi
call fcn.0041ce40
lea rax, [0x004768d0]
mov qword [rsp + 0x20], rax
lea rdx, [0x0047c0a8]
lea rcx, [rsp + 0xb8]
mov r8, rdi
mov r9, rsi
call fcn.0041cfc0
jmp 0x420e7a
cmp byte [0x0047c110], 0
je 0x420d4e
movups xmm0, xmmword [0x0047c100]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x420da3
movups xmm0, xmmword [0x004461c0]
movaps xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movaps xmmword [rsp + 0x40], xmm1
movups xmmword [0x0047c118], xmm0
movups xmmword [0x0047c128], xmm1
lea rax, [0x0047c118]
mov qword [0x0047c100], rax
lea rcx, [0x004464f8]
mov qword [0x0047c108], rcx
mov byte [0x0047c110], 1
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x30]
lea rdi, [rsp + 0x90]
mov rdx, rdi
call fcn.00402f60
movsx rax, word [rsp + 0x80]
test rax, rax
je 0x420e8b
shl rax, 4
lea rcx, [0x00476e88]
mov rsi, qword [rax + rcx]
mov rbx, qword [rax + rcx + 8]
mov qword [rsp + 0x90], r14
mov qword [rsp + 0xf0], rdi
lea rax, [fcn.00402260]
mov qword [rsp + 0xf8], rax
xor r12d, r12d
lea r15, str.Unable_to_dump_stack_trace:_Unable_to_open_debug_info:_s_n
lea r14, [rsp + 0x30]
nop dword [rax]
cmp r12, 0x37
ja 0x420f4e
lea r8, [r15 + r12]
mov r9d, 0x37
sub r9, r12
mov rcx, r14
mov rdx, rdi
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420e70
add r12, qword [rsp + 0x30]
jb 0x420f81
cmp r12, 0x37
jne 0x420e10
lea r8, [0x00476690]
lea r9, [rsp + 0xf0]
mov rcx, rsi
mov rdx, rbx
call fcn.00422a70
test ax, ax
je 0x420efb
cmp ax, 0x10
jae 0x420f6d
add rsp, 0x148
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x130], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmm2, xmmword [rsp + 0x40]
movups xmm3, xmmword [rsp + 0x50]
movups xmm4, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x120], xmm4
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movups xmmword [0x0047c0a8], xmm1
movups xmmword [0x0047c0b8], xmm2
movups xmmword [0x0047c0c8], xmm3
movups xmmword [0x0047c0d8], xmm4
movups xmmword [0x0047c0e8], xmm0
mov byte [0x0047c0f8], 1
jmp 0x420cd7
xor ebx, ebx
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x90]
nop word [rax + rax]
cmp rbx, 1
ja 0x420f4e
lea r8, [rbx + r15]
add r8, 0x3a
mov r9, rbx
xor r9, 1
mov rcx, rsi
mov rdx, rdi
call fcn.00402260
movzx eax, word [rsp + 0x38]
test ax, ax
jne 0x420e70
add rbx, qword [rsp + 0x30]
cmp rbx, 1
jne 0x420f10
jmp 0x420e7a
lea rcx, str.start_index_is_larger_than_end_index
mov edx, 0x24
xor r9d, r9d
call fcn.00402230
cmp ax, 0x10
jae 0x420f6d
call fcn.00402c70
lea rcx, str.invalid_error_code
mov edx, 0x12
xor r9d, r9d
call fcn.00402230
lea rcx, str.integer_overflow
mov edx, 0x10
xor r9d, r9d
call fcn.00402230
lea rcx, str.attempt_to_use_null_value
mov edx, 0x19
xor r9d, r9d
call fcn.00402230
int3