Function at 0x6d9e4990
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x528
mov rbp, qword [rsp + 0x590]
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x518], rax
xor eax, eax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rdx
test rbp, rbp
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x4c], r9d
je 0x6d9e39ad
mov rax, qword [rbp]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x40]
mov r8, qword [rax + 8]
mov rcx, qword [rax]
mov rax, r8
sub rax, rcx
sar rax, 5
test rax, rax
je 0x6d9e3cf0
lea rax, [rsp + 0xf0]
lea rdx, [rsp + 0x4f0]
mov qword [rsp + 0x38], rax
mov qword [rax], 0
mov qword [rax + 8], 0
add rax, 0x20
mov qword [rax - 0x10], 0
mov qword [rax - 8], 0
cmp rax, rdx
jne 0x6d9e39e1
mov rax, qword [rcx]
mov r14d, 1
lea r13, [rsp + 0x60]
mov dword [rsp + 0x2c], r14d
mov dword [rsp + 0x28], 0xffffffff
mov r14, rbp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x4c]
test eax, eax
lea rax, [rsp + 0x4f0]
sete byte [rsp + 0x4b]
xor r15d, r15d
xor esi, esi
mov ebp, r15d
mov qword [rsp + 0x30], rax
mov r15d, esi
nop word [rax + rax]
mov rdx, qword [rsp + 0x60]
movsxd rax, ebp
shl rax, 5
cmp byte [rsp + 0x4b], 0
cmove ebp, dword [rsp + 0x28]
mov qword [rsp + rax + 0xf0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + rax + 0xf8], rdx
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0x28], ebp
mov qword [rsp + rax + 0x100], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + rax + 0x108], rdx
mov eax, dword [rsp + 0x2c]
mov rdx, r8
sub rdx, rcx
sar rdx, 5
cmp rax, rdx
jae 0x6d9e3d7f
shl rax, 5
add rax, rcx
mov rdx, qword [rax]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x70], rdx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0x4c], eax
sete byte [rsp + 0x4b]
add dword [rsp + 0x2c], 1
test byte [rsp + 0x2c], 1
jne 0x6d9e4133
lea r12, [rsp + 0x80]
xor ebp, ebp
mov rax, r14
mov rsi, qword [rsp + 0x38]
mov r14d, ebp
mov rbp, rax
mov rbx, r12
jmp 0x6d9e3be4
cmp dword [rsp + 0x28], r14d
je 0x6d9e3c80
mov r8d, 0x20
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
mov rdi, r12
mov ecx, 0xd
sete al
add r14d, 1
mov r12, rbx
or r15d, eax
xor eax, eax
rep stosq qword [rdi], rax
mov rcx, rbx
call fcn.6d94bc60
mov rdx, rsi
mov r8d, 0x20
mov rcx, rbx
call fcn.6d94bcd0
mov r8d, 0x20
mov rdx, r13
mov rcx, rbx
call fcn.6d94bcd0
mov rdi, qword [rsp + 0x30]
mov rcx, rbx
add rsi, 0x20
mov rdx, rdi
call fcn.6d94bdc0
mov rcx, rbx
call fcn.6d94be80
mov r8d, 0x20
mov rdx, rdi
mov rcx, rax
call fcn.6d94bcd0
mov rdx, r13
mov rcx, rax
call fcn.6d94bdc0
mov eax, dword [rsp + 0x2c]
bt eax, r14d
jb 0x6d9e3c60
test rbp, rbp
je 0x6d9e3b4b
cmp byte [rsp + 0x4b], 0
je 0x6d9e3b40
mov rax, qword [rbp + 8]
cmp rax, qword [rbp + 0x10]
je 0x6d9e3ce0
test rax, rax
je 0x6d9e3cd0
movsxd rdx, r14d
shl rdx, 5
mov rcx, qword [rsp + rdx + 0xf0]
mov qword [rax], rcx
mov rcx, qword [rsp + rdx + 0xf8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + rdx + 0x100]
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + rdx + 0x108]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 8]
add rax, 0x20
mov qword [rbp + 8], rax
jmp 0x6d9e3b4b
mov rax, rbp
mov ebp, r14d
mov r14, rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov r8, qword [rax + 8]
jmp 0x6d9e3a70
mov rax, qword [rbp + 8]
cmp rax, qword [rbp + 0x10]
je 0x6d9e410a
test rax, rax
je 0x6d9e40e7
mov rdx, qword [rsp + 0x60]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 8]
add rax, 0x20
mov byte [rsp + 0x4b], 1
mov qword [rbp + 8], rax
jmp 0x6d9e3b4b
xor eax, eax
jmp 0x6d9e3c49
mov rdx, rsi
mov rcx, rbp
call fcn.6dab7bc0
jmp 0x6d9e3b4b
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x6d9e3cfd
mov byte [rax], 0
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x6d9e3d56
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov rax, qword [rsp + 0x518]
xor rax, qword [0x6db6d1b0]
jne 0x6d9e413a
add rsp, 0x528
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, r14
mov r14d, dword [rsp + 0x2c]
mov byte [rsp + 0x30], r15b
xor r15d, r15d
test r14b, 1
jne 0x6d9e3d9f
add r15d, 1
bt r14d, r15d
jae 0x6d9e3d95
movsxd rax, r15d
lea rbx, [rsp + 0x80]
lea r13, [rsp + 0x4f0]
shl rax, 5
cmp dword [rsp + 0x28], r15d
mov rdx, qword [rsp + rax + 0xf0]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + rax + 0xf8]
sete byte [rsp + 0x4b]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + rax + 0x100]
mov rax, qword [rsp + rax + 0x108]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
mov esi, 1
mov ecx, r15d
shl esi, cl
cmp r14d, esi
je 0x6d9e3fcc
nop word [rax + rax]
test rbp, rbp
lea r12, [rsp + 0x60]
setne byte [rsp + 0x2c]
cmp byte [rsp + 0x4b], 0
jne 0x6d9e4064
xor eax, eax
mov ecx, 0xd
mov rdi, rbx
rep stosq qword [rdi], rax
mov rcx, rbx
add r14d, esi
add r15d, 1
call fcn.6d94bc60
mov r8d, 0x20
mov rdx, r12
mov rcx, rbx
call fcn.6d94bcd0
mov r8d, 0x20
mov rdx, r12
mov rcx, rbx
call fcn.6d94bcd0
mov rdx, r13
mov rcx, rbx
call fcn.6d94bdc0
mov rcx, rbx
call fcn.6d94be80
mov r8d, 0x20
mov rdx, r13
mov rcx, rax
call fcn.6d94bcd0
mov rdx, r12
mov rcx, rax
call fcn.6d94bdc0
bt r14d, r15d
jb 0x6d9e3df4
movsxd rsi, r15d
mov eax, r15d
mov r15d, r14d
shl rsi, 5
mov r14d, eax
add rsi, qword [rsp + 0x38]
jmp 0x6d9e3f3f
cmp dword [rsp + 0x28], r14d
je 0x6d9e4014
xor eax, eax
mov rdi, rbx
mov ecx, 0xd
rep stosq qword [rdi], rax
mov rcx, rbx
add r14d, 1
call fcn.6d94bc60
mov rdx, rsi
mov r8d, 0x20
mov rcx, rbx
call fcn.6d94bcd0
mov r8d, 0x20
mov rdx, r12
mov rcx, rbx
call fcn.6d94bcd0
mov rdx, r13
mov rcx, rbx
add rsi, 0x20
call fcn.6d94bdc0
mov rcx, rbx
call fcn.6d94be80
mov r8d, 0x20
mov rdx, r13
mov rcx, rax
call fcn.6d94bcd0
mov rdx, r12
mov rcx, rax
call fcn.6d94bdc0
bt r15d, r14d
jb 0x6d9e3fb0
cmp byte [rsp + 0x2c], 0
je 0x6d9e3ecb
cmp byte [rsp + 0x4b], 0
je 0x6d9e3ec0
mov rax, qword [rbp + 8]
cmp rax, qword [rbp + 0x10]
je 0x6d9e40d0
test rax, rax
je 0x6d9e40c0
movsxd rdx, r14d
shl rdx, 5
mov rcx, qword [rsp + rdx + 0xf0]
mov qword [rax], rcx
mov rcx, qword [rsp + rdx + 0xf8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + rdx + 0x100]
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + rdx + 0x108]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 8]
add rax, 0x20
mov qword [rbp + 8], rax
jmp 0x6d9e3ecb
mov eax, r14d
mov r14d, r15d
mov esi, 1
mov r15d, eax
mov ecx, r15d
shl esi, cl
cmp r14d, esi
jne 0x6d9e3e10
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x6d9e3fde
movzx esi, byte [rsp + 0x30]
mov byte [rax], sil
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x6d9e3d56
mov rax, qword [rsp + 0x60]
mov qword [rsi], rax
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x78]
mov qword [rsi + 0x18], rax
jmp 0x6d9e3d56
mov rax, qword [rbp + 8]
cmp rax, qword [rbp + 0x10]
je 0x6d9e40f5
test rax, rax
je 0x6d9e40e0
mov rdx, qword [rsp + 0x60]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 8]
add rax, 0x20
mov byte [rsp + 0x4b], 1
mov qword [rbp + 8], rax
jmp 0x6d9e3ecb
cmp byte [rsp + 0x2c], 0
je 0x6d9e3e28
mov rax, qword [rbp + 8]
cmp rax, qword [rbp + 0x10]
je 0x6d9e4123
test rax, rax
je 0x6d9e411f
mov rdx, qword [rsp + 0x60]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 8]
add rax, 0x20
lea r12, [rsp + 0x60]
mov qword [rbp + 8], rax
jmp 0x6d9e3e28
xor eax, eax
jmp 0x6d9e3fa2
mov rdx, rsi
mov rcx, rbp
call fcn.6dab7bc0
jmp 0x6d9e3ecb
xor eax, eax
jmp 0x6d9e4052
xor eax, eax
nop dword [rax]
jmp 0x6d9e3cbe
mov rdx, r12
mov rcx, rbp
call fcn.6dab7bc0
mov byte [rsp + 0x4b], 1
jmp 0x6d9e3ecb
mov rdx, r13
mov rcx, rbp
call fcn.6dab7bc0
mov byte [rsp + 0x4b], 1
jmp 0x6d9e3b4b
xor eax, eax
jmp 0x6d9e40ad
mov rdx, r12
mov rcx, rbp
call fcn.6dab7bc0
jmp 0x6d9e3e28
xor ebp, ebp
jmp 0x6d9e3a70
nop word [rax + rax]
call fcn.6da2ca50
nop
nop word cs:[rax + rax]
push rbx
sub rsp, 0x40
mov r9d, 0xffffffff
mov rbx, rcx
mov qword [rsp + 0x20], 0
mov rcx, rdx
mov qword [rbx], 0
mov rdx, rbx
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x38], rax
xor eax, eax
call fcn.6d9e3960
mov rdx, qword [rsp + 0x38]
xor rdx, qword [0x6db6d1b0]
mov rax, rbx
jne 0x6d9e41b6
add rsp, 0x40
pop rbx
ret
call fcn.6da2ca50
nop
nop dword [rax]
push rbp
sub rsp, 0xd0
lea r11, [0x6dac9ea0]
lea r10, [0x6d9e42b1]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x80], r11
lea r11, [0x6db5f810]
mov qword [rsp + 0x98], r10
lea r10, [rsp + 0x50]
mov dword [rsp + 0xbc], r8d
mov qword [rsp + 0xa0], rsp
mov qword [rsp + 0x88], r11
lea r11, [rsp + 0xd0]
mov rcx, r10
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x90], r11
call fcn.6da36720
mov rax, qword [rsp + 0x38]
mov r9d, dword [rsp + 0xbc]
xor r8d, r8d
mov rcx, qword [rsp + 0x48]
xor edx, edx
mov r11, qword [0x6db6d1b0]
mov qword [rsp + 0xc8], r11
xor r11d, r11d
mov qword [rax + 8], 0
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x58], 1
call fcn.6d9e3960
mov rcx, qword [rsp + 0x40]
call fcn.6da36780
mov rdx, qword [rsp + 0xc8]
xor rdx, qword [0x6db6d1b0]
mov rax, qword [rsp + 0x38]
jne 0x6d9e42ac
add rsp, 0xd0
pop rbp
ret
call fcn.6da2ca50
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
test rcx, rcx
je 0x6d9e42cd
call fcn.6dac8a70
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x58], 0xffffffff
call fcn.6da36a30
nop
push rbp
sub rsp, 0x110
mov qword [rsp + 0x50], rcx
lea rcx, [0x6dac9ea0]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xb0], rsp
mov qword [rsp + 0x90], rcx
lea rcx, [0x6db5f828]
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x110]
mov qword [rsp + 0xa0], rcx
lea rcx, [0x6d9e4539]
mov qword [rsp + 0xa8], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x58], rcx
call fcn.6da36720
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf0], 0
mov rcx, qword [0x6db6d1b0]
mov qword [rsp + 0x108], rcx
xor ecx, ecx
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov rdx, qword [rax + 0x58]
sub rdx, qword [rax + 0x50]
xor eax, eax
sar rdx, 4
test rdx, rdx
jne 0x6d9e4512
mov qword [rax], 0
mov qword [rax + 8], 0
lea rcx, [rsp + 0xd0]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x48], rcx
mov rdx, qword [rax + 0x50]
mov rax, qword [rax + 0x58]
sub rax, rdx
cmp rax, 0x1f
jbe 0x6d9e4484
nop
mov rcx, qword [rsp + 0x30]
mov rax, rcx
shl rax, 4
mov rdx, qword [rdx + rax]
mov rax, rcx
mov rcx, qword [rsp + 0x48]
shl rax, 5
mov dword [rsp + 0x68], 1
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xf0]
add qword [rsp + 0x38], rax
call fcn.6d9eb010
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x38]
add qword [rsp + 0x30], 1
mov qword [rcx], rax
mov rax, qword [rsp + 0xd8]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0xe0]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xe8]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x50]
mov rax, qword [rax + 0x58]
sub rax, rdx
sar rax, 4
cmp qword [rsp + 0x30], rax
jb 0x6d9e43f0
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0xc8]
lea rcx, [rsp + 0xf0]
mov r9d, 0xffffffff
mov qword [rax], 0
mov qword [rax + 8], 0
mov rdx, rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x68], 1
call fcn.6d9e3960
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x6d9e44e9
call fcn.6dac8a70
mov rcx, qword [rsp + 0x58]
call fcn.6da36780
mov rdx, qword [rsp + 0x108]
xor rdx, qword [0x6db6d1b0]
mov rax, qword [rsp + 0x50]
jne 0x6d9e4534
add rsp, 0x110
pop rbp
ret
lea rcx, [rsp + 0xf0]
mov dword [rsp + 0x68], 1
call fcn.6dab79d0
mov rax, qword [rsp + 0xf0]
jmp 0x6d9e439f
call fcn.6da2ca50
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x70]
test rcx, rcx
mov qword [rsp + 0x30], rax
je 0x6d9e4555
call fcn.6dac8a70
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x68], 0xffffffff
call fcn.6da36a30
nop
nop dword [rax + rax]
push rbp
sub rsp, 0xd0
mov qword [rsp + 0x28], rcx
lea rcx, [0x6dac9ea0]
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x90], rsp
mov qword [rsp + 0x70], rcx
lea rcx, [0x6db5f840]
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x80], rcx
lea rcx, [0x6d9e4722]
mov qword [rsp + 0x88], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
call fcn.6da36720
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xb0], 0
mov rcx, qword [0x6db6d1b0]
mov qword [rsp + 0xc8], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
mov rdx, qword [rax + 0x58]
sub rdx, qword [rax + 0x50]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
sar rdx, 4
test rdx, rdx
jne 0x6d9e4690
mov r8d, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x48], 1
call 0x6d9e41c0
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x6d9e4661
call fcn.6dac8a70
mov rcx, qword [rsp + 0x30]
call fcn.6da36780
mov rcx, qword [rsp + 0xc8]
xor rcx, qword [0x6db6d1b0]
mov rax, qword [rsp + 0x28]
jne 0x6d9e471d
add rsp, 0xd0
pop rbp
ret
mov rcx, rax
mov dword [rsp + 0x48], 1
call fcn.6dab79d0
mov rax, qword [rsp + 0x20]
mov r8, qword [rax + 0x50]
mov rax, qword [rax + 0x58]
sub rax, r8
sar rax, 4
test rax, rax
je 0x6d9e4630
mov rcx, qword [rsp + 0xb0]
xor eax, eax
xor r9d, r9d
nop word [rax + rax]
mov rdx, qword [r8 + rax]
add r9, 1
mov r8, qword [rdx + 0x38]
mov qword [rcx + rax*2], r8
mov r8, qword [rdx + 0x40]
mov qword [rcx + rax*2 + 8], r8
mov r8, qword [rdx + 0x48]
mov qword [rcx + rax*2 + 0x10], r8
mov rdx, qword [rdx + 0x50]
mov qword [rcx + rax*2 + 0x18], rdx
mov rdx, qword [rsp + 0x20]
add rax, 0x10
mov r8, qword [rdx + 0x50]
mov rdx, qword [rdx + 0x58]
sub rdx, r8
sar rdx, 4
cmp r9, rdx
jb 0x6d9e46d0
jmp 0x6d9e4630
call fcn.6da2ca50
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x50]
test rcx, rcx
mov qword [rsp + 0x20], rax
je 0x6d9e473e
call fcn.6dac8a70
mov rcx, qword [rsp + 0x20]
mov dword [rsp + 0x48], 0xffffffff
call fcn.6da36a30
nop
nop word cs:[rax + rax]
push rbp
sub rsp, 0xe0
mov qword [rsp + 0x38], rcx
lea rcx, [0x6dac9ea0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x48], r8
mov qword [rsp + 0xa0], rsp
mov qword [rsp + 0x80], rcx
lea rcx, [0x6db5f858]
mov qword [rsp + 0x88], rcx
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x90], rcx
lea rcx, [0x6d9e4952]
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], rcx
call fcn.6da36720
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], 0
mov rcx, qword [0x6db6d1b0]
mov qword [rsp + 0xd8], rcx
xor ecx, ecx
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov rdx, qword [rax + 0x58]
sub rdx, qword [rax + 0x50]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xb8], rax
sar rdx, 4
test rdx, rdx
jne 0x6d9e48c0
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9d, 0xffffffff
mov rcx, qword [rsp + 0xb8]
mov qword [rax], 0
mov qword [rax + 8], 0
mov rdx, rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x58], 1
call fcn.6d9e3960
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x6d9e488c
call fcn.6dac8a70
mov rcx, qword [rsp + 0x40]
call fcn.6da36780
mov rcx, qword [rsp + 0xd8]
xor rcx, qword [0x6db6d1b0]
mov rax, qword [rsp + 0x38]
jne 0x6d9e494d
add rsp, 0xe0
pop rbp
ret
mov rcx, rax
mov dword [rsp + 0x58], 1
call fcn.6dab79d0
mov rax, qword [rsp + 0x30]
mov r8, qword [rax + 0x50]
mov rax, qword [rax + 0x58]
sub rax, r8
sar rax, 4
test rax, rax
je 0x6d9e482a
mov rcx, qword [rsp + 0xc0]
xor eax, eax
xor r9d, r9d
nop word [rax + rax]
mov rdx, qword [r8 + rax]
add r9, 1
mov r8, qword [rdx + 0x38]
mov qword [rcx + rax*2], r8
mov r8, qword [rdx + 0x40]
mov qword [rcx + rax*2 + 8], r8
mov r8, qword [rdx + 0x48]
mov qword [rcx + rax*2 + 0x10], r8
mov rdx, qword [rdx + 0x50]
mov qword [rcx + rax*2 + 0x18], rdx
mov rdx, qword [rsp + 0x30]
add rax, 0x10
mov r8, qword [rdx + 0x50]
mov rdx, qword [rdx + 0x58]
sub rdx, r8
sar rdx, 4
cmp r9, rdx
jb 0x6d9e4900
jmp 0x6d9e482a
call fcn.6da2ca50
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x60]
test rcx, rcx
mov qword [rsp + 0x30], rax
je 0x6d9e496e
call fcn.6dac8a70
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x58], 0xffffffff
call fcn.6da36a30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub rsp, 0x38
mov r8, qword [rdx]
mov r10, qword [rdx + 8]
mov rax, qword [0x6db6d1b0]
mov qword [rsp + 0x28], rax
xor eax, eax
sub r10, r8
mov r11, r10
shr r11, 2
test r11d, r11d
mov r9d, r11d
jle 0x6d9e49e8
xor edx, edx
nop dword [rax]
mov eax, dword [r8 + rdx*4]
add rdx, 1
imul eax, eax, 0xcc9e2d51
ror eax, 0x11
imul eax, eax, 0x1b873593
xor eax, ecx
ror eax, 0x13
cmp r9d, edx
lea ecx, [rax + rax*4 - 0x19ab949c]
jg 0x6d9e49c0
shl r11d, 2
mov rax, r10
movsxd r11, r11d
and eax, 3
add r8, r11
cmp rax, 2
je 0x6d9e4a74
cmp rax, 3
je 0x6d9e4a60
cmp rax, 1
je 0x6d9e4a43
mov ecx, ecx
xor rcx, r10
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul edx, eax, 0x85ebca6b
mov eax, edx
shr eax, 0xd
xor eax, edx
imul edx, eax, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor eax, edx
mov rcx, qword [rsp + 0x28]
xor rcx, qword [0x6db6d1b0]
jne 0x6d9e4a78
add rsp, 0x38
ret
xor eax, eax
movzx edx, byte [r8]
xor edx, eax
imul eax, edx, 0xcc9e2d51
ror eax, 0x11
imul eax, eax, 0x1b873593
xor ecx, eax
jmp 0x6d9e4a0a
movzx edx, byte [r8 + 2]
shl edx, 0x10
movzx eax, byte [r8 + 1]
shl eax, 8
xor eax, edx
jmp 0x6d9e4a45
xor edx, edx
jmp 0x6d9e4a68
call fcn.6da2ca50
nop
nop