Function at 0x14002d960
Capabilities:
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 - 0x238]
sub rsp, 0x310
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140379f00]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rdx, qword [0x1403e5550]
xor esi, esi
mov rcx, qword [0x1403e4de8]
test rdx, rdx
jne 0x14002d9fe
test rcx, rcx
je 0x14002d9e7
cmp dword [0x1403e4de0], esi
je 0x14002d9e7
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0xf0]
mov rdx, qword [0x1403e5408]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov rdx, qword [rbp + 0xf0]
mov qword [0x1403e5550], rdx
test rdx, rdx
je 0x14002daac
test rcx, rcx
je 0x14002da2e
cmp dword [0x1403e4de0], esi
je 0x14002da2e
add rdx, 8
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov rax, qword [rbp + 0xe0]
mov qword [0x1403e5558], rax
test rax, rax
je 0x14002daac
mov rdx, qword [0x1403e5560]
test rdx, rdx
jne 0x14002da93
test rcx, rcx
je 0x14002da80
cmp dword [0x1403e4de0], esi
je 0x14002da80
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0xf8]
mov rdx, qword [0x1403e5410]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov rdx, qword [rbp + 0xf8]
mov qword [0x1403e5560], rdx
test rdx, rdx
je 0x14002daac
cmp qword [0x1403e5568], rsi
jne 0x14002db2b
test rdx, rdx
jne 0x14002dae8
mov qword [0x1403e5568], rsi
xor al, al
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1401425d0
lea r11, [rsp + 0x310]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
test rcx, rcx
je 0x14002db18
cmp dword [0x1403e4de0], esi
je 0x14002db18
add rdx, 0x18
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov rax, qword [rbp + 0x100]
mov qword [0x1403e5568], rax
test rax, rax
je 0x14002daac
cmp qword [0x1403e5578], rsi
jne 0x14002db77
test rcx, rcx
je 0x14002db60
cmp dword [0x1403e4de0], esi
je 0x14002db60
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0xe8]
mov rdx, qword [0x1403e5420]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbp + 0xe8]
mov qword [0x1403e5578], rax
test rax, rax
je 0x14002daac
lea rcx, [0x1403e5588]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14002db94
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1403e55d4], 0x7fffffff
jne 0x14002dbb6
mov dword [0x1403e55d4], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov rbx, qword [0x1403e5628]
mov rdi, qword [0x1403e5630]
cmp rbx, rdi
je 0x14002dbff
nop dword [rax]
lea rcx, [rbx + 0x48]
call fcn.140007350
lea rcx, [rbx + 0x18]
call fcn.1400055e0
add rbx, 0xa0
cmp rbx, rdi
jne 0x14002dbd0
mov rdi, qword [0x1403e5628]
mov qword [0x1403e5630], rdi
mov rbx, rdi
cmp rdi, qword [0x1403e5638]
je 0x14002dc4c
lea rcx, [0x1403e5628]
cmp rbx, rdi
jne 0x14002dc1b
call fcn.140005500
jmp 0x14002dc4c
sub rdi, rbx
movabs rax, 0x6666666666666667
imul rdi
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0xe8], rdx
lea rdx, [rbp + 0xe8]
call fcn.140032530
mov rdi, rsi
mov qword [rbp + 0xe0], rsi
xorps xmm6, xmm6
movss xmm7, dword [0x14035ed2c]
mov rcx, qword [0x1403e4de8]
movabs r14, 0xccccccccccccb
mov rdx, qword [0x1403e5568]
test rdx, rdx
jne 0x14002dc83
mov rax, rsi
jmp 0x14002dcbe
test rcx, rcx
je 0x14002dcb7
cmp dword [0x1403e4de0], 0
je 0x14002dcb7
add rdx, 0x108
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0xe8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov rax, qword [rbp + 0xe8]
cmp rdi, rax
jae 0x14002e4a0
mov rdx, qword [0x1403e5568]
test rdx, rdx
je 0x14002e491
test rcx, rcx
je 0x14002dd0b
cmp dword [0x1403e4de0], 0
je 0x14002dd0b
add rdx, 0x100
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov r8, qword [rbp + 0x100]
test r8, r8
je 0x14002e491
test rcx, rcx
je 0x14002dd53
cmp dword [0x1403e4de0], 0
je 0x14002dd53
mov eax, edi
shl eax, 4
movsxd rdx, eax
add rdx, r8
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0x108]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1403e4de8]
mov rbx, qword [rbp + 0x108]
lea rax, [rbx - 1]
cmp rax, r14
ja 0x14002e491
mov rcx, rbx
call fcn.140018960
test eax, eax
je 0x14002dd83
and eax, 0x1fc000
cmp eax, 0x6c000
ja 0x14002e48a
lea rcx, [rbx + 0x280]
call fcn.1400177f0
comiss xmm6, xmm0
jae 0x14002e483
mov rsi, rbx
shr rsi, 0x38
mov r14, rbx
shr r14, 0x30
mov r15, rbx
shr r15, 0x28
mov r12, rbx
shr r12, 0x20
mov r13, rbx
shr r13, 0x18
mov rax, rbx
shr rax, 0x10
mov qword [rsp + 0x30], rax
mov rax, rbx
shr rax, 8
mov qword [rsp + 0x50], rax
lea rcx, [rbx + 0x280]
call fcn.1400177f0
comiss xmm7, xmm0
jae 0x14002e481
lea rcx, [rbp + 0x50]
call fcn.140017740
nop
mov qword [rbp + 0x50], rbx
mov rdi, qword [rbp + 0xe0]
mov dword [rbp + 0x58], edi
cmp rbx, qword [0x1403e5558]
sete byte [rbp + 0x60]
mov rcx, rbx
call fcn.140018a70
movzx r9d, al
mov byte [rbp + 0x61], al
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
movzx ecx, byte [rsp + 0x50]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rsp + 0x30]
xor rdx, rcx
imul rdx, rax
movzx eax, r13b
xor rdx, rax
movabs r13, 0x100000001b3
imul rdx, r13
movzx eax, r12b
xor rdx, rax
imul rdx, r13
movzx eax, r15b
xor rdx, rax
imul rdx, r13
movzx eax, r14b
xor rdx, rax
imul rdx, r13
xor rdx, rsi
imul rdx, r13
and rdx, qword [0x1403e53f0]
add rdx, rdx
mov rax, qword [0x1403e53d8]
mov rcx, qword [rax + rdx*8 + 8]
mov r8, qword [0x1403e53c8]
cmp rcx, r8
jne 0x14002deb5
xor esi, esi
mov ecx, esi
jmp 0x14002ded1
mov rax, qword [rax + rdx*8]
cmp rbx, qword [rcx + 0x10]
je 0x14002decf
nop
cmp rcx, rax
je 0x14002deaf
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x14002dec0
xor esi, esi
mov rax, r8
test rcx, rcx
cmovne rax, rcx
cmp rax, r8
setne byte [rbp + 0x90]
mov r10, qword [0x1403e4de8]
test r9b, r9b
jne 0x14002df89
mov rdx, qword [0x1403e4cc8]
add rdx, rbx
test r10, r10
je 0x14002df2f
cmp dword [0x1403e4de0], 0
je 0x14002df2f
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0xf0]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x1403e4de8]
cmp qword [rbp + 0xf0], 0
jne 0x14002df40
mov eax, esi
mov dword [rbp + 0x5c], eax
jmp 0x14002df90
mov rdx, qword [rbp + 0xf0]
add rdx, qword [0x1403e4cd8]
test r10, r10
je 0x14002df7e
cmp dword [0x1403e4de0], 0
je 0x14002df7e
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [rbp + 0xf8]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x1403e4de8]
mov eax, dword [rbp + 0xf8]
mov dword [rbp + 0x5c], eax
jmp 0x14002df90
mov dword [rbp + 0x5c], 0xffffffff
mov rdx, qword [0x1403e4cd0]
add rdx, rbx
test r10, r10
je 0x14002e040
cmp dword [0x1403e4de0], 0
je 0x14002dfce
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0x110]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x1403e4de8]
test r10, r10
je 0x14002e040
cmp dword [0x1403e4de0], 0
je 0x14002e009
mov rdx, qword [rbp + 0x110]
add rdx, 0x68
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0x118]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x1403e4de8]
test r10, r10
je 0x14002e040
cmp dword [0x1403e4de0], 0
je 0x14002e040
mov rdx, qword [rbp + 0x118]
add rdx, 0x178
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp + 0x120]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x130]
call fcn.140017740
mov qword [rbp + 0x1c8], 0
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x130], rax
mov eax, dword [rbp + 0x58]
mov dword [rbp + 0x138], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x13c], eax
movzx eax, byte [rbp + 0x60]
mov byte [rbp + 0x140], al
movzx eax, byte [rbp + 0x61]
mov byte [rbp + 0x141], al
lea rdx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0xf
cmova rdx, qword [rbp + 0x68]
mov r8, qword [rbp + 0x78]
lea rcx, [rbp + 0x148]
call fcn.14000b350
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x168], rax
movzx eax, byte [rbp + 0x90]
mov byte [rbp + 0x170], al
lea rax, [rbp + 0x178]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x178], eax
mov r8, qword [rbp + 0xa0]
mov rdx, qword [r8]
lea rcx, [rbp + 0x180]
call fcn.140032bd0
mov rdx, qword [rbp + 0x188]
lea rcx, [rbp + 0x178]
call fcn.140018140
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.140017f90
mov qword [rsp + 0x30], rsi
cmp qword [rbp + 0x158], 0
jne case.0x14002e152.0
movzx eax, byte [0x1403e54f8]
cmp eax, 9
ja case.0x14002e152.3
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x2e4b4]
add rcx, rdx
jmp rcx
mov rcx, qword [0x1403e5500]
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
jmp 0x14002e170
mov rax, qword [0x1403e5500]
cmp qword [rax + 8], 0
sete al
test al, al
jne case.0x14002e152.0
cmp qword [0x1403e5518], 0
je case.0x14002e152.0
movzx ecx, byte [rbp + 0x13c]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, r13
movzx eax, byte [rbp + 0x13d]
xor rcx, rax
imul rcx, r13
movzx eax, byte [rbp + 0x13e]
xor rcx, rax
imul rcx, r13
movzx eax, byte [rbp + 0x13f]
xor rcx, rax
imul rcx, r13
and rcx, qword [0x1403e5538]
add rcx, rcx
mov r8, qword [0x1403e5520]
mov rax, qword [r8 + rcx*8 + 8]
mov r9, qword [0x1403e5510]
mov edx, dword [rbp + 0x13c]
cmp rax, r9
je 0x14002e210
mov r8, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x14002e213
nop dword [rax]
cmp rax, r8
je 0x14002e210
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x14002e200
jmp 0x14002e213
mov rax, rsi
mov rcx, r9
test rax, rax
cmovne rcx, rax
cmp rcx, r9
je 0x14002e252
cmp edx, 0xffffffff
je 0x14002e252
lea rdx, [rcx + 0x18]
lea rax, [rbp + 0x148]
cmp rax, rdx
je case.0x14002e152.0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14002e2df
mov rdx, qword [rdx]
jmp 0x14002e2df
movabs rax, 0x3b2b6bb92480870
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
movabs rcx, 0xbb7f5108807081b6
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0x66dfd7d5e02d7b05
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x1d0], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x1d8], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0x1d0]
movdqa xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x14002e2d0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x148]
call fcn.14000b350
mov rcx, qword [0x1403e4de8]
test rcx, rcx
je 0x14002e31d
cmp dword [0x1403e4de0], 0
je 0x14002e31d
lea rdx, [rbx + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, listen
lea r8, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rsp + 0x58]
movsd qword [rbp + 0x1b8], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rbp + 0x1c0], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x50]
call fcn.140017c00
mov r9d, 0x796e
mov r8, rax
lea rdx, [rbp - 0x60]
call fcn.14002ec20
movsd xmm0, qword [rax]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x78], eax
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x70]
call fcn.14002ff10
movss xmm0, dword [rax]
movss dword [rbp + 0x1c8], xmm0
movss xmm1, dword [rax + 4]
movss dword [rbp + 0x1cc], xmm1
mov rcx, rbx
call fcn.1400189e0
mov byte [rbp + 0x1c4], al
cmp byte [rbp + 0x140], 0
je 0x14002e3fa
mov qword [0x1403e5640], rbx
movzx eax, byte [rbp + 0x61]
mov byte [0x1403e5548], al
mov dword [0x1403e5660], edi
movsd xmm0, qword [rbp + 0x1b8]
movsd qword [0x1403e566c], xmm0
mov eax, dword [rbp + 0x1c0]
mov dword [0x1403e5674], eax
movsd qword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], eax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x68]
call fcn.14002ff10
movsd xmm0, qword [rax]
movsd qword [0x1403e5664], xmm0
mov rax, qword [0x1403e5630]
cmp rax, qword [0x1403e5638]
je 0x14002e426
lea rdx, [rbp + 0x130]
mov rcx, rax
call fcn.140017c00
add qword [0x1403e5630], 0xa0
jmp 0x14002e43d
lea r8, [rbp + 0x130]
mov rdx, rax
lea rcx, [0x1403e5628]
call fcn.140033580
nop
lea rcx, [rbp + 0x178]
call fcn.140007350
lea rcx, [rbp + 0x148]
call fcn.1400055e0
nop
lea rcx, [rbp + 0x98]
call fcn.140007350
lea rcx, [rbp + 0x68]
call fcn.1400055e0
mov rcx, qword [0x1403e4de8]
inc rdi
mov qword [rbp + 0xe0], rdi
jmp 0x14002dc68
xor esi, esi
mov rdi, qword [rbp + 0xe0]
mov rcx, qword [0x1403e4de8]
inc rdi
mov qword [rbp + 0xe0], rdi
jmp 0x14002dc68
lea rcx, [0x1403e5588]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov al, 1
jmp 0x14002daae