Function at 0x140055ca0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x238]
sub rsp, 0x338
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov rax, qword [0x14015a7a0]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r12, r9
mov qword [rbp - 0x78], r9
mov r13, r8
mov qword [rbp - 0x70], r8
mov r15, rdx
mov qword [rbp - 0x80], rdx
mov r14, rcx
mov qword [rsp + 0x78], rcx
test r8, r8
jne 0x140055d01
mov rax, qword [rcx + 0x58]
mov rdx, qword [rax + 8]
jmp 0x140055d05
mov rdx, qword [r8 + 8]
mov r8, qword [r15 + 0x60]
call fcn.1400558a0
mov rbx, rax
mov r9, r15
mov r8, rax
mov rdx, qword [r15 + 0x60]
mov rcx, r14
call fcn.140072b50
mov rdi, qword [r15 + 0x60]
mov rsi, qword [r14 + 8]
mov ecx, 0x20
call fcn.1400d38e0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140055d4b
mov rdx, rdi
mov rcx, rax
call fcn.140005a40
nop
mov qword [rsp + 0x68], rax
lea rcx, [rsi + 0xf0]
lea rdx, [rsp + 0x68]
call fcn.14004ff60
mov rax, qword [rsp + 0x68]
mov qword [r12], rax
mov qword [r12 + 8], rbx
mov rax, qword [r14 + 0x58]
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], r13
mov word [r12 + 0x28], 0
cmp dword [r15 + 0x20], 0
jne 0x140055e17
movdqa xmm0, xmmword [0x140134670]
movdqu xmmword [rbp], xmm0
mov byte [rbp - 0x10], 0
mov r8d, 0x26
lea rdx, str.Enums_must_contain_at_least_one_value.
lea rcx, [rbp - 0x10]
call fcn.1400058e0
nop
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r15
mov rdx, rbx
mov rcx, r14
call fcn.1400530d0
nop
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x140055e17
inc rax
mov rcx, qword [rbp - 0x10]
cmp rax, 0x1000
jb 0x140055e12
test cl, 0x1f
jne 0x140055e0c
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140055e0c
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x140055e0c
mov rcx, rax
jmp 0x140055e12
call fcn.1400dac14
int3
call fcn.1400d417c
mov eax, dword [r15 + 0x20]
mov dword [r12 + 0x2c], eax
mov eax, dword [r15 + 0x20]
mov rbx, qword [r14 + 8]
lea ecx, [rax + rax*4]
shl ecx, 3
test ecx, ecx
jne 0x140055e36
xor eax, eax
jmp 0x140055e5f
movsxd rcx, ecx
call fcn.1400d4294
mov qword [rsp + 0x68], rax
lea rcx, [rbx + 0xd8]
lea rdx, [rsp + 0x68]
call fcn.140050570
mov rax, qword [rbx + 0xe0]
mov rax, qword [rax - 8]
mov qword [r12 + 0x30], rax
xor ebx, ebx
cmp dword [r15 + 0x20], ebx
jle 0x140055ea0
xor edi, edi
nop
mov rax, qword [r15 + 0x28]
mov rdx, qword [rdi + rax + 8]
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [r12 + 0x30]
lea r9, [rax + rcx*8]
mov r8, r12
mov rcx, r14
call fcn.140056af0
inc ebx
lea rdi, [rdi + 8]
cmp ebx, dword [r15 + 0x20]
jl 0x140055e70
mov eax, dword [r15 + 0x38]
mov dword [r12 + 0x38], eax
mov eax, dword [r15 + 0x38]
mov rbx, qword [r14 + 8]
lea eax, [rax*8]
test eax, eax
jne 0x140055ec0
xor eax, eax
jmp 0x140055ee9
movsxd rcx, eax
call fcn.1400d4294
mov qword [rsp + 0x68], rax
lea rcx, [rbx + 0xd8]
lea rdx, [rsp + 0x68]
call fcn.140050570
mov rax, qword [rbx + 0xe0]
mov rax, qword [rax - 8]
mov qword [r12 + 0x40], rax
xor r14d, r14d
cmp dword [r15 + 0x38], r14d
jle 0x140055fc7
xor edi, edi
nop dword [rax]
mov rax, qword [r15 + 0x40]
mov rsi, qword [rdi + rax + 8]
mov rdx, qword [r12 + 0x40]
mov ecx, dword [rsi + 0x18]
mov dword [rdi + rdx], ecx
mov eax, dword [rsi + 0x1c]
mov dword [rdi + rdx + 4], eax
cmp ecx, eax
jle 0x140055faf
mov rbx, qword [r12 + 8]
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov r8d, 0x3c
lea rdx, str.Reserved_range_end_number_must_be_greater_than_start_number.
lea rcx, [rbp - 0x10]
call fcn.1400058e0
nop
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
call fcn.1400530d0
nop
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x140055faf
inc rax
mov rcx, qword [rbp - 0x10]
cmp rax, 0x1000
jb 0x140055faa
test cl, 0x1f
jne 0x140055fc1
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140055fc1
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x140055fc1
mov rcx, rax
call fcn.1400d417c
inc r14d
add rdi, 8
cmp r14d, dword [r15 + 0x38]
jge 0x140055fc7
jmp 0x140055f00
call fcn.1400dac14
int3
lea rcx, [r15 + 0x48]
mov qword [rsp + 0x68], rcx
call fcn.14003c450
movsxd rbx, eax
mov dword [r12 + 0x3c], ebx
mov r14, qword [rsp + 0x78]
mov rdi, qword [r14 + 8]
lea eax, [rbx*8]
test eax, eax
jne 0x140055ff5
xor eax, eax
jmp 0x14005601e
movsxd rcx, eax
call fcn.1400d4294
mov qword [rsp + 0x70], rax
lea rcx, [rdi + 0xd8]
lea rdx, [rsp + 0x70]
call fcn.140050570
mov rax, qword [rdi + 0xe0]
mov rax, qword [rax - 8]
mov qword [r12 + 0x48], rax
xor edi, edi
mov r15, rbx
test ebx, ebx
jle 0x14005609a
xor ebx, ebx
mov r13, qword [rsp + 0x68]
mov edx, edi
mov rcx, r13
call fcn.14003b850
mov rsi, rax
mov r14, qword [r14 + 8]
mov ecx, 0x20
call fcn.1400d38e0
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140056063
mov rdx, rsi
mov rcx, rax
call fcn.140005a40
nop
mov qword [rsp + 0x70], rax
lea rcx, [r14 + 0xf0]
lea rdx, [rsp + 0x70]
call fcn.14004ff60
mov rcx, qword [r12 + 0x48]
mov rax, qword [rsp + 0x70]
mov qword [rcx + rbx*8], rax
inc edi
inc rbx
cmp rbx, r15
mov r14, qword [rsp + 0x78]
jl 0x140056033
mov r13, qword [rbp - 0x70]
mov r8, r12
mov rbx, qword [rbp - 0x80]
mov rdx, rbx
mov rcx, r14
call fcn.14005c020
mov eax, dword [rbx + 0x10]
shr eax, 1
and al, 1
jne 0x1400560c0
mov qword [r12 + 0x20], 0
jmp 0x1400560e3
mov rax, qword [rbx + 0x68]
lea rdx, [0x14015f940]
test rax, rax
cmovne rdx, rax
mov r9d, 3
mov r8, r12
mov rcx, r14
call fcn.140047460
mov dword [rbp - 0x10], 4
mov qword [rbp - 8], r12
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov r9, qword [r12]
mov r8, r13
mov rdx, qword [r12 + 8]
mov rcx, r14
call fcn.140054a60
xor r13d, r13d
mov edx, r13d
mov dword [rsp + 0x70], edx
mov ecx, dword [rbx + 0x38]
test ecx, ecx
jle 0x14005638d
mov r15d, r13d
mov r13d, 1
nop word [rax + rax]
mov rax, qword [rbx + 0x40]
mov r14, qword [r15 + rax + 8]
mov esi, r13d
cmp r13d, ecx
jge 0x14005636b
lea rdi, [r15 + 8]
nop dword [rax]
mov rax, qword [rbx + 0x40]
mov rbx, qword [rdi + rax + 8]
mov ecx, dword [r14 + 0x1c]
cmp ecx, dword [rbx + 0x18]
jl 0x140056354
mov eax, dword [rbx + 0x1c]
cmp eax, dword [r14 + 0x18]
jl 0x140056354
lea rdx, [rbp + 0xac]
call fcn.14007ed10
mov qword [rbp + 0xa0], rax
or rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400561a0
mov dword [rbp + 0xa8], ecx
lea rdx, [rbp + 0x4c]
mov ecx, dword [r14 + 0x18]
call fcn.14007ed10
mov qword [rbp + 0x40], rax
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400561c4
mov dword [rbp + 0x48], ecx
lea rdx, [rbp + 0x7c]
mov ecx, dword [rbx + 0x1c]
call fcn.14007ed10
mov qword [rbp + 0x70], rax
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400561e4
mov dword [rbp + 0x78], ecx
lea rdx, [rbp + 0x1c]
mov ecx, dword [rbx + 0x18]
call fcn.14007ed10
mov qword [rbp + 0x10], rax
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140056204
mov dword [rbp + 0x18], ecx
xor eax, eax
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0xd8], 0xffffffff
mov qword [rbp + 0x100], rax
mov dword [rbp + 0x108], 0xffffffff
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x138], 0xffffffff
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x168], 0xffffffff
mov qword [rbp + 0x190], rax
mov dword [rbp + 0x198], 0xffffffff
mov qword [rbp + 0x1c0], rax
mov dword [rbp + 0x1c8], 0xffffffff
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x70]
lea r8, [rbp + 0x10]
lea rdx, str.Reserved_range__0_to__1_overlaps_with_already_defined_range__2_to__3.
lea rcx, [rbp - 0x10]
call fcn.1400adef0
nop
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rbx + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [r15 + rcx + 8]
mov rdx, qword [r12 + 8]
mov rcx, qword [rsp + 0x78]
call fcn.1400530d0
nop
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x140056358
inc rax
mov rcx, qword [rbp - 0x10]
cmp rax, 0x1000
jb 0x14005634d
test cl, 0x1f
jne 0x140056384
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140056384
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x140056384
mov rcx, rax
call fcn.1400d417c
jmp 0x140056358
mov rbx, qword [rbp - 0x80]
inc esi
add rdi, 8
cmp esi, dword [rbx + 0x38]
jl 0x140056160
mov edx, dword [rsp + 0x70]
inc edx
mov dword [rsp + 0x70], edx
inc r13d
add r15, 8
mov ecx, dword [rbx + 0x38]
cmp edx, ecx
jge 0x14005638a
jmp 0x140056140
call fcn.1400dac14
int3
xor r13d, r13d
xorps xmm0, xmm0
movss dword [rbp - 0x60], xmm0
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.1400730c0
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], r13
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
movss xmm0, dword [0x1401187a0]
movss dword [rbp - 0x60], xmm0
mov edx, 8
lea rcx, [rbp - 0x60]
call fcn.14003ff90
nop
mov ebx, r13d
mov dword [rsp + 0x70], ebx
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
call fcn.14003c450
test eax, eax
jle 0x1400566b9
movzx edi, byte [rsp + 0x60]
movabs r14, 0x100000001b3
movabs r12, 0xcbf29ce484222325
mov edx, ebx
mov rcx, rsi
call fcn.14003b850
mov rsi, rax
mov r15, qword [rax + 0x10]
mov r8, rax
mov r13, qword [rax + 0x18]
cmp r13, 0x10
jb 0x14005642d
mov r8, qword [rax]
mov rcx, r12
xor edx, edx
test r15, r15
je 0x140056454
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r14
inc rdx
cmp rdx, r15
jb 0x140056440
and rcx, qword [rbp - 0x30]
mov rbx, rcx
add rbx, rbx
mov r12, qword [rbp - 0x48]
mov rbx, qword [r12 + rbx*8]
lea rax, [rcx + rcx]
mov qword [rbp - 0x70], rax
mov r14, qword [rbp - 0x58]
cmp qword [r12 + rax*8], r14
jne 0x14005647d
mov rax, r14
jmp 0x140056485
mov rax, qword [r12 + rax*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x140056678
mov rdx, rsi
cmp r13, 0x10
jb 0x14005649a
mov rdx, qword [rsi]
lea rcx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0x10
jb 0x1400564a9
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x20]
cmp r8, r15
jne 0x1400564bb
call fcn.1400d6580
test eax, eax
je 0x1400564c4
mov rbx, qword [rbx]
mov rax, qword [rbp - 0x70]
jmp 0x140056472
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0x10
jb 0x1400564d3
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
cmp r13, 0x10
jb 0x1400564df
mov rcx, qword [rsi]
cmp r15, qword [rbx + 0x20]
jne 0x1400564f1
mov r8, r15
call fcn.1400d6580
test eax, eax
je 0x1400564f4
mov rbx, r14
cmp rbx, r14
je 0x140056678
mov rax, rsi
cmp r13, 0x10
jb 0x140056509
mov rax, qword [rsi]
mov qword [rbp + 0x1f0], rax
mov dword [rbp + 0x1f8], r15d
xor r13d, r13d
mov qword [rbp + 0x1c0], r13
mov dword [rbp + 0x1c8], 0xffffffff
mov qword [rbp + 0x190], r13
mov dword [rbp + 0x198], 0xffffffff
mov qword [rbp + 0x160], r13
mov dword [rbp + 0x168], 0xffffffff
mov qword [rbp + 0x130], r13
mov dword [rbp + 0x138], 0xffffffff
mov qword [rbp + 0x100], r13
mov dword [rbp + 0x108], 0xffffffff
mov qword [rbp + 0xd0], r13
mov dword [rbp + 0xd8], 0xffffffff
mov qword [rbp + 0x10], r13
mov dword [rbp + 0x18], 0xffffffff
mov qword [rbp + 0x70], r13
mov dword [rbp + 0x78], 0xffffffff
mov qword [rbp + 0x40], r13
mov dword [rbp + 0x48], 0xffffffff
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x1f0]
lea rdx, str.Enum_value___0__is_reserved_multiple_times.
lea rcx, [rbp + 0xa0]
call fcn.1400adef0
nop
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rbp - 0x80]
mov rdx, rsi
mov rcx, qword [rsp + 0x78]
call fcn.1400530d0
nop
mov rax, qword [rbp + 0xb8]
cmp rax, 0x10
jb 0x14005668f
inc rax
mov rcx, qword [rbp + 0xa0]
cmp rax, 0x1000
jb 0x140056671
test cl, 0x1f
jne 0x1400566af
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400566af
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x1400566af
mov rcx, rax
call fcn.1400d417c
jmp 0x14005668f
movzx r9d, dil
mov r8, rsi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x60]
call fcn.14004b660
xor r13d, r13d
mov ebx, dword [rsp + 0x70]
inc ebx
mov dword [rsp + 0x70], ebx
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
call fcn.14003c450
cmp ebx, eax
jge 0x1400566b5
jmp 0x1400563f8
call fcn.1400dac14
int3
mov r12, qword [rbp - 0x78]
mov dword [rsp + 0x70], r13d
cmp dword [r12 + 0x2c], 0
jle 0x140056aaf
mov qword [rsp + 0x68], r13
mov r14, r13
mov r15, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x58]
nop word [rax + rax]
mov r12, qword [r12 + 0x30]
mov esi, r13d
mov r13, qword [rbp - 0x78]
cmp dword [r13 + 0x38], 0
jle 0x1400568b5
xor edi, edi
mov ebx, edi
nop dword [rax + rax]
mov rax, qword [r13 + 0x40]
mov ecx, dword [r14 + r12 + 0x10]
cmp dword [rbx + rax], ecx
jg 0x14005689d
cmp ecx, dword [rbx + rax + 4]
jg 0x14005689d
lea rdx, [rbp + 0x1c]
call fcn.14007ed10
mov qword [rbp + 0x10], rax
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140056730
mov dword [rbp + 0x18], ecx
mov rax, qword [r14 + r12]
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14005674d
mov rcx, qword [rax]
mov qword [rbp + 0x40], rcx
mov rax, qword [rax + 0x10]
mov dword [rbp + 0x48], eax
mov qword [rbp + 0x1f0], rdi
mov dword [rbp + 0x1f8], 0xffffffff
mov qword [rbp + 0x1c0], rdi
mov dword [rbp + 0x1c8], 0xffffffff
mov qword [rbp + 0x190], rdi
mov dword [rbp + 0x198], 0xffffffff
mov qword [rbp + 0x160], rdi
mov dword [rbp + 0x168], 0xffffffff
mov qword [rbp + 0x130], rdi
mov dword [rbp + 0x138], 0xffffffff
mov qword [rbp + 0x100], rdi
mov dword [rbp + 0x108], 0xffffffff
mov qword [rbp + 0xd0], rdi
mov dword [rbp + 0xd8], 0xffffffff
mov qword [rbp + 0x70], rdi
mov dword [rbp + 0x78], 0xffffffff
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x10]
lea r8, [rbp + 0x40]
lea rdx, str.Enum_value___0__uses_reserved_number__1.
lea rcx, [rbp + 0xa0]
call fcn.1400adef0
nop
mov rcx, qword [rbp - 0x80]
mov rcx, qword [rcx + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rcx + rbx + 8]
mov rdx, qword [r14 + r12 + 8]
mov rcx, qword [rsp + 0x78]
call fcn.1400530d0
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x14005689d
inc rdx
mov r8d, 1
mov rcx, qword [rbp + 0xa0]
call fcn.140037a50
inc esi
add rbx, 8
cmp esi, dword [r13 + 0x38]
jl 0x140056700
mov r15, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x58]
mov rsi, qword [r14 + r12]
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.140052c60
and rax, qword [rbp - 0x30]
mov rbx, rax
add rbx, rbx
mov rbx, qword [r15 + rbx*8]
lea r13, [rax + rax]
cmp qword [r15 + r13*8], rdi
jne 0x1400568e2
mov rax, rdi
jmp 0x1400568ea
mov rax, qword [r15 + r13*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x14005691c
lea rcx, [rbx + 0x10]
mov rdx, rsi
call fcn.140017ca0
test al, al
jne 0x140056904
mov rbx, qword [rbx]
jmp 0x1400568d7
lea r8, [rbx + 0x10]
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.140052cb0
test al, al
cmovne rbx, rdi
jmp 0x14005691f
mov rbx, rdi
cmp rbx, rdi
je 0x140056a89
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140056935
mov rax, qword [rsi]
mov qword [rbp + 0x40], rax
mov rax, qword [rsi + 0x10]
mov dword [rbp + 0x48], eax
xor r13d, r13d
mov qword [rbp + 0x1f0], r13
mov dword [rbp + 0x1f8], 0xffffffff
mov qword [rbp + 0x1c0], r13
mov dword [rbp + 0x1c8], 0xffffffff
mov qword [rbp + 0x190], r13
mov dword [rbp + 0x198], 0xffffffff
mov qword [rbp + 0x160], r13
mov dword [rbp + 0x168], 0xffffffff
mov qword [rbp + 0x130], r13
mov dword [rbp + 0x138], 0xffffffff
mov qword [rbp + 0x100], r13
mov dword [rbp + 0x108], 0xffffffff
mov qword [rbp + 0xd0], r13
mov dword [rbp + 0xd8], 0xffffffff
mov qword [rbp + 0x10], r13
mov dword [rbp + 0x18], 0xffffffff
mov qword [rbp + 0x70], r13
mov dword [rbp + 0x78], 0xffffffff
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x130]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x70]
lea r8, [rbp + 0x40]
lea rdx, str.Enum_value___0__is_reserved.
lea rcx, [rbp + 0xa0]
call fcn.1400adef0
nop
mov rcx, qword [rbp - 0x80]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x68]
mov r8, qword [rcx + r8 + 8]
mov rdx, qword [r14 + r12 + 8]
mov rcx, qword [rsp + 0x78]
call fcn.1400530d0
nop
lea rcx, [rbp + 0xa0]
call fcn.1400235f0
mov r15, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x58]
jmp 0x140056a8c
xor r13d, r13d
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
add r14, 0x28
add qword [rsp + 0x68], 8
mov r12, qword [rbp - 0x78]
cmp eax, dword [r12 + 0x2c]
jl 0x1400566e0
lea rcx, [rbp - 0x48]
call fcn.1400324b0
lea rcx, [rbp - 0x58]
call fcn.140051d30
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1400d38c0
add rsp, 0x338
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret