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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov r13, r8
mov r15, rdx
mov rsi, rcx
mov rdx, r8
mov rcx, r15
call fcn.14006acd0
mov rax, qword [rsi + 0xc0]
cmp byte [rax + 0x110], 0
jne 0x140032a4e
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x90], 0
movdqu xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], 0
mov r8d, 8
lea rdx, str.password
lea rcx, [rsp + 0x70]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.14010c3d0
test al, al
sete bl
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x10
jb 0x140032681
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003267c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330d0
call fcn.14014f740
test bl, bl
je 0x1400326d6
mov rcx, r13
call fcn.14006a490
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x1400326d1
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400326cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330d6
call fcn.14014f740
jmp 0x1400330bd
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], 0
mov r8d, 8
lea rdx, str.password
lea rcx, [rsp + 0x70]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.14010be60
mov rcx, rax
call fcn.14010ca80
test al, al
sete bl
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x10
jb 0x14003275e
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032759
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330dc
call fcn.14014f740
test bl, bl
je 0x1400327b3
mov rcx, r13
call fcn.14006a490
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x1400327ae
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400327a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330e2
call fcn.14014f740
jmp 0x1400330bd
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], 0
mov r8d, 8
lea rdx, str.password
lea rcx, [rsp + 0x70]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.14010be60
mov rcx, rax
call fcn.14010c810
lea rcx, [rsp + 0x90]
cmp rcx, rax
je 0x140032822
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x140032811
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.14001e6d0
nop
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x10
jb 0x140032862
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003285d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330e8
call fcn.14014f740
lea rdx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0x10
cmovae rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa0]
add r8, rdx
lea rdx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0x10
cmovae rdx, qword [rsp + 0x90]
xor edi, edi
mov qword [rsp + 0x70], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
movzx r9d, byte [rsp + 0x2b8]
lea rcx, [rsp + 0x70]
call fcn.14001b5a0
nop
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
sub rdx, rbx
mov dword [rsp + 0x40], 0x100000
mov dword [rsp + 0x38], 0x200000
mov dword [rsp + 0x30], 0x200000
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rcx, rbx
call fcn.140111820
mov rdx, qword [rsi + 0xc0]
add rdx, 0x1c8
lea r8d, [rdi + 0x20]
lea rcx, [rsp + 0x50]
call fcn.14016dc00
test eax, eax
je 0x1400329cb
mov rcx, r13
call fcn.14006a490
nop
test rbx, rbx
je 0x140032983
mov rdx, qword [rsp + 0x80]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x14003297a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330ee
mov rcx, rbx
call fcn.14014f740
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x1400329c6
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400329c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330f4
call fcn.14014f740
jmp 0x1400330bd
test rbx, rbx
je 0x140032a09
mov rdx, qword [rsp + 0x80]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x140032a00
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400330fa
mov rcx, rbx
call fcn.14014f740
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x140032a50
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032a47
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033100
call fcn.14014f740
jmp 0x140032a50
xor edi, edi
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov r8d, 6
lea rdx, str.method
lea rcx, [rsp + 0x50]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.14010c3d0
test al, al
sete bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140032aca
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032ac5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033106
call fcn.14014f740
test bl, bl
je 0x140032b58
lea rcx, [rsi + 0x108]
lea r9, [0x14027b640]
mov r8d, 2
lea rdx, [rsp + 0x118]
call fcn.1400fde20
nop
lea rbx, [rax + 0x68]
lea rdx, str.Field__method__is_not_found_in_json_request:
mov rcx, rbx
call fcn.14001abc0
mov rdx, r15
mov rcx, rbx
call fcn.14010b740
nop
lea rcx, [rsp + 0x118]
call fcn.1400fd530
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x1f8], rax
lea rcx, [rsp + 0x1f8]
call fcn.14012f920
nop
mov r8d, 0xfffff1f0
lea rdx, str.Invalid_Request
mov rcx, r13
call fcn.14006a1e0
jmp 0x1400330bd
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov r8d, 6
lea rdx, str.method
lea rcx, [rsp + 0x50]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.14010be60
mov rcx, rax
call fcn.14010ca80
test al, al
sete bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140032bda
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032bd5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003310c
call fcn.14014f740
test bl, bl
je 0x140032c68
lea rcx, [rsi + 0x108]
lea r9, [0x14027b640]
mov r8d, 2
lea rdx, [rsp + 0x118]
call fcn.1400fde20
nop
lea rbx, [rax + 0x68]
lea rdx, str.Field__method__is_not_a_string_type:
mov rcx, rbx
call fcn.14001abc0
mov rdx, r15
mov rcx, rbx
call fcn.14010b740
nop
lea rcx, [rsp + 0x118]
call fcn.1400fd530
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x1f8], rax
lea rcx, [rsp + 0x1f8]
call fcn.14012f920
nop
mov r8d, 0xfffff1f0
lea rdx, str.Invalid_Request
mov rcx, r13
call fcn.14006a1e0
jmp 0x1400330bd
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x90], 0
mov r8d, 6
lea rdx, str.method
lea rcx, [rsp + 0x90]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.14010be60
mov rcx, rax
call fcn.14010c810
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.14001c370
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x140032d08
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032d03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033112
call fcn.14014f740
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x90], 0
lea rdx, [rsp + 0xb0]
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc8]
cmp r9, 0x10
cmovae rdx, r8
movabs rcx, 0xcbf29ce484222325
mov r14, qword [rsp + 0xc0]
test r14, r14
je 0x140032d75
movabs r10, 0x100000001b3
movzx eax, byte [rdi + rdx]
xor rcx, rax
imul rcx, r10
inc rdi
cmp rdi, r14
jb 0x140032d62
mov rax, qword [rsi + 0x168]
and rax, rcx
shl rax, 4
mov rdx, qword [rsi + 0x150]
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rax + rdx]
mov qword [rsp + 0x2b8], rcx
mov rbx, rcx
add rax, 8
mov qword [rsp + 0xd8], rax
mov rdi, qword [rsi + 0x140]
cmp rcx, rdi
jne 0x140032dbe
mov rax, rdi
jmp 0x140032dc5
mov rax, qword [rax + rdx]
mov rax, qword [rax]
cmp rbx, rax
je 0x140032e69
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0xb0]
cmp r9, 0x10
cmovae rdx, r8
mov rsi, qword [rcx + 0x10]
mov r12, qword [rcx + 0x18]
cmp r12, 0x10
jb 0x140032df3
mov rcx, qword [rcx]
cmp rsi, r14
jne 0x140032e14
mov r8, rsi
call fcn.14016dc00
test eax, eax
je 0x140032e31
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc8]
mov rbx, qword [rbx]
mov rcx, qword [rsp + 0x2b8]
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
jmp 0x140032db4
lea rdx, [rbx + 0x10]
cmp r12, 0x10
jb 0x140032e3e
mov rdx, qword [rdx]
lea rcx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rcx, qword [rsp + 0xb0]
cmp r14, rsi
jne 0x140032e69
mov r8, r14
call fcn.14016dc00
test eax, eax
je 0x140032e6c
mov rbx, rdi
mov rsi, qword [rsp + 0x2a0]
lea rcx, [rsi + 0x108]
lea r9, [0x14027b640]
lea rdx, [rsp + 0x118]
cmp rbx, qword [rsi + 0x140]
jne 0x140032f5d
mov r8d, 2
call fcn.1400fde20
nop
lea rbx, [rax + 0x68]
lea rdx, str.Requested_method_not_found:
mov rcx, rbx
call fcn.14001abc0
lea rdx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov rcx, rbx
call fcn.14001b330
nop
lea rcx, [rsp + 0x118]
call fcn.1400fd530
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x1f8], rax
lea rcx, [rsp + 0x1f8]
call fcn.14012f920
nop
mov rcx, r13
call fcn.14006aa80
nop
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x140032f58
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032f53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140033118
call fcn.14014f740
jmp 0x1400330bd
mov r8d, 4
call fcn.1400fde20
nop
lea rdx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rdx, qword [rsp + 0xb0]
lea rdi, [rax + 0x68]
mov r8, qword [rsp + 0xc0]
mov rcx, rdi
call fcn.14001b330
lea rdx, str._request_came
mov rcx, rdi
call fcn.14001abc0
nop
lea rcx, [rsp + 0x118]
call fcn.1400fd530
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x1f8], rax
lea rcx, [rsp + 0x1f8]
call fcn.14012f920
nop
mov edx, 4
lea rcx, [rsp + 0xf0]
call fcn.14010aca0
nop
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov r8d, 6
lea rdx, str.params
lea rcx, [rsp + 0x50]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.14010c3d0
movzx edi, al
lea rcx, [rsp + 0x50]
call fcn.14001d000
test dil, dil
je 0x140033082
movdqa xmm0, xmmword [0x1401b6b30]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov r8d, 6
lea rdx, str.params
lea rcx, [rsp + 0x50]
call fcn.14001e6d0
nop
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.14010be60
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.14010b1e0
nop
lea rcx, [rsp + 0x50]
call fcn.14001d000
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x14003311e
mov rax, qword [rcx]
mov r8, r13
lea rdx, [rsp + 0xf0]
call qword [rax + 0x10]
nop
lea rcx, [rsp + 0xf0]
call fcn.14010ae90
nop
lea rcx, [rsp + 0xb0]
call fcn.14001d000
nop
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.1401705dc
int3
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.1401705dc
int3
call fcn.1401705dc
int3
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.1401705dc
nop
call fcn.14012eb5c
int3