Function at 0x1400c8d50
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x760
mov rax, qword [rsp + 0x790]
add rax, 0x38
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x790]
movzx eax, word [rax]
cmp eax, 0x16
je 0x1400c8e30
mov rax, qword [rsp + 0x790]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0x790]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea r8, str.invalid_node
mov r9d, 0x10
imul r9, r9, 0x16
lea r10, str.invalid_node
mov r11d, 0x10
imul r11, r11, 0x16
lea rbx, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x40], rax
mov eax, dword [r8 + rdx + 8]
mov dword [rsp + 0x38], eax
mov rax, qword [r10 + r9]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + r11 + 8]
mov dword [rsp + 0x28], eax
lea rax, str.expected__.s_got__.s
mov qword [rsp + 0x20], rax
mov r9d, 0x1a26
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str._call___kind__GB_JOIN2_Ast___CallExpr_
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400c8d7d
mov rax, qword [rsp + 0x788]
mov rax, qword [rax + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x78]
call fcn.140071af0
movzx eax, al
test eax, eax
jne 0x1400c8e86
mov qword [rsp + 0x20], 0
mov r9d, 0x1a29
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str.is_type_polymorphic_record_original_type_
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400c8e4b
mov byte [rsp + 0x50], 1
lea rax, [rsp + 0x268]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x3c0]
call fcn.1400ca970
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.140216350
nop
mov byte [rsp + 0x58], 0
mov rax, qword [rsp + 0x780]
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x258], rax
call fcn.140045d20
mov rcx, qword [rsp + 0x780]
mov qword [rcx + 0x98], rax
lea r8, [rsp + 0x258]
lea rdx, [rsp + 0x780]
lea rcx, [rsp + 0x460]
call fcn.1400caa60
mov rdx, rax
lea rcx, [rsp + 0x2f0]
call fcn.14021ae50
nop
mov rcx, qword [rsp + 0x88]
call fcn.1400c3620
movzx eax, al
test eax, eax
je 0x1400c9287
mov byte [rsp + 0x58], 1
lea rcx, [rsp + 0x470]
call fcn.140011450
lea rcx, [rsp + 0x3c8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
lea rdx, [rsp + 0x3c8]
lea rcx, [rsp + 0x6a8]
call fcn.1400c2d60
lea rcx, [rsp + 0x480]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x268]
lea rcx, [rsp + 0x480]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0xc0], 0
jmp 0x1400c8fdc
mov rax, qword [rsp + 0xc0]
inc rax
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0xc0], rax
jge 0x1400c9229
mov rax, qword [rsp + 0x88]
add rax, 8
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x188]
add rax, 0x38
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x188]
movzx eax, word [rax]
cmp eax, 0x17
je 0x1400c90e2
mov rax, qword [rsp + 0x188]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0x188]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea rbx, str.invalid_node
mov edi, 0x10
imul rdi, rdi, 0x17
lea rsi, str.invalid_node
mov r8d, 0x10
imul r8, r8, 0x17
lea r9, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + rdx + 8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsi + rdi]
mov qword [rsp + 0x30], rax
mov eax, dword [r9 + r8 + 8]
mov dword [rsp + 0x28], eax
lea rax, str.expected__.s_got__.s
mov qword [rsp + 0x20], rax
mov r9d, 0x1a3f
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str._arg___kind__GB_JOIN2_Ast___FieldValue_
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400c9031
mov rax, qword [rsp + 0x160]
mov rax, qword [rax + 0x28]
movzx eax, word [rax]
cmp eax, 1
jne 0x1400c91f0
mov rax, qword [rsp + 0x160]
mov rax, qword [rax + 0x28]
lea rcx, [rsp + 0x2c0]
mov rdi, rcx
lea rsi, [rax + 0x40]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2d0]
lea rcx, [rsp + 0x2c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d0]
mov rcx, qword [rsp + 0x78]
call fcn.1400c8c30
mov qword [rsp + 0x260], rax
cmp qword [rsp + 0x260], 0
jl 0x1400c91f0
mov rcx, qword [rsp + 0x78]
call fcn.140071ce0
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x238]
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
cmp dword [rax], 1
jne 0x1400c91f0
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x268]
call fcn.14021c320
mov rcx, qword [rsp + 0x230]
mov r9, qword [rcx + 0x50]
mov rcx, qword [rsp + 0x160]
mov r8, qword [rcx + 0x30]
mov rdx, rax
mov rcx, qword [rsp + 0x780]
call fcn.14008e4b0
jmp 0x1400c8fc9
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x268]
call fcn.14021c320
xor r9d, r9d
mov rcx, qword [rsp + 0x160]
mov r8, qword [rcx + 0x30]
mov rdx, rax
mov rcx, qword [rsp + 0x780]
call fcn.14007b660
jmp 0x1400c8fc9
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x88], 0
je 0x1400c9247
mov dword [rsp + 0xf8], 1
jmp 0x1400c9252
mov dword [rsp + 0xf8], 0
movzx eax, byte [rsp + 0xf8]
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x1400c9282
mov rax, qword [rsp + 0x88]
add rax, 0x68
lea rdx, str.Invalid_use_of_.._in_a_polymorphic_type_call
mov rcx, rax
call fcn.140023790
jmp 0x1400c93a0
lea rcx, [rsp + 0x3f0]
call fcn.140011450
lea rcx, [rsp + 0x2e0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
shl rax, 1
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x630]
call fcn.1400af920
lea rcx, [rsp + 0x4a8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x268]
lea rcx, [rsp + 0x4a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x1e0], 0
mov qword [rsp + 0x1d8], 0xffffffffffffffff
mov rcx, qword [rsp + 0x78]
call fcn.140071ce0
mov qword [rsp + 0x1b0], rax
cmp qword [rsp + 0x1b0], 0
je 0x1400c9361
mov rax, qword [rsp + 0x1b0]
mov rax, qword [rax]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x1b0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x88]
add rax, 8
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x268]
mov r8, qword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x780]
call fcn.1400c07a0
nop
lea rcx, [rsp + 0x2f0]
call fcn.1400caae0
mov dword [rsp + 0x54], 0
mov rcx, qword [rsp + 0x78]
call fcn.140071ce0
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb8], rax
jmp 0x1400c93fa
mov rax, qword [rsp + 0xb8]
dec rax
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
jle 0x1400c944f
mov rax, qword [rsp + 0xb8]
dec rax
mov rcx, qword [rsp + 0x118]
mov rdx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1e8]
cmp dword [rax], 1
je 0x1400c943a
jmp 0x1400c944f
mov rax, qword [rsp + 0x1e8]
cmp dword [rax + 0xf0], 0
jne 0x1400c944d
jmp 0x1400c944f
jmp 0x1400c93e7
lea rax, [rsp + 0x138]
lea rcx, [rsp + 0x268]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x58]
test eax, eax
jne 0x1400c9504
lea rcx, [rsp + 0x400]
call fcn.140017460
lea rcx, [rsp + 0x300]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x300]
lea rcx, [rsp + 0x658]
call fcn.1400c2d60
lea rcx, [rsp + 0x4d0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x138]
lea rcx, [rsp + 0x4d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
xor r8d, r8d
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x138]
call fcn.1400cab10
jmp 0x1400c9a5f
mov eax, 0x10
mov eax, eax
mov ecx, dword [0x1402ca580]
mov rdx, qword gs:[0x58]
add rax, qword [rdx + rcx*8]
mov rdx, rax
lea rcx, [rsp + 0x3d8]
call fcn.14021bc90
nop
lea rcx, [rsp + 0x410]
call fcn.1400174d0
lea rcx, [rsp + 0x310]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x320]
lea rcx, [rsp + 0x310]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x320]
call fcn.14021e140
mov qword [rsp + 0x1c0], rax
lea rcx, [rsp + 0x420]
call fcn.140017460
lea rcx, [rsp + 0x330]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0x680]
call fcn.1400c2d60
lea rcx, [rsp + 0x4f8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x138]
lea rcx, [rsp + 0x4f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x100], 0
jmp 0x1400c9617
mov rax, qword [rsp + 0x100]
inc rax
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x100], rax
jge 0x1400c98ed
mov rax, qword [rsp + 0x88]
add rax, 8
mov rdx, qword [rsp + 0x100]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
add rax, 0x38
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax]
cmp eax, 0x17
je 0x1400c971d
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0xd8]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea rbx, str.invalid_node
mov edi, 0x10
imul rdi, rdi, 0x17
lea rsi, str.invalid_node
mov r8d, 0x10
imul r8, r8, 0x17
lea r9, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + rdx + 8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsi + rdi]
mov qword [rsp + 0x30], rax
mov eax, dword [r9 + r8 + 8]
mov dword [rsp + 0x28], eax
lea rax, str.expected__.s_got__.s
mov qword [rsp + 0x20], rax
mov r9d, 0x1a85
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str._arg___kind__GB_JOIN2_Ast___FieldValue_
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400c966c
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax + 0x28]
movzx eax, word [rax]
cmp eax, 1
je 0x1400c9793
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400c9786
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [rax + 0x28]
call fcn.140041350
mov qword [rsp + 0x1f0], rax
mov r8, qword [rsp + 0x1f0]
lea rdx, str.Invalid_parameter_name__s_in_polymorphic_type_call
mov rcx, qword [rsp + 0xd8]
call fcn.14004b9f0
mov rcx, qword [rsp + 0x1f0]
call fcn.14021fa10
mov dword [rsp + 0x54], 0xa
jmp 0x1400c9604
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax + 0x28]
lea rcx, [rsp + 0x220]
mov rdi, rcx
lea rsi, [rax + 0x40]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x340]
lea rcx, [rsp + 0x220]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x340]
mov rcx, qword [rsp + 0x78]
call fcn.1400c8c30
mov qword [rsp + 0x168], rax
cmp qword [rsp + 0x168], 0
jge 0x1400c9831
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400c9824
mov r9, qword [rsp + 0x220]
mov r8d, dword [rsp + 0x228]
lea rdx, str.No_parameter_named__.s_for_this_polymorphic_type
mov rcx, qword [rsp + 0xd8]
call fcn.14004b9f0
mov dword [rsp + 0x54], 0xb
jmp 0x1400c9604
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
test eax, eax
je 0x1400c9888
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400c987b
mov r9, qword [rsp + 0x220]
mov r8d, dword [rsp + 0x228]
lea rdx, str.Duplicate_parameter__.s_in_polymorphic_type
mov rcx, qword [rsp + 0xd8]
call fcn.14004b9f0
mov dword [rsp + 0x54], 0xd
jmp 0x1400c9604
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, rcx
mov byte [rax], 1
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x268]
call fcn.14021c320
mov qword [rsp + 0x240], rax
mov rdx, qword [rsp + 0x168]
lea rcx, [rsp + 0x138]
call fcn.14021c320
mov rdi, rax
mov rax, qword [rsp + 0x240]
mov rsi, rax
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
jmp 0x1400c9604
mov qword [rsp + 0x108], 0
jmp 0x1400c990e
mov rax, qword [rsp + 0x108]
inc rax
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x108], rax
jge 0x1400c9a52
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
test eax, eax
jne 0x1400c9a4d
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x108]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x520]
mov rcx, qword [rsp + 0xd0]
mov rdi, rax
lea rsi, [rcx + 0x20]
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x520]
call fcn.140050c30
movzx eax, al
test eax, eax
je 0x1400c999c
jmp 0x1400c98fb
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400c9a45
mov rax, qword [rsp + 0xd0]
cmp dword [rax], 3
jne 0x1400c99e4
mov rax, qword [rsp + 0xd0]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rax + 0x30]
lea rdx, str.Type_parameter__.s_is_missing_in_polymorphic_type_call
mov rcx, qword [rsp + 0x790]
call fcn.14004b9f0
jmp 0x1400c9a45
mov dl, 1
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x50]
call fcn.14006be80
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xd0]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0xd0]
mov r8d, dword [rax + 0x30]
lea rdx, str.Parameter__.s_of_type__s_is_missing_in_polymorphic_type_call
mov rcx, qword [rsp + 0x790]
call fcn.14004b9f0
mov rcx, qword [rsp + 0x1f8]
call fcn.14021fa10
mov dword [rsp + 0x54], 0xc
jmp 0x1400c98fb
lea rcx, [rsp + 0x3d8]
call fcn.14021bdc0
cmp dword [rsp + 0x54], 0
je 0x1400c9a95
mov rax, qword [rsp + 0x788]
mov byte [rax], 0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x198], eax
lea rcx, [rsp + 0xf0]
call fcn.1400ca9e0
mov eax, dword [rsp + 0x198]
jmp 0x1400ca921
cmp qword [rsp + 0x150], 0
jle 0x1400c9af0
mov rax, qword [rsp + 0x150]
dec rax
mov rdx, rax
lea rcx, [rsp + 0x138]
call fcn.14021c320
cmp qword [rax + 0x30], 0
je 0x1400c9ac4
jmp 0x1400c9af0
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x6d0]
call fcn.1400cab60
lea rcx, [rsp + 0x718]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
jmp 0x1400c9a95
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0xb8], rax
je 0x1400c9b79
mov rax, qword [rsp + 0x150]
cmp qword [rsp + 0x60], rax
jge 0x1400c9b39
mov r9, qword [rsp + 0x150]
mov r8, qword [rsp + 0x60]
lea rdx, str.Too_many_polymorphic_type_arguments__expected_a_maximum_of__td__got__td
mov rcx, qword [rsp + 0x790]
call fcn.14004b9f0
mov dword [rsp + 0x54], 9
jmp 0x1400c9b77
mov rax, qword [rsp + 0x150]
cmp qword [rsp + 0xb8], rax
jle 0x1400c9b77
mov r9, qword [rsp + 0x150]
mov r8, qword [rsp + 0xb8]
lea rdx, str.Too_few_polymorphic_type_arguments__expected_a_minimum_of__td__got__td
mov rcx, qword [rsp + 0x790]
call fcn.14004b9f0
mov dword [rsp + 0x54], 8
jmp 0x1400c9beb
mov rax, qword [rsp + 0x150]
cmp qword [rsp + 0x60], rax
jge 0x1400c9bb3
mov r9, qword [rsp + 0x150]
mov r8, qword [rsp + 0x60]
lea rdx, str.Too_many_polymorphic_type_arguments__expected__td__got__td
mov rcx, qword [rsp + 0x790]
call fcn.14004b9f0
mov dword [rsp + 0x54], 9
jmp 0x1400c9beb
mov rax, qword [rsp + 0x150]
cmp qword [rsp + 0x60], rax
jle 0x1400c9beb
mov r9, qword [rsp + 0x150]
mov r8, qword [rsp + 0x60]
lea rdx, str.Too_few_polymorphic_type_arguments__expected__td__got__td
mov rcx, qword [rsp + 0x790]
call fcn.14004b9f0
mov dword [rsp + 0x54], 8
cmp dword [rsp + 0x54], 0
je 0x1400c9c16
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x1a8], eax
lea rcx, [rsp + 0xf0]
call fcn.1400ca9e0
mov eax, dword [rsp + 0x1a8]
jmp 0x1400ca921
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0xb8], rax
je 0x1400c9dda
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x138]
call fcn.1400cac00
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x110], 0
jmp 0x1400c9c68
mov rax, qword [rsp + 0x110]
inc rax
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x150]
cmp qword [rsp + 0x110], rax
jge 0x1400c9dda
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x138]
call fcn.14021c320
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x30], 0
jne 0x1400c9dd5
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
cmp dword [rax], 1
jne 0x1400c9d72
mov rax, qword [rsp + 0x170]
inc rax
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0xa8]
mov byte [rax], 5
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x50]
call fcn.140073b30
mov rcx, qword [rsp + 0xa8]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0xf8]
call fcn.140053290
mov rcx, qword [rsp + 0xa8]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0xa0]
cmp dword [rax + 0xf0], 1
jne 0x1400c9d70
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
lea rdi, [rax + 0x10]
lea rsi, [rcx + 0x100]
mov ecx, 0x20
rep movsb byte [rdi], byte [rsi]
jmp 0x1400c9dd5
mov rax, qword [rsp + 0xa0]
cmp dword [rax], 3
jne 0x1400c9dd5
mov rax, qword [rsp + 0x170]
inc rax
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0xa8]
mov byte [rax], 6
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 0x50]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa0]
add rax, 0x58
mov rcx, rax
call fcn.14021cf60
mov rcx, qword [rsp + 0xa8]
mov qword [rcx + 0x30], rax
jmp 0x1400c9c55
mov rax, qword [rsp + 0x150]
cmp qword [rsp + 0x60], rax
jge 0x1400c9df8
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x200], rax
jmp 0x1400c9e08
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x120], 0
jmp 0x1400c9e45
mov rax, qword [rsp + 0x120]
inc rax
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x248]
cmp qword [rsp + 0x120], rax
jge 0x1400ca186
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x138]
call fcn.14021c320
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
test eax, eax
jne 0x1400c9eac
jmp 0x1400c9e32
mov rax, qword [rsp + 0xc8]
cmp dword [rax], 3
jne 0x1400c9fb0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 6
je 0x1400c9f41
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400c9f39
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.140041350
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0xc8]
mov r8d, dword [rax + 0x30]
lea rdx, str.Expected_a_type_for_the_argument__.s__got__s
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.14004b9f0
mov rcx, qword [rsp + 0x208]
call fcn.14021fa10
mov dword [rsp + 0x54], 2
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rax + 0x50]
call fcn.1400292c0
movzx eax, al
test eax, eax
je 0x1400c9f89
xor edx, edx
mov ecx, 1
call fcn.1400b2ac0
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
jmp 0x1400c9fab
xor edx, edx
mov ecx, 0xa
call fcn.1400b2ac0
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
jmp 0x1400ca181
mov qword [rsp + 0x210], 0
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
cmp dword [rax], 3
jne 0x1400c9ff9
xor edx, edx
mov ecx, 1
call fcn.1400b2ac0
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
jmp 0x1400c9e32
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x210]
mov rax, qword [rsp + 0xc8]
mov r8, qword [rax + 0x50]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x780]
call fcn.1400b2b40
movzx eax, al
test eax, eax
jne 0x1400ca0a0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400ca098
lea rax, str.polymorphic_type_argument
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x2a8], 0x19
lea rax, [rsp + 0x350]
lea rcx, [rsp + 0x2a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r9, [rsp + 0x350]
mov rax, qword [rsp + 0xc8]
mov r8, qword [rax + 0x50]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x780]
call fcn.1400b2d80
mov dword [rsp + 0x54], 2
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x50]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 5
je 0x1400ca163
mov byte [rsp + 0x59], 0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
call fcn.14006ce90
movzx eax, al
test eax, eax
je 0x1400ca131
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.14006aa30
mov qword [rsp + 0x250], rax
cmp qword [rsp + 0x250], 0
je 0x1400ca11a
mov dword [rsp + 0xe8], 1
jmp 0x1400ca125
mov dword [rsp + 0xe8], 0
movzx eax, byte [rsp + 0xe8]
mov byte [rsp + 0x59], al
movzx eax, byte [rsp + 0x59]
test eax, eax
jne 0x1400ca163
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400ca15b
lea rdx, str.Expected_a_constant_value_for_this_polymorphic_type_argument
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.14004b9f0
mov dword [rsp + 0x54], 0xe
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
jmp 0x1400c9e32
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400ca1ba
cmp dword [rsp + 0x54], 0
je 0x1400ca1ba
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x1a4], eax
lea rcx, [rsp + 0xf0]
call fcn.1400ca9e0
mov eax, dword [rsp + 0x1a4]
jmp 0x1400ca921
mov byte [rsp + 0x71], 0
lea rax, [rsp + 0x71]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x780]
call fcn.140090c20
mov qword [rsp + 0x218], rax
cmp qword [rsp + 0x218], 0
je 0x1400ca242
mov rax, qword [rsp + 0x788]
mov byte [rax], 6
mov rax, qword [rsp + 0x788]
mov rcx, qword [rsp + 0x218]
mov rcx, qword [rcx + 0x50]
mov qword [rax + 8], rcx
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x1a0], eax
lea rcx, [rsp + 0xf0]
call fcn.1400ca9e0
mov eax, dword [rsp + 0x1a0]
jmp 0x1400ca921
lea rax, [rsp + 0x550]
mov rdi, rax
mov rsi, qword [rsp + 0x780]
mov ecx, 0xd8
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x78]
call fcn.140071b50
mov qword [rsp + 0x578], rax
cmp qword [rsp + 0x578], 0
jne 0x1400ca2a3
mov qword [rsp + 0x20], 0
mov r9d, 0x1b40
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str.ctx.scope___nullptr
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400ca26e
mov rcx, qword [rsp + 0x78]
call fcn.14006d1a0
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x790]
call fcn.140041350
mov rdx, rax
lea rcx, [rsp + 0x430]
call fcn.1400179d0
lea rcx, [rsp + 0x360]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x370]
lea rcx, [rsp + 0x360]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x380]
lea rcx, [rsp + 0x370]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x380]
call fcn.14006edd0
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x90]
cmp dword [rax], 0xb
jne 0x1400ca417
xor edx, edx
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x28]
call fcn.140049c00
mov qword [rsp + 0x1c8], rax
call fcn.14006eb00
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x50], rcx
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x98]
call fcn.14006e4f0
mov rdx, qword [rsp + 0x1c8]
lea rcx, [rsp + 0x550]
call fcn.14007d520
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
mov r8, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x178]
lea rcx, [rsp + 0x550]
call fcn.140095ef0
lea rcx, [rsp + 0x550]
call fcn.14007d660
jmp 0x1400ca518
mov rax, qword [rsp + 0x90]
cmp dword [rax], 0xc
jne 0x1400ca4ea
xor edx, edx
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x18]
call fcn.140049c00
mov qword [rsp + 0x1d0], rax
call fcn.14006eb30
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x1d0]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x98]
call fcn.14006e4f0
mov rdx, qword [rsp + 0x1d0]
lea rcx, [rsp + 0x550]
call fcn.14007d520
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
mov r8, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x550]
call fcn.140096790
lea rcx, [rsp + 0x550]
call fcn.14007d660
jmp 0x1400ca518
lea rax, str.Unsupported_parametric_polymorphic_record_type
mov qword [rsp + 0x20], rax
mov r9d, 0x1b5b
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
xor edx, edx
lea rcx, str.Panic
call fcn.14000ba00
int3
mov rcx, qword [rsp + 0x98]
call fcn.14006d1a0
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
cmp dword [rax], 0xb
je 0x1400ca54b
mov rax, qword [rsp + 0x90]
cmp dword [rax], 0xc
jne 0x1400ca8e3
mov rax, qword [rsp + 0x78]
cmp dword [rax], 2
je 0x1400ca57f
mov qword [rsp + 0x20], 0
mov r9d, 0x1b61
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str.original_type__kind__Type_Named
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400ca54b
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x190]
cmp dword [rax], 3
je 0x1400ca5cd
mov qword [rsp + 0x20], 0
mov r9d, 0x1b63
lea r8, str.c:devtoolsOdin_srccheck_expr.cpp
lea rdx, str.e__kind__Entity_TypeName
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x1400ca596
lea rcx, [rsp + 0x440]
call fcn.140011450
lea rcx, [rsp + 0x390]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x190]
mov rax, qword [rax + 0x30]
add rax, 3
lea rcx, [rsp + 0x3a0]
lea rdx, [rsp + 0x390]
mov rdi, rcx
mov rsi, rdx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rdx, rax
lea rcx, [rsp + 0x3a0]
call fcn.14000e1d0
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x190]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x190]
mov r8d, dword [rax + 0x30]
lea rdx, str._.s_
mov rcx, qword [rsp + 0x68]
call fcn.14000e540
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x128], 0
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0xb
je 0x1400ca698
cmp dword [rsp + 0xec], 0xc
je 0x1400ca6ae
jmp 0x1400ca6c2
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x128], rax
jmp 0x1400ca6c2
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x128], rax
cmp qword [rsp + 0x128], 0
je 0x1400ca83a
mov qword [rsp + 0x130], 0
jmp 0x1400ca6f2
mov rax, qword [rsp + 0x130]
inc rax
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x130], rax
jge 0x1400ca83a
mov rax, qword [rsp + 0x128]
add rax, 8
mov rdx, qword [rsp + 0x130]
mov rcx, rax
call fcn.14021ca20
mov rax, qword [rax]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x2b0]
mov rcx, qword [rsp + 0xe0]
mov rdi, rax
lea rsi, [rcx + 0x28]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
cmp qword [rsp + 0x130], 0
jle 0x1400ca772
lea rdx, [0x140281130]
mov rcx, qword [rsp + 0x68]
call fcn.14000e540
mov qword [rsp + 0x68], rax
mov r9, qword [rsp + 0x2b0]
mov r8d, dword [rsp + 0x2b8]
lea rdx, [0x140286c2c]
mov rcx, qword [rsp + 0x68]
call fcn.14000e540
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xe0]
cmp dword [rax], 3
jne 0x1400ca7ec
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x50]
cmp dword [rax], 3
je 0x1400ca7ea
lea rdx, [0x140278b74]
mov rcx, qword [rsp + 0x68]
call fcn.14000e540
mov qword [rsp + 0x68], rax
xor r8d, r8d
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rax + 0x50]
mov rcx, qword [rsp + 0x68]
call fcn.14007a010
mov qword [rsp + 0x68], rax
jmp 0x1400ca835
mov rax, qword [rsp + 0xe0]
cmp dword [rax], 1
jne 0x1400ca835
lea rdx, [0x140278b74]
mov rcx, qword [rsp + 0x68]
call fcn.14000e540
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xe0]
add rax, 0xd0
mov r8d, 0x24
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.140033960
mov qword [rsp + 0x68], rax
jmp 0x1400ca6df
lea rdx, [0x140278c28]
mov rcx, qword [rsp + 0x68]
call fcn.14000e540
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x450]
call fcn.1400179d0
lea rcx, [rsp + 0x3b0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x290]
lea rcx, [rsp + 0x3b0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x98]
lea rcx, [rsp + 0x290]
lea rdi, [rax + 8]
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x20], 0
je 0x1400ca8e3
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x20]
lea rcx, [rsp + 0x290]
lea rdi, [rax + 0x28]
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x788]
mov byte [rax], 6
mov rax, qword [rsp + 0x788]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 8], rcx
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x19c], eax
lea rcx, [rsp + 0xf0]
call fcn.1400ca9e0
mov eax, dword [rsp + 0x19c]
add rsp, 0x760
pop rdi
pop rsi
pop rbx
ret