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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140094040]
xor rax, rsp
mov qword [rbp + 0x120], rax
xor r13d, r13d
lea r12d, [r13 + 0x40]
movabs r15, 0xcbf29ce484222325
movabs r14, 0x100000001b3
movss xmm15, dword [0x140085e20]
xorps xmm11, xmm11
movss xmm12, dword [0x140085bbc]
movss xmm14, dword [0x140085b34]
movss xmm13, dword [0x140085b54]
nop dword [rax]
movsxd rbx, r12d
mov rcx, rbx
sar rcx, 9
and ecx, 0x3f
mov rax, qword [0x140098110]
add rax, 0x10
lea rcx, [rax + rcx*8]
call fcn.140016250
test rax, rax
je 0x140007293
and ebx, 0x1ff
imul rcx, rbx, 0x78
add rcx, rax
call fcn.140016250
mov rbx, rax
test rax, rax
je 0x140007293
movsxd rcx, dword [0x1400940cc]
add rcx, rax
call fcn.140016250
movsxd rdx, dword [0x140094140]
add rdx, rax
lea rcx, [rbp]
call fcn.140016660
movsd xmm0, qword [rax]
movsd qword [rsp + 0x78], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x80], eax
lea r8, [0x1400981d0]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x78]
call fcn.140004530
test al, al
je 0x140007293
lea rcx, [rbx + 0x10]
call fcn.140016250
lea rcx, [rax + 0x20]
call fcn.140016250
movss xmm9, dword [rsp + 0x78]
ucomiss xmm9, xmm11
jp 0x14000679d
je 0x140007293
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0xa0]
mov rcx, rax
call fcn.140016470
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
lea rax, [rbp + 0xa0]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140006810
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x50]
call fcn.14000ee50
nop
lea rdx, [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
cmp rdi, 0xf
seta sil
mov rbx, qword [rsp + 0x50]
cmova rdx, rbx
mov r9, r15
mov rcx, r13
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140006873
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r14
inc rcx
cmp rcx, r8
jb 0x140006860
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x10]
lea rcx, [0x140098060]
call fcn.140026000
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400068a9
cmp rdx, qword [0x140098068]
je 0x1400068a9
add rdx, 0x30
lea rcx, [rbp + 0x60]
call fcn.14000ef50
jmp 0x1400068cf
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r13
mov r8d, 9
lea rdx, str._unknown_
lea rcx, [rbp + 0x60]
call fcn.14000ee50
nop
test sil, sil
je 0x140006905
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400068fd
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007319
mov rcx, rbx
call fcn.1400775c4
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
lea rax, [rbp + 0xa0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140006925
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x50]
call fcn.14000ee50
nop
lea rdx, [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
cmp rdi, 0xf
seta sil
mov rbx, qword [rsp + 0x50]
cmova rdx, rbx
mov r9, r15
mov rcx, r13
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140006983
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r14
inc rcx
cmp rcx, r8
jb 0x140006970
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x20]
lea rcx, [0x140097fe0]
call fcn.140026000
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400069b9
cmp rdx, qword [0x140097fe8]
je 0x1400069b9
add rdx, 0x30
lea rcx, [rbp + 0x40]
call fcn.14000ef50
jmp 0x1400069df
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], r13
mov r8d, 9
lea rdx, str._unknown_
lea rcx, [rbp + 0x40]
call fcn.14000ee50
nop
test sil, sil
je 0x140006a15
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140006a0d
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007312
mov rcx, rbx
call fcn.1400775c4
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
lea rax, [rbp + 0xa0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140006a35
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x50]
call fcn.14000ee50
nop
lea rdx, [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
cmp rdi, 0xf
seta sil
mov rbx, qword [rsp + 0x50]
cmova rdx, rbx
mov r9, r15
mov rcx, r13
mov r8, qword [rsp + 0x60]
test r8, r8
je 0x140006a93
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r14
inc rcx
cmp rcx, r8
jb 0x140006a80
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x30]
lea rcx, [0x140098020]
call fcn.140026000
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140006acc
cmp rdx, qword [0x140098028]
je 0x140006acc
add rdx, 0x30
lea rcx, [rbp + 0x80]
call fcn.14000ef50
jmp 0x140006afe
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], r13
mov r8d, 9
lea rdx, str._unknown_
lea rcx, [rbp + 0x80]
call fcn.14000ee50
nop
test sil, sil
je 0x140006b34
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140006b2c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000730b
mov rcx, rbx
call fcn.1400775c4
lea rcx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0xf
seta bl
cmova rcx, qword [rbp + 0x60]
movss xmm10, dword [rsp + 0x74]
movss xmm8, dword [rsp + 0x70]
mov r8, qword [rbp + 0x70]
cmp r8, 9
jne 0x140006b71
lea rdx, str._unknown_
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140006c5f
cmp byte [0x140094402], 0
je 0x140006c5f
lea rcx, [0x140094278]
call fcn.14002a990
mov esi, eax
lea rdi, [rbp + 0x60]
test bl, bl
cmovne rdi, qword [rbp + 0x60]
mov rbx, qword [0x140097f80]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rbx + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, qword [rbx + 0x3db0]
call fcn.140056990
mov rax, qword [rbx + 0x4bd0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002f250
mov rdx, rax
movss dword [rbp - 0x78], xmm8
movss dword [rbp - 0x74], xmm10
test esi, 0xff000000
je 0x140006c5f
test rdi, rdi
je 0x140006c5f
cmp byte [rdi], 0
je 0x140006c5f
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rdi + rcx], 0
jne 0x140006c10
add rcx, rdi
mov rax, qword [rax + 0x38]
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
lea r9, [rbp - 0x78]
movss xmm2, dword [rax + 0x10]
mov rcx, qword [rax + 8]
call fcn.140056da0
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], 0xf
seta bl
cmova rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x50]
cmp r8, 9
jne 0x140006c8e
lea rdx, str._unknown_
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140006d7f
cmp byte [0x14009440c], 0
je 0x140006d7f
lea rcx, [0x1400941b0]
call fcn.14002a990
mov esi, eax
lea rdi, [rbp + 0x40]
test bl, bl
cmovne rdi, qword [rbp + 0x40]
mov rbx, qword [0x140097f80]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rbx + 0x40]
lea rdx, [rbp - 0x18]
mov rcx, qword [rbx + 0x3db0]
call fcn.140056990
mov rax, qword [rbx + 0x4bd0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002f250
mov rdx, rax
movss dword [rbp - 0x70], xmm8
movss dword [rbp - 0x6c], xmm10
test esi, 0xff000000
je 0x140006d7f
test rdi, rdi
je 0x140006d7f
cmp byte [rdi], 0
je 0x140006d7f
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rdi + rcx], 0
jne 0x140006d30
add rcx, rdi
mov rax, qword [rax + 0x38]
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
lea r9, [rbp - 0x70]
movss xmm2, dword [rax + 0x10]
mov rcx, qword [rax + 8]
call fcn.140056da0
lea rcx, [rbp + 0x80]
mov rdi, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x98]
cmp rsi, 0xf
cmova rcx, rdi
movss xmm6, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
mov r14, qword [rbp + 0x90]
cmp r14, 9
jne 0x140006dcb
mov r8, r14
lea rdx, str._unknown_
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140006fab
cmp byte [0x14009440b], 0
je 0x140006fab
lea rdx, str.chicken
lea rcx, [rbp + 0xa0]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x140006fab
movaps xmm0, xmm9
addss xmm0, xmm11
movss dword [rbp - 0x48], xmm0
movaps xmm1, xmm7
addss xmm1, xmm11
movss dword [rbp - 0x44], xmm1
movaps xmm0, xmm6
addss xmm0, xmm14
movss dword [rbp - 0x40], xmm0
lea r8, [0x1400981d0]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x48]
call fcn.140004530
test al, al
jne 0x140006ed3
cmp rsi, 0xf
jbe 0x140006e72
lea rdx, [rsi + 1]
cmp rdx, 0x1000
mov rax, rdi
jb 0x140006e69
mov rdi, qword [rdi - 8]
sub rax, rdi
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007312
mov rcx, rdi
call fcn.1400775c4
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x140006ead
inc rdx
mov rcx, qword [rbp + 0x40]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140006ea8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007319
call fcn.1400775c4
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x140007289
inc rdx
jmp 0x14000725b
lea rcx, [0x140094268]
call fcn.14002a990
mov r15d, eax
mov rbx, qword [0x140097f80]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
lea rax, str.Chicken
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rbx + 0x40]
lea rdx, [rbp - 0x10]
mov rcx, qword [rbx + 0x3db0]
call fcn.140056990
mov rax, qword [rbx + 0x4bd0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002f250
movss dword [rbp - 0x68], xmm8
movss dword [rbp - 0x64], xmm10
test r15d, 0xff000000
je 0x140006fa1
mov rdx, qword [rax + 0x38]
mov rcx, qword [rdx + 8]
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm11
lea r8, [0x14007be07]
mov qword [rsp + 0x38], r8
lea r8, str.Chicken
mov qword [rsp + 0x30], r8
lea r8, [rsp + 0x50]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], r15d
lea r9, [rbp - 0x68]
movss xmm2, dword [rdx + 0x10]
mov rdx, rax
call fcn.140056da0
movabs r15, 0xcbf29ce484222325
lea rcx, [rbp + 0x80]
cmp rsi, 0xf
cmova rcx, rdi
cmp r14, 9
jne 0x140006fd7
mov r8, r14
lea rdx, str._unknown_
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400071c9
cmp byte [0x140094404], 0
je 0x1400071c9
lea rdx, str.hostage_entity
lea rcx, [rbp + 0xa0]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x1400071c9
addss xmm9, xmm11
movss dword [rbp - 0x38], xmm9
addss xmm7, xmm11
movss dword [rbp - 0x34], xmm7
addss xmm6, xmm13
movss dword [rbp - 0x30], xmm6
lea r8, [0x1400981d0]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x38]
call fcn.140004530
test al, al
je 0x140006e3a
movss xmm9, dword [rbp - 0x24]
movaps xmm7, xmm9
subss xmm7, xmm10
andps xmm7, xmm15
mulss xmm7, dword [0x140085a6c]
mulss xmm7, dword [0x140085a64]
movaps xmm6, xmm8
subss xmm6, xmm7
addss xmm7, xmm8
movaps xmm8, xmm7
addss xmm8, dword [0x140085b28]
movups xmm0, xmmword [0x140094298]
movdqa xmmword [rsp + 0x50], xmm0
mov rax, qword [0x140097f80]
mov rax, qword [rax + 0x4bd0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002f250
mov r10, rax
lea rcx, [rsp + 0x50]
call fcn.14002a990
movss dword [rbp - 0x60], xmm7
movss dword [rbp - 0x5c], xmm10
movss dword [rbp - 0x58], xmm6
movss dword [rbp - 0x54], xmm9
movss xmm0, dword [0x140085ad0]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.140051dd0
movaps xmm0, xmmword [0x140085d50]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.14002a990
mov r14d, eax
mov rbx, qword [0x140097f80]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
lea rax, str.Hostage
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movss xmm2, dword [rbx + 0x40]
lea rdx, [rbp - 8]
mov rcx, qword [rbx + 0x3db0]
call fcn.140056990
mov rax, qword [rbx + 0x4bd0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002f250
movss dword [rbp - 0x50], xmm8
movss dword [rbp - 0x4c], xmm9
test r14d, 0xff000000
je 0x1400071c9
mov rdx, qword [rax + 0x38]
mov rcx, qword [rdx + 8]
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm11
lea r8, [0x14007be17]
mov qword [rsp + 0x38], r8
lea r8, str.Hostage
mov qword [rsp + 0x30], r8
lea r8, [rsp + 0x50]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], r14d
lea r9, [rbp - 0x50]
movss xmm2, dword [rdx + 0x10]
mov rdx, rax
call fcn.140056da0
nop
cmp rsi, 0xf
jbe 0x140007201
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400071f8
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007312
mov rcx, rdi
call fcn.1400775c4
nop
mov rax, qword [rbp + 0x58]
cmp rax, 0xf
jbe 0x14000723d
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007238
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007319
call fcn.1400775c4
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
mov rax, qword [rbp + 0x78]
cmp rax, 0xf
jbe 0x140007289
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007284
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007320
call fcn.1400775c4
movabs r14, 0x100000001b3
inc r12d
cmp r12d, 0x400
jl 0x1400066e0
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140077250
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3