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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc38]
sub rsp, 0xd00
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x14016c280]
xor rax, rsp
mov qword [rbp + 0xbd0], rax
mov r15, rcx
mov qword [rsp + 0x48], rcx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
mov r12, qword [rdx]
mov qword [rsp + 0x70], r12
mov rax, qword [rdx + 8]
mov qword [rbp - 0x80], rax
cmp r12, rax
je 0x1400417f6
movzx ebx, byte [rsp + 0x44]
nop word [rax + rax]
mov r8, qword [r12]
add r8, 0x38
lea rdx, [rbp + 0x68]
call fcn.1400404b0
mov rsi, rax
mov rdi, qword [0x1401aeb30]
mov r14, qword [0x1401aeb38]
cmp rdi, r14
je 0x1400406be
mov r15, qword [rax + 0x18]
mov r12, qword [rax + 0x10]
nop
mov rdx, rsi
cmp r15, 0xf
jbe 0x14004068c
mov rdx, qword [rsi]
mov r8, qword [rdi + 0x10]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14004069d
mov rcx, qword [rdi]
cmp r8, r12
jne 0x1400406ab
call fcn.140107250
test eax, eax
je 0x1400406b4
add rdi, 0x20
cmp rdi, r14
jne 0x140040680
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
lea rcx, [rbp + 0x68]
call fcn.140021820
cmp rdi, r14
jne 0x1400417dd
mov r8, qword [r12]
add r8, 0x38
lea rdx, [rbp + 0x48]
call fcn.1400404b0
nop
mov rdx, qword [0x1401aeb38]
cmp rdx, qword [0x1401aeb40]
je 0x14004072a
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
xor r14d, r14d
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
add qword [0x1401aeb38], 0x20
jmp 0x14004073c
mov r8, rax
lea rcx, [0x1401aeb30]
call fcn.1400313d0
xor r14d, r14d
lea rcx, [rbp + 0x48]
call fcn.140021820
mov rcx, qword [r15 + 8]
mov rax, qword [r12]
cmp byte [rax + 0xc], 0
lea rdx, str.____Class
jne 0x140040761
lea rdx, str.____Struct
call fcn.140023950
mov rdx, qword [r12]
add rdx, 0x18
cmp qword [rdx + 0x18], 0xf
mov r8, qword [rdx + 0x10]
jbe 0x14004077c
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14002e9e0
mov rcx, rax
call fcn.140023c00
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x250], xmm0
movups xmmword [rbp + 0x260], xmm0
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm0
movups xmmword [rbp + 0x2a0], xmm0
mov dword [rbp + 0x2b0], eax
mov rax, qword [r12]
mov ecx, dword [rax + 0x8c]
mov r9d, dword [rax + 0x90]
mov r8d, ecx
sub r8d, r9d
mov dword [rsp + 0x20], ecx
lea rdx, str.Size:_0x_04X__0x_06X___0x_06X_
lea rcx, [rbp + 0x250]
call fcn.140043de0
lea rdx, [0x140122d78]
mov rcx, qword [r15 + 8]
call fcn.140023950
mov rcx, rax
lea rdx, [rbp + 0x250]
call fcn.140023950
mov rcx, rax
call fcn.140023c00
lea rdx, str.class
mov rcx, qword [r15 + 8]
call fcn.140023950
mov rdi, rax
mov r8, qword [r12]
add r8, 0x38
lea rdx, [rbp + 0x48]
call fcn.1400404b0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x140040849
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14002e9e0
nop
lea rcx, [rbp + 0x48]
call fcn.140021820
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi + 8]
mov rax, qword [r12]
cmp byte [rax + 0x88], 0
je 0x1400408c6
lea rdx, str._:_public
call fcn.140023950
mov rdi, rax
mov rcx, qword [r12]
mov rcx, qword [rcx + 0x70]
mov r8, qword [rcx]
add r8, 0x38
lea rdx, [rbp + 0x48]
call fcn.1400404b0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1400408aa
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14002e9e0
nop
lea rcx, [rbp + 0x48]
call fcn.140021820
mov rdi, qword [rsp + 0x48]
jmp 0x1400408d2
lea rdx, str._:_public_MDKBase
call fcn.140023950
lea rdx, [0x140122da4]
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rcx, rax
call fcn.140023c00
lea rdx, str._tfriend_MDKHandler__n
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rax, qword [r12]
cmp byte [rax + 0xc], 0
jne 0x140040914
lea rdx, str._tfriend_MDKBase__n
mov rcx, qword [rdi + 8]
call fcn.140023950
lea rdx, str._tstatic_inline_constexpr_uint64_t___MDKClassSize_
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rcx, qword [r12]
mov edx, dword [rcx + 0x8c]
mov rcx, rax
call fcn.14001db80
mov rcx, rax
lea rdx, [0x140122dd4]
call fcn.140023950
lea rdx, str.public:
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rcx, rax
call fcn.140023c00
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
mov dword [rbp + 0x190], 0
mov qword [rbp + 0x198], r14
mov qword [rbp + 0x1a0], r14
mov ecx, 0x38
call fcn.1400d1838
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], 7
mov qword [rbp + 0x1c8], 8
mov dword [rbp + 0x190], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0x1a8]
call fcn.1400224d0
nop
mov rax, qword [r12]
mov r12, qword [rax + 0xb0]
mov rsi, qword [rax + 0xb8]
mov qword [rsp + 0x78], rsi
cmp r12, rsi
je 0x140041335
lea r13, [r12 + 0x28]
nop dword [rax + rax]
cmp byte [r13 + 0x48], 0
jne 0x14004131f
lea rdx, [r13 + 0x20]
lea rcx, [rbp + 0x130]
call fcn.14001e150
nop
cmp qword [r13 + 0x30], 0
jne 0x140040aa1
mov rax, qword [rbp + 0x148]
cmp rax, 6
jb 0x140040a89
lea rdi, [rbp + 0x130]
cmp rax, 0xf
cmova rdi, qword [rbp + 0x130]
mov qword [rbp + 0x140], 6
mov r8d, 6
lea rdx, str.noname
mov rcx, rdi
call fcn.140106770
mov byte [rdi + 6], 0
jmp 0x140040aa1
lea r9, str.noname
mov edx, 6
lea rcx, [rbp + 0x130]
call fcn.140027720
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r14
mov qword [rbp + 0x168], 0xf
mov byte [rbp + 0x150], 0
lea rax, [r13 - 0x18]
cmp qword [r13], 0xf
jbe 0x140040ad2
mov rax, qword [rax]
mov rcx, r12
cmp byte [rax], 0x46
jne 0x140040bf4
lea rdx, [rbp + 0xf0]
call fcn.14003e9a0
nop
mov r9d, 8
lea r8, str.SMember_
mov rcx, rax
call fcn.140044bf0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov edi, dword [rsp + 0x40]
or edi, 0x20
mov r8d, 1
lea rdx, [0x140122e20]
lea rcx, [rbp - 0x58]
call fcn.140021880
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x50], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or edi, 0x40
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140040bb2
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040bad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140041830
call fcn.1400d1710
movups xmmword [rbp + 0x150], xmm6
movups xmmword [rbp + 0x160], xmm7
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call fcn.140021820
nop
lea rcx, [rbp - 0x58]
call fcn.140021820
nop
lea rcx, [rbp + 0xf0]
jmp 0x140040e24
cmp byte [r13 - 0x20], 0
jne 0x140040d17
lea rdx, [rbp + 0x110]
call fcn.14003e9a0
nop
mov r9d, 8
lea r8, str.DMember_
mov rcx, rax
call fcn.140044bf0
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov edi, dword [rsp + 0x40]
bts edi, 0xa
mov r8d, 1
lea rdx, [0x140122e20]
lea rcx, [rbp - 0x38]
call fcn.140021880
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x50], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts edi, 9
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140040cd5
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040cd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140041836
call fcn.1400d1710
movups xmmword [rbp + 0x150], xmm6
movups xmmword [rbp + 0x160], xmm7
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call fcn.140021820
nop
lea rcx, [rbp - 0x38]
call fcn.140021820
nop
lea rcx, [rbp + 0x110]
jmp 0x140040e24
lea rdx, [rbp - 0x78]
call fcn.14003e9a0
nop
mov r9d, 8
lea r8, str.CMember_
mov rcx, rax
call fcn.140044bf0
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r14
mov qword [rbp], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov edi, dword [rsp + 0x40]
bts edi, 8
mov r8d, 1
lea rdx, [0x140122e20]
lea rcx, [rbp - 0x18]
call fcn.140021880
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x50], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm7
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts edi, 7
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp + 0x168]
cmp rdx, 0xf
jbe 0x140040dea
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040de5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004183c
call fcn.1400d1710
movups xmmword [rbp + 0x150], xmm6
movups xmmword [rbp + 0x160], xmm7
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call fcn.140021820
nop
lea rcx, [rbp - 0x18]
call fcn.140021820
nop
lea rcx, [rbp - 0x78]
call fcn.140021820
lea rdx, [rbp + 0x130]
mov r11, qword [rbp + 0x148]
cmp r11, 0xf
seta r8b
mov r9, qword [rbp + 0x130]
cmova rdx, r9
mov r10, qword [rbp + 0x140]
cmp r10, 4
jne 0x140040e86
mov rcx, r14
lea rdi, str.bool
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rdi + rcx - 1]
jne 0x140040e79
cmp rcx, 4
jne 0x140040e61
mov eax, r14d
jmp 0x140040e7e
sbb eax, eax
or eax, 1
test eax, eax
je 0x140040fe3
lea rdx, [rbp + 0x130]
test r8b, r8b
cmovne rdx, r9
cmp r10, 4
jne 0x140040ed6
mov rcx, r14
lea r8, str.char
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140040ec9
cmp rcx, 4
jne 0x140040eb0
mov eax, r14d
jmp 0x140040ece
sbb eax, eax
or eax, 1
test eax, eax
je 0x140040fe3
lea rax, [rbp + 0x130]
cmp r11, 0xf
cmova rax, r9
cmp r10, 3
jne 0x140040f0e
cmp byte [rax], 0x69
jne 0x140040f01
cmp byte [rax + 1], 0x6e
jne 0x140040f01
cmp byte [rax + 2], 0x74
jne 0x140040f01
mov eax, r14d
jmp 0x140040f06
sbb eax, eax
or eax, 1
test eax, eax
je 0x140040fe3
lea rdx, [rbp + 0x130]
cmp r11, 0xf
cmova rdx, r9
cmp r10, 5
jne 0x140040f56
mov rcx, r14
lea r8, str.float
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140040f49
cmp rcx, 5
jne 0x140040f30
mov eax, r14d
jmp 0x140040f4e
sbb eax, eax
or eax, 1
test eax, eax
je 0x140040fe3
lea rdx, [rbp + 0x130]
cmp r11, 0xf
cmova rdx, r9
cmp r10, 4
jne 0x140040fa2
mov rcx, r14
lea r8, str.TRUE
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140040f99
cmp rcx, 4
jne 0x140040f80
mov eax, r14d
jmp 0x140040f9e
sbb eax, eax
or eax, 1
test eax, eax
je 0x140040fe3
lea rdx, [rbp + 0x130]
cmp r11, 0xf
cmova rdx, r9
cmp r10, 5
jne 0x140041011
mov rcx, r14
lea r8, str.FALSE
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140040fda
cmp rcx, 5
jne 0x140040fc1
mov eax, r14d
jmp 0x140040fdf
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140041011
mov r8d, 1
lea rdx, [0x140122e64]
lea rcx, [rbp + 0x130]
call fcn.140021880
mov r11, qword [rbp + 0x148]
mov r10, qword [rbp + 0x140]
mov r9, qword [rbp + 0x130]
lea rdx, [rbp + 0x130]
cmp r11, 0xf
cmova rdx, r9
movabs r9, 0xcbf29ce484222325
mov rcx, r14
test r10, r10
je 0x140041058
movabs rbx, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, rbx
inc rcx
cmp rcx, r10
jb 0x140041040
movzx ebx, byte [rsp + 0x44]
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x190]
call fcn.14002d6b0
cmp qword [rax + 8], 0
je 0x1400410e9
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x190]
call fcn.140024590
mov rcx, qword [rax]
mov edi, dword [rcx + 0x30]
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x190]
call fcn.140024590
mov rcx, qword [rax]
inc dword [rcx + 0x30]
mov edx, edi
lea rcx, [rbp - 0x78]
call fcn.140002e80
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x1400410d3
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.140021880
nop
lea rcx, [rbp - 0x78]
jmp 0x140041128
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x88]
call fcn.14001e150
mov dword [rbp + 0xa8], 1
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x190]
call fcn.140044e30
nop
lea rcx, [rbp + 0x88]
call fcn.140021820
lea rax, [rbp + 0x130]
cmp qword [rbp + 0x148], 0xf
cmova rax, qword [rbp + 0x130]
movsx ecx, byte [rax]
call fcn.1400e1100
test eax, eax
je 0x1400411bd
mov rcx, qword [rbp + 0x148]
mov rax, rcx
mov r8, qword [rbp + 0x140]
sub rax, r8
cmp rax, 1
jb 0x140041198
inc r8
mov qword [rbp + 0x140], r8
lea rdi, [rbp + 0x130]
cmp rcx, 0xf
cmova rdi, qword [rbp + 0x130]
lea rcx, [rdi + 1]
mov rdx, rdi
call fcn.140106770
mov byte [rdi], 0x5f
jmp 0x1400411bd
mov byte [rsp + 0x28], 0x5f
mov qword [rsp + 0x20], 1
xor r9d, r9d
movzx r8d, bl
lea edx, [r9 + 1]
lea rcx, [rbp + 0x130]
call fcn.140027d70
lea r9, [rbp + 0x130]
cmp qword [rbp + 0x148], 0xf
cmova r9, qword [rbp + 0x130]
lea r8, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova r8, qword [rbp + 0x150]
lea rdx, str.__50s__s
lea rcx, [rbp + 0x2c0]
call fcn.140043eb0
lea rax, [r13 - 0x18]
cmp qword [r13], 0xf
jbe 0x14004120d
mov rax, qword [r13 - 0x18]
cmp byte [rax], 0x46
jne 0x14004124e
movzx ecx, byte [r13 + 0x49]
mov eax, dword [r13 + 0x4c]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x20], eax
mov r9d, dword [r13 + 0x40]
lea r8, [rbp + 0x2c0]
lea rdx, str._t__110s_OFFSET_getStruct_T___0x_X___d___d___d_
lea rcx, [rbp + 0x4c0]
call fcn.140043f10
jmp 0x1400412e8
mov edi, dword [r13 + 0x4c]
mov r14d, dword [r13 + 0x44]
mov r15d, dword [r13 + 0x40]
movzx esi, byte [r13 + 0x49]
cmp byte [r13 - 0x20], 0
jne 0x1400412b6
lea rdx, [rbp - 0x78]
mov rcx, r12
call fcn.14003e9a0
cmp qword [rax + 0x18], 0xf
jbe 0x14004127c
mov rax, qword [rax]
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [rbp + 0x2c0]
lea rdx, str._t__110s_OFFSET_get__s___0x_X___d___d___d_
lea rcx, [rbp + 0x4c0]
call fcn.140043f10
lea rcx, [rbp - 0x78]
call fcn.140021820
jmp 0x1400412e0
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r14d
mov r9d, r15d
lea r8, [rbp + 0x2c0]
lea rdx, str._t__110s_OFFSET_get_T___0x_X___d___d___d_
lea rcx, [rbp + 0x4c0]
call fcn.140043f10
xor r14d, r14d
mov rsi, qword [rsp + 0x78]
lea rdx, [rbp + 0x4c0]
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rcx, rax
call fcn.140023c00
nop
lea rcx, [rbp + 0x150]
call fcn.140021820
nop
lea rcx, [rbp + 0x130]
call fcn.140021820
sub r12, 0xffffffffffffff80
sub r13, 0xffffffffffffff80
cmp r12, rsi
jne 0x140040a20
mov r13d, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsi]
mov rax, qword [rcx + 0xd0]
cmp qword [rcx + 0xc8], rax
je 0x140041365
lea rdx, str._n_n_t____Functions
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rcx, rax
call fcn.140023c00
mov rax, qword [rsi]
mov r15, qword [rax + 0xc8]
mov r12, qword [rax + 0xd0]
cmp r15, r12
je 0x1400417bb
lea rsi, [r15 + 0x90]
nop word [rax + rax]
lea rdx, str._t___Function
mov rcx, qword [rdi + 8]
call fcn.140023950
lea rdx, [rsi - 0x18]
cmp qword [rsi], 0xf
jbe 0x1400413ad
mov rdx, qword [rdx]
mov r8, qword [rsi - 8]
mov rcx, rax
call fcn.14002e9e0
mov rcx, rax
call fcn.140023c00
lea rdi, [rsi + 8]
cmp qword [rsi + 0x20], 0xf
jbe 0x1400413cf
mov rdi, qword [rdi]
lea rcx, [rsi - 0x78]
lea rdx, [rbp + 0x88]
call fcn.14003e9a0
nop
mov r8d, 1
lea rdx, [0x140122c58]
mov rcx, rax
call fcn.140021880
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r14
mov qword [rbp + 0x40], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r13d, 8
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x140041430
mov rdx, rdi
lea rcx, [rbp + 0x28]
call fcn.140021880
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 1
lea rdx, [0x140122f38]
lea rcx, [rbp + 8]
call fcn.140021880
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x188], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x170], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x180], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r13d, 0x14
mov dword [rsp + 0x40], r13d
lea rcx, [rbp + 8]
call fcn.140021820
nop
lea rcx, [rbp + 0x28]
call fcn.140021820
nop
lea rcx, [rbp + 0x88]
call fcn.140021820
mov rdi, qword [rsi - 0x30]
mov r14, qword [rsi - 0x28]
cmp rdi, r14
je 0x1400416bc
nop
mov rax, qword [rdi]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rdi + 8]
mov qword [rbp + 0x1d8], rax
lea rdx, [rdi + 0x10]
lea rcx, [rbp + 0x1e0]
call fcn.14001e150
nop
lea rdx, [rdi + 0x30]
lea rcx, [rbp + 0x200]
call fcn.14001af00
nop
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x200]
call fcn.14003e9a0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x140041556
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x170]
call fcn.140021880
nop
lea rcx, [rbp - 0x78]
call fcn.140021820
cmp qword [rbp + 0x1d0], 1
jbe 0x140041582
lea rdx, [0x1401215d8]
jmp 0x140041596
test qword [rbp + 0x1d8], 0x100
je 0x1400415a8
lea rdx, [0x140122f3c]
mov r8d, 1
lea rcx, [rbp + 0x170]
call fcn.140021880
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0x1f0]
sub rax, rcx
cmp rax, 1
jb 0x140041842
lea rax, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0xf
cmova rax, qword [rbp + 0x1e0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x140122c58]
lea rcx, [rbp + 0x68]
call fcn.1400296d0
nop
mov r8d, 2
lea rdx, [0x14011e614]
lea rcx, [rbp + 0x68]
call fcn.140021880
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r13d, 3
mov dword [rsp + 0x40], r13d
lea rdx, [rsp + 0x50]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp + 0x170]
call fcn.140021880
nop
lea rcx, [rsp + 0x50]
call fcn.140021820
nop
lea rcx, [rbp + 0x68]
call fcn.140021820
nop
lea rcx, [rbp + 0x230]
call fcn.140020990
lea rcx, [rbp + 0x210]
call fcn.140021820
lea rcx, [rbp + 0x1e0]
call fcn.140021820
add rdi, 0x78
cmp rdi, r14
jne 0x140041500
mov rcx, qword [rsi - 0x28]
sub rcx, qword [rsi - 0x30]
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14004171a
mov rax, qword [rbp + 0x180]
lea rcx, [rax - 2]
cmp rax, rcx
jb 0x14004182a
lea rax, [rbp + 0x170]
cmp qword [rbp + 0x188], 0xf
cmova rax, qword [rbp + 0x170]
mov qword [rbp + 0x180], rcx
mov byte [rax + rcx], 0
mov r8d, 2
lea rdx, [0x140122f40]
lea rcx, [rbp + 0x170]
call fcn.140021880
lea rax, [rsi + 0x28]
cmp qword [rsi + 0x40], 0xf
jbe 0x140041741
mov rax, qword [rax]
lea r8, [rbp + 0x170]
cmp qword [rbp + 0x188], 0xf
cmova r8, qword [rbp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsi + 0x48]
lea rdx, str._t_____120s_____0x_llx____20s
lea rcx, [rbp + 0x720]
call fcn.140043f70
lea rdx, [rbp + 0x720]
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi + 8]
call fcn.140023950
mov rcx, rax
call fcn.140023c00
nop
lea rcx, [rbp + 0x170]
call fcn.140021820
add r15, 0xe0
add rsi, 0xe0
cmp r15, r12
mov r14d, 0
jne 0x140041390
lea rdx, str.__n_n
mov rcx, qword [rdi + 8]
call fcn.140023950
nop
lea rcx, [rbp + 0x190]
call fcn.1400174f0
mov r12, qword [rsp + 0x70]
add r12, 8
mov qword [rsp + 0x70], r12
cmp r12, qword [rbp - 0x80]
je 0x1400417f6
mov r15, qword [rsp + 0x48]
jmp 0x140040650
mov rcx, qword [rbp + 0xbd0]
xor rcx, rsp
call fcn.1400d16f0
lea r11, [rsp + 0xd00]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140022d20
nop
call fcn.1400e2980
nop
call fcn.1400e2980
nop
call fcn.1400e2980
nop
call fcn.140002060
int3