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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x360]
sub rsp, 0x460
mov rax, qword [0x14006f0d0]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov r14, r9
mov qword [rsp + 0x58], r9
mov rsi, r8
mov rbx, rdx
mov r12, rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp + 0x10], rcx
mov rdi, qword [rbp + 0x3c0]
mov qword [rsp + 0x50], rdi
xor r15d, r15d
mov dword [rsp + 0x30], r15d
xorps xmm0, xmm0
movups xmmword [rbp + 0x118], xmm0
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x130], r15
lea r8d, [r15 + 2]
lea rdx, [0x140061450]
lea rcx, [rbp + 0x118]
call fcn.140008c60
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xf8], xmm0
mov qword [rbp + 0x108], r15
mov qword [rbp + 0x110], r15
lea r8d, [r15 + 6]
lea rdx, str.__n_v_f_r_t
lea rcx, [rbp + 0xf8]
call fcn.140008c60
nop
lea rax, [0x140066098]
mov qword [rbp + 0x180], rax
lea rax, [rbp + 0x180]
mov qword [rbp + 0x1b8], rax
cmp byte [rdi + 1], r15b
je 0x14001d4bb
lea rax, fcn.140020df0
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x1f8], r15
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp - 0x70]
call fcn.140020df0
mov rcx, rax
mov qword [rbp + 0x1f8], rax
mov r8, qword [rbp - 0x38]
test r8, r8
je 0x14001d3b7
mov rax, qword [r8]
lea rcx, [rbp - 0x70]
cmp r8, rcx
setne dl
mov rcx, r8
call qword [rax + 0x20]
mov r8d, r15d
mov qword [rbp - 0x38], r15
mov rcx, qword [rbp + 0x1f8]
mov r9, qword [rbp + 0x1b8]
test r9, r9
je 0x14001d426
lea rax, [rbp + 0x180]
cmp r9, rax
jne 0x14001d418
mov rax, qword [r9]
lea rdx, [rbp - 0x70]
mov rcx, r9
call qword [rax + 8]
mov r8, rax
mov qword [rbp - 0x38], rax
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
je 0x14001d40f
mov rax, qword [rcx]
lea rdx, [rbp + 0x180]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x1f8]
jmp 0x14001d41f
mov rcx, qword [rbp + 0x1f8]
jmp 0x14001d426
mov r8, r9
mov qword [rbp - 0x38], r9
mov qword [rbp + 0x1b8], r15
test rcx, rcx
je 0x14001d4a3
lea rax, [rbp + 0x1c0]
cmp rcx, rax
jne 0x14001d476
mov rax, qword [rcx]
lea rdx, [rbp + 0x180]
call qword [rax + 8]
mov qword [rbp + 0x1b8], rax
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
je 0x14001d470
mov rax, qword [rcx]
lea rdx, [rbp + 0x1c0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp - 0x38]
jmp 0x14001d47d
mov r8, qword [rbp - 0x38]
jmp 0x14001d487
mov qword [rbp + 0x1b8], rcx
mov rcx, r15
mov qword [rbp + 0x1f8], rcx
test rcx, rcx
je 0x14001d4a3
mov rax, qword [rcx]
lea rdx, [rbp + 0x1c0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp - 0x38]
test r8, r8
je 0x14001d4bb
mov rax, qword [r8]
lea rcx, [rbp - 0x70]
cmp r8, rcx
setne dl
mov rcx, r8
call qword [rax + 0x20]
lea rax, [rbp + 0xf8]
mov qword [rbp + 0x80], rax
lea rax, [0x140065e98]
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x140]
mov qword [rbp + 0x178], rax
cmp byte [rdi], 0
jne 0x14001d650
lea rax, fcn.140020dc0
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x30]
mov qword [rbp + 8], rax
mov qword [rbp + 0x238], r15
lea rdx, [rbp + 0x200]
lea rcx, [rbp - 0x30]
call fcn.140020dc0
mov rcx, rax
mov qword [rbp + 0x238], rax
mov r8, qword [rbp + 8]
test r8, r8
je 0x14001d54c
mov rax, qword [r8]
lea rcx, [rbp - 0x30]
cmp r8, rcx
setne dl
mov rcx, r8
call qword [rax + 0x20]
mov r8, r15
mov qword [rbp + 8], r15
mov rcx, qword [rbp + 0x238]
mov r9, qword [rbp + 0x178]
test r9, r9
je 0x14001d5bb
lea rax, [rbp + 0x140]
cmp r9, rax
jne 0x14001d5ad
mov rax, qword [r9]
lea rdx, [rbp - 0x30]
mov rcx, r9
call qword [rax + 8]
mov r8, rax
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x14001d5a4
mov rax, qword [rcx]
lea rdx, [rbp + 0x140]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp + 8]
mov rcx, qword [rbp + 0x238]
jmp 0x14001d5b4
mov rcx, qword [rbp + 0x238]
jmp 0x14001d5bb
mov r8, r9
mov qword [rbp + 8], r9
mov qword [rbp + 0x178], r15
test rcx, rcx
je 0x14001d638
lea rax, [rbp + 0x200]
cmp rcx, rax
jne 0x14001d60b
mov rax, qword [rcx]
lea rdx, [rbp + 0x140]
call qword [rax + 8]
mov qword [rbp + 0x178], rax
mov rcx, qword [rbp + 0x238]
test rcx, rcx
je 0x14001d605
mov rax, qword [rcx]
lea rdx, [rbp + 0x200]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp + 8]
jmp 0x14001d612
mov r8, qword [rbp + 8]
jmp 0x14001d61c
mov qword [rbp + 0x178], rcx
mov rcx, r15
mov qword [rbp + 0x238], rcx
test rcx, rcx
je 0x14001d638
mov rax, qword [rcx]
lea rdx, [rbp + 0x200]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp + 8]
test r8, r8
je 0x14001d650
mov rax, qword [r8]
lea rcx, [rbp - 0x30]
cmp r8, rcx
setne dl
mov rcx, r8
call qword [rax + 0x20]
lea rax, [rbp + 0x80]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x180]
mov qword [rbp - 0x78], rax
mov r13, r15
mov qword [rsp + 0x40], r15
mov qword [rbp + 0x88], r15
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12], r15
mov qword [r12 + 8], r15
mov qword [r12 + 0x10], r15
mov r15d, 1
mov dword [rsp + 0x30], r15d
xor eax, eax
movups xmmword [rbp + 0xc0], xmm0
movdqu xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], rax
lea ecx, [rax + 0x10]
call fcn.140022c98
mov qword [rax + 8], 0
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xb0]
mov qword [rax], rcx
cmp rbx, rsi
je 0x14001e736
cmp byte [rbx], 0
je 0x14001e736
cmp rbx, rsi
je 0x14001e736
mov rdx, qword [rbp + 0x80]
mov r9, qword [rdx + 0x18]
mov r8, qword [rdx + 0x10]
nop word [rax + rax]
movzx ecx, byte [rbx]
mov rdx, qword [rbp + 0x80]
cmp r9, 0x10
jb 0x14001d72b
mov rax, qword [rdx]
add rax, r8
mov rdx, qword [rdx]
jmp 0x14001d72f
lea rax, [rdx + r8]
cmp rdx, rax
je 0x14001d745
cmp byte [rdx], cl
je 0x14001d73d
inc rdx
jmp 0x14001d72f
inc rbx
cmp rbx, rsi
jne 0x14001d710
cmp rbx, rsi
je 0x14001e736
movzx eax, byte [rbx]
test al, al
je 0x14001e736
cmp al, 0x2f
jne 0x14001d853
inc rbx
cmp rbx, rsi
jne 0x14001d771
mov rbx, rsi
jmp 0x14001d83c
cmp byte [rbx], 0x2f
jne 0x14001d795
lea rcx, [rbx + 1]
mov r8b, 0xa
mov rdx, rsi
call fcn.140022710
mov rbx, rax
cmp rax, rsi
jne 0x14001d795
mov rbx, rsi
jmp 0x14001d83c
cmp byte [rbx], 0x2a
jne 0x14001d83c
lea rcx, [rbp + 0x118]
mov r14, qword [rbp + 0x128]
cmp qword [rbp + 0x130], 0x10
jb 0x14001d7c2
mov r15, qword [rbp + 0x118]
add r14, r15
jmp 0x14001d7cc
add r14, rcx
lea r15, [rbp + 0x118]
lea rdi, [rbx + 1]
mov rbx, rsi
sub r14, r15
mov rax, rsi
sub rax, rdi
cmp rax, r14
jl 0x14001d827
mov r12, rbx
sub r12, r14
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.140025830
test eax, eax
sete al
test al, al
jne 0x14001d81f
nop
cmp rdi, r12
je 0x14001d822
inc rdi
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.140025830
test eax, eax
sete al
test al, al
je 0x14001d800
mov rbx, rdi
mov r12, qword [rsp + 0x48]
mov rax, rsi
sub rax, rbx
cmp rax, 2
jg 0x14001d838
mov rbx, rsi
jmp 0x14001d83c
add rbx, 2
cmp rbx, rsi
je 0x14001e896
cmp byte [rbx], 0
je 0x14001e896
jmp 0x14001e71d
cmp al, 0x7d
je 0x14001e638
cmp al, 0x22
jne 0x14001d8b7
mov rdi, rbx
nop dword [rax]
nop word [rax + rax]
lea rcx, [rdi + 1]
mov r8b, 0x22
mov rdx, rsi
call fcn.140022710
mov rdi, rax
cmp rax, rsi
sete dl
je 0x14001d8aa
dec rax
cmp rax, rbx
je 0x14001d89f
cmp byte [rax], 0x5c
jne 0x14001d89f
dec rax
cmp rax, rbx
jne 0x14001d892
mov rcx, rdi
sub rcx, rax
test cl, 1
je 0x14001d870
test dl, dl
jne 0x14001e8b7
jmp 0x14001d965
mov rcx, rbx
mov r11, qword [rbp + 0x110]
mov r9, qword [rbp + 0x108]
mov r10, qword [rbp + 0xf8]
nop
inc rcx
lea rax, [rbp + 0xf8]
cmp r11, 0x10
jb 0x14001d8e9
lea rax, [r10 + r9]
mov r8, r10
jmp 0x14001d8f3
add rax, r9
lea r8, [rbp + 0xf8]
mov rdi, rcx
cmp rcx, rsi
je 0x14001d924
nop dword [rax + rax]
mov rcx, r8
cmp r8, rax
je 0x14001d91c
movzx edx, byte [rdi]
nop dword [rax + rax]
cmp dl, byte [rcx]
je 0x14001d924
inc rcx
cmp rcx, rax
jne 0x14001d910
inc rdi
cmp rdi, rsi
jne 0x14001d900
mov rcx, rdi
cmp rdi, rsi
sete r8b
je 0x14001d95c
lea rax, [rdi - 1]
cmp rax, rbx
je 0x14001d94d
nop dword [rax]
cmp byte [rax], 0x5c
jne 0x14001d94d
dec rax
cmp rax, rbx
jne 0x14001d940
mov rdx, rdi
sub rdx, rax
test dl, 1
je 0x14001d8d0
test r8b, r8b
jne 0x14001ea85
cmp byte [rbx], 0x22
jne 0x14001d96d
inc rbx
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0x90]
call fcn.14001f990
nop
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x14001ea7f
mov rax, qword [rcx]
lea rdx, [rbp + 0x90]
call qword [rax + 0x10]
xor eax, eax
cmp byte [rdi], 0x22
sete al
lea r8, [rax + rdi]
mov qword [rbp + 0x40], r8
cmp r8, rsi
je 0x14001ea5e
mov r9, qword [rbp + 0x80]
mov r11, qword [r9 + 0x18]
mov r10, qword [r9 + 0x10]
movzx ecx, byte [r8]
cmp r11, 0x10
jb 0x14001d9da
mov rax, qword [r9]
add rax, r10
mov rdx, qword [r9]
jmp 0x14001d9e1
lea rax, [r9 + r10]
mov rdx, r9
cmp rdx, rax
je 0x14001d9f7
cmp byte [rdx], cl
je 0x14001d9ef
inc rdx
jmp 0x14001d9e1
inc r8
cmp r8, rsi
jne 0x14001d9c5
mov qword [rbp + 0x40], r8
lea r8, [rbp + 0x3b0]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.14001ecf0
test al, al
jne 0x14001da64
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x14001da54
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001da4f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001ea37
call fcn.140022b70
mov rsi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x40]
jmp 0x14001e71d
mov rbx, qword [rbp + 0x40]
mov rsi, qword [rbp + 0x3b0]
cmp rbx, rsi
je 0x14001ea3d
cmp byte [rbx], 0x2f
jne 0x14001dbfe
mov r13, qword [rbp + 0x80]
nop dword [rax + rax]
lea rax, [rbx + 1]
mov rbx, rax
cmp rax, rsi
jne 0x14001daa4
mov rbx, rsi
jmp 0x14001db6f
cmp byte [rax], 0x2f
jne 0x14001dacf
lea rcx, [rax + 1]
mov r8b, 0xa
mov rdx, rsi
call fcn.140022710
mov rbx, rax
mov r13, qword [rbp + 0x80]
cmp rax, rsi
jne 0x14001dacf
mov rbx, rsi
jmp 0x14001db6f
cmp byte [rbx], 0x2a
jne 0x14001db6f
lea rcx, [rbp + 0x118]
mov r14, qword [rbp + 0x128]
cmp qword [rbp + 0x130], 0x10
jb 0x14001dafc
mov r15, qword [rbp + 0x118]
add r14, r15
jmp 0x14001db06
add r14, rcx
lea r15, [rbp + 0x118]
lea rdi, [rbx + 1]
mov rbx, rsi
sub r14, r15
mov rax, rsi
sub rax, rdi
cmp rax, r14
jl 0x14001db5a
mov r12, rbx
sub r12, r14
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.140025830
test eax, eax
sete al
test al, al
jne 0x14001db57
cmp rdi, r12
je 0x14001db5a
inc rdi
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.140025830
test eax, eax
sete al
test al, al
je 0x14001db38
mov rbx, rdi
mov rax, rsi
sub rax, rbx
cmp rax, 2
jg 0x14001db6b
mov rbx, rsi
jmp 0x14001db6f
add rbx, 2
cmp rbx, rsi
je 0x14001e93b
movzx ecx, byte [rbx]
cmp cl, 0x7d
je 0x14001e93b
cmp rbx, rsi
je 0x14001e91a
mov r9, qword [r13 + 0x18]
mov r8, qword [r13 + 0x10]
cmp r9, 0x10
jb 0x14001dba8
mov rax, qword [r13]
add rax, r8
mov rdx, qword [r13]
jmp 0x14001dbaf
lea rax, [r8 + r13]
mov rdx, r13
cmp rdx, rax
je 0x14001dbce
cmp byte [rdx], cl
je 0x14001dbbd
inc rdx
jmp 0x14001dbaf
inc rbx
cmp rbx, rsi
je 0x14001e91a
movzx ecx, byte [rbx]
jmp 0x14001db95
cmp rbx, rsi
je 0x14001e91a
movzx eax, byte [rbx]
cmp al, 0x7d
je 0x14001e91a
cmp al, 0x2f
je 0x14001da90
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov r15d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
movzx eax, byte [rbx]
cmp al, 0x7b
je 0x14001e449
cmp rbx, rsi
je 0x14001ea10
cmp al, 0x22
jne 0x14001dc67
mov rdi, rbx
nop dword [rax]
lea rcx, [rdi + 1]
mov r8b, 0x22
mov rdx, rsi
call fcn.140022710
mov rdi, rax
cmp rax, rsi
sete dl
je 0x14001dc5a
dec rax
cmp rax, rbx
je 0x14001dc4f
cmp byte [rax], 0x5c
jne 0x14001dc4f
dec rax
cmp rax, rbx
jne 0x14001dc42
mov rcx, rdi
sub rcx, rax
test cl, 1
je 0x14001dc20
test dl, dl
jne 0x14001e8d8
jmp 0x14001dd15
mov rcx, rbx
mov r11, qword [rbp + 0x110]
mov r9, qword [rbp + 0x108]
mov r10, qword [rbp + 0xf8]
nop
inc rcx
lea rax, [rbp + 0xf8]
cmp r11, 0x10
jb 0x14001dc99
lea rax, [r10 + r9]
mov r8, r10
jmp 0x14001dca3
add rax, r9
lea r8, [rbp + 0xf8]
mov rdi, rcx
cmp rcx, rsi
je 0x14001dcd4
nop dword [rax + rax]
mov rcx, r8
cmp r8, rax
je 0x14001dccc
movzx edx, byte [rdi]
nop dword [rax + rax]
cmp dl, byte [rcx]
je 0x14001dcd4
inc rcx
cmp rcx, rax
jne 0x14001dcc0
inc rdi
cmp rdi, rsi
jne 0x14001dcb0
mov rcx, rdi
cmp rdi, rsi
sete r8b
je 0x14001dd0c
lea rax, [rdi - 1]
cmp rax, rbx
je 0x14001dcfd
nop dword [rax]
cmp byte [rax], 0x5c
jne 0x14001dcfd
dec rax
cmp rax, rbx
jne 0x14001dcf0
mov rdx, rdi
sub rdx, rax
test dl, 1
je 0x14001dc80
test r8b, r8b
jne 0x14001e9ef
cmp rdi, rsi
je 0x14001e9ce
cmp byte [rbx], 0x22
jne 0x14001dd26
inc rbx
cmp rbx, rsi
je 0x14001e9ad
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0xd8]
call fcn.14001f990
nop
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x14001e9a7
mov rax, qword [rcx]
lea rdx, [rbp + 0xd8]
call qword [rax + 0x10]
xor eax, eax
cmp byte [rdi], 0x22
sete al
add rax, rdi
mov qword [rbp + 0x40], rax
lea r8, [rbp + 0x3b0]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.14001ecf0
test al, al
jne 0x14001de3d
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0x10
jb 0x14001ddcb
inc rdx
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ddc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e980
call fcn.140022b70
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x14001da54
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001de28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e95c
call fcn.140022b70
mov rsi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x40]
jmp 0x14001e71d
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
setae dil
cmovae rcx, qword [rbp + 0x90]
mov rbx, qword [rbp + 0xa0]
cmp rbx, 8
jne 0x14001de78
mov r8, rbx
lea rdx, str.include
call fcn.140025830
test eax, eax
je 0x14001deab
lea rcx, [rbp + 0x90]
test dil, dil
cmovne rcx, qword [rbp + 0x90]
cmp rbx, 5
jne 0x14001e2d6
mov r8, rbx
lea rdx, str.base
call fcn.140025830
test eax, eax
jne 0x14001e2d6
mov rsi, qword [rsp + 0x50]
cmp byte [rsi + 2], 0
jne 0x14001e3f7
lea r8, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 0x10
setae r15b
cmovae r8, qword [rbp + 0xd8]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
mov rdi, qword [rbp + 0xe8]
test rdi, rdi
je 0x14001df19
movabs r12, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r12
inc rcx
cmp rcx, rdi
jb 0x14001df00
mov r12, qword [rsp + 0x48]
mov rcx, qword [r14 + 0x30]
and rcx, rdx
mov rdx, qword [r14 + 0x18]
mov rax, rcx
add rax, rax
mov rbx, qword [rdx + rax*8 + 8]
mov r14, qword [r14 + 8]
cmp rbx, r14
je 0x14001df8c
add rcx, rcx
mov rsi, qword [rdx + rcx*8]
nop
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14001df52
mov rdx, qword [rdx]
lea rcx, [rbp + 0xd8]
test r15b, r15b
cmovne rcx, qword [rbp + 0xd8]
cmp rdi, rax
jne 0x14001df75
mov r8, rdi
call fcn.140025830
test eax, eax
je 0x14001df80
cmp rbx, rsi
je 0x14001df87
mov rbx, qword [rbx + 8]
jmp 0x14001df40
mov rsi, qword [rsp + 0x50]
jmp 0x14001df8e
mov rsi, qword [rsp + 0x50]
xor ebx, ebx
test rbx, rbx
cmovne r14, rbx
mov r15, qword [rsp + 0x58]
cmp r14, qword [r15 + 8]
jne 0x14001e3f7
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x20]
mov rcx, r15
call fcn.14001fc70
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0x240]
call fcn.1400253f0
nop
lea rdx, [rbp + 0xd8]
lea rcx, [rsp + 0x60]
call fcn.1400067a0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x240]
call fcn.14001f3e0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14001e02d
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e028
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e962
call fcn.140022b70
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xor r14d, r14d
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], r14b
or dword [rsp + 0x30], 4
lea r8d, [r14 + 2]
lea rcx, [rbp + 0x240]
call fcn.14001ce40
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x240]
call fcn.14001cd60
mov rdx, qword [rax + 8]
add rdx, qword [rax]
xor r8d, r8d
lea rcx, [rbp + 0x60]
call fcn.14001b850
mov rax, qword [rbp + 0x70]
test rax, rax
jne 0x14001e090
mov dword [rsp + 0x30], r14d
jmp 0x14001e0c6
xor r8d, r8d
lea rcx, [rbp + 0x240]
call fcn.14001ce40
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0x10
cmovae rdx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x70]
lea rcx, [rbp + 0x240]
call fcn.14001d030
mov dword [rsp + 0x30], r14d
mov rax, qword [rbp + 0x70]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], rcx
lea rcx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0x10
jb 0x14001e0e8
mov rdx, qword [rbp + 0x60]
lea r8, [rax + rdx]
jmp 0x14001e0f0
lea r8, [rax + rcx]
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x20], rsi
mov r9, r15
lea rcx, [rbp + 0x48]
call fcn.14001d270
nop
mov rbx, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x50]
cmp rbx, rdi
je 0x14001e166
test r13, r13
setne sil
test sil, sil
je 0x14001e135
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
mov rcx, r13
call fcn.14001cc50
jmp 0x14001e15d
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x14001e152
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x14001e15d
mov r8, rbx
mov rcx, r12
call fcn.1400209e0
add rbx, 8
cmp rbx, rdi
jne 0x14001e116
lea rdx, [rbp + 0xd8]
mov rcx, r15
call fcn.14001fac0
nop
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x14001e1fe
mov rsi, qword [rbp + 0x50]
cmp rbx, rsi
je 0x14001e1b2
mov rdi, qword [rbx]
test rdi, rdi
je 0x14001e1a5
mov rcx, rdi
call fcn.140018670
mov edx, 0xa0
mov rcx, rdi
call fcn.140022b70
add rbx, 8
cmp rbx, rsi
jne 0x14001e188
mov rbx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x58]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14001e1ea
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e968
mov rcx, rbx
call fcn.140022b70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r14
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x14001e239
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e234
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e96e
call fcn.140022b70
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
mov rax, qword [rbp + 0x240]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x240], rax
mov rax, qword [rbp + 0x240]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x23c], edx
lea rcx, [rbp + 0x250]
call fcn.140006040
mov rax, qword [rbp + 0x240]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x240], rax
mov rax, qword [rbp + 0x240]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x23c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x2f0], rax
lea rcx, [rbp + 0x2f0]
call fcn.140021654
nop
jmp 0x14001e3f7
test r13, r13
je 0x14001e986
movups xmm0, xmmword [rbp + 0xd8]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0xe8]
movups xmmword [rsp + 0x70], xmm1
xor r14d, r14d
mov qword [rbp + 0xe8], r14
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], r14b
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x70], xmm1
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], r14b
lea rax, [rbp + 0x60]
mov qword [rbp + 0x138], rax
lea rcx, [r13 + 0x20]
lea r9, [rsp + 0x60]
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x30]
call fcn.14001ffc0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x14001e3a9
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e3a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e974
call fcn.140022b70
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14001e3f7
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e3f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e97a
call fcn.140022b70
nop
mov rax, qword [rbp + 0xf0]
cmp rax, 0x10
jb 0x14001e439
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e434
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e980
call fcn.140022b70
mov rsi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x40]
jmp 0x14001e5ed
test r13, r13
je 0x14001e515
mov rdx, qword [rbp + 0xc8]
mov r8, qword [rbp + 0xd0]
lea eax, [r8 + rdx]
mov rcx, qword [rbp + 0xc0]
test al, 1
jne 0x14001e49c
lea rax, [r8 + 2]
shr rax, 1
cmp rcx, rax
ja 0x14001e49c
lea rcx, [rbp + 0xb0]
call fcn.140020540
mov r8, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xc0]
lea rax, [rcx*2 - 1]
and rdx, rax
mov qword [rbp + 0xc8], rdx
lea rdi, [r8 + rdx]
dec rcx
mov rax, rdi
shr rax, 1
and rcx, rax
lea r14, [rcx*8]
mov rax, qword [rbp + 0xb8]
cmp qword [rax + r14], 0
jne 0x14001e4f3
mov ecx, 0x10
call fcn.140022c98
mov rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [r14 + rax], rcx
mov rax, qword [rbp + 0xb8]
and edi, 1
mov rax, qword [r14 + rax]
lea rcx, [rax + rdi*8]
mov rax, r13
xor r13d, r13d
mov qword [rbp + 0x88], r13
mov qword [rcx], rax
inc qword [rbp + 0xd0]
mov ecx, 0xa0
call fcn.140022c98
mov rdi, rax
mov qword [rbp + 0x18], rax
xor edx, edx
mov r8d, 0xa0
mov rcx, rax
call fcn.1400253f0
mov rcx, rdi
call fcn.14001c880
mov r14, rax
or r15d, 2
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x88], rax
test r13, r13
je 0x14001e570
mov rcx, r13
call fcn.140018670
mov edx, 0xa0
mov rcx, r13
call fcn.140022b70
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0xa0]
movups xmmword [rbp + 0x70], xmm1
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
lea rdx, [rbp + 0x60]
mov rcx, r14
call fcn.14000a870
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x14001e5ea
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e5e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001ea31
call fcn.140022b70
inc rbx
mov rax, qword [rbp + 0xa8]
cmp rax, 0x10
jb 0x14001e71d
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e62e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001ea37
call fcn.140022b70
jmp 0x14001e71d
test r13, r13
je 0x14001eaa6
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x14001e6c3
mov rdx, qword [rbp + 0xc8]
dec rcx
add rdx, rcx
mov rcx, qword [rbp + 0xc0]
dec rcx
mov rax, rdx
shr rax, 1
and rcx, rax
and edx, 1
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + rdx*8]
xor r14d, r14d
mov qword [rcx + rdx*8], r14
mov qword [rbp + 0x138], rdi
lea rcx, [rbp + 0xb0]
call fcn.14001f5a0
mov qword [rbp + 0x88], r14
mov qword [rsp + 0x38], r13
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.14001cc50
mov rax, rdi
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x88], rax
jmp 0x14001e71a
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x14001e6dc
xor edi, edi
mov qword [rdx], r13
add qword [r12 + 8], 8
jmp 0x14001e6f2
lea r8, [rbp + 0x88]
mov rcx, r12
call fcn.1400209e0
mov rdi, qword [rbp + 0x88]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x88], rax
test rdi, rdi
je 0x14001e71a
mov rcx, rdi
call fcn.140018670
mov edx, 0xa0
mov rcx, rdi
call fcn.140022b70
inc rbx
mov r13, qword [rsp + 0x40]
cmp rbx, rsi
je 0x14001e736
mov r15d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
jmp 0x14001d6e6
test r13, r13
jne 0x14001e8f9
cmp qword [rbp + 0xd0], r13
jne 0x14001e8f9
lea rcx, [rbp + 0xb0]
call fcn.14001f2c0
nop
test r13, r13
je 0x14001e774
mov rcx, r13
call fcn.140018670
mov edx, 0xa0
mov rcx, r13
call fcn.140022b70
nop
mov rcx, qword [rbp + 0x178]
test rcx, rcx
je 0x14001e79e
mov rax, qword [rcx]
lea rdx, [rbp + 0x140]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x178], 0
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
je 0x14001e7c8
mov rax, qword [rcx]
lea rdx, [rbp + 0x180]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x1b8], 0
mov rdx, qword [rbp + 0x110]
cmp rdx, 0x10
jb 0x14001e809
inc rdx
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e804
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001eac7
call fcn.140022b70
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 0xf
mov byte [rbp + 0xf8], 0
mov rdx, qword [rbp + 0x130]
cmp rdx, 0x10
jb 0x14001e863
inc rdx
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001e85e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001e890
call fcn.140022b70
mov rax, r12
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.140022b50
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14002e910
nop
lea rdx, str.Unexpected_eof
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.quote_was_opened_but_not_closed.
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
nop
lea rdx, str.quote_was_opened_but_not_closed.
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
nop
lea rdx, str.object_is_not_closed_with_
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
nop
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
nop
call fcn.14002e910
nop
call fcn.14002e910
nop
call fcn.14002e910
nop
call fcn.14002e910
nop
call fcn.14002e910
nop
call fcn.14002e910
nop
call fcn.14002e910
nop
lea rdx, str.unexpected_key_without_object
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
call fcn.14002112c
nop
lea rdx, str.No_closed_word
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.No_closed_word
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.word_wasnt_properly_ended
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
call fcn.14002e910
nop
call fcn.14002e910
nop
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.key_opened__but_never_closed
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
call fcn.14002112c
nop
lea rdx, str.word_wasnt_properly_ended
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
int3
lea rdx, str.unexpected_
lea rcx, [rbp + 0x48]
call fcn.14000d0e0
lea rdx, [0x14006d5c8]
lea rcx, [rbp + 0x48]
call fcn.140024c58
nop
call fcn.14002e910
int3