joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140292d20
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rbx, rcx
lea rax, vtable.CThread.0
mov qword [rcx], rax
cmp qword [rcx + 8], 0
je 0x140292ecd
mov esi, 0x32
mov eax, dword [rcx + 0x14]
cmp eax, 0xffffffff
sete dil
test dil, dil
je 0x140292dcb
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [rbx + 0x14]
cmp eax, 0xffffffff
sete dil
sub esi, 1
jne 0x140292d56
test dil, dil
je 0x140292dcb
cmp byte [rbx + 0x18], sil
jne 0x140292daa
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x28], eax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov r9, rbx
lea r8, str.Thread_0x_p_0x_p_0x_x_
lea edx, [rsi + 0x1f]
lea rcx, [rbx + 0x18]
call fcn.14014feb0
mov byte [rbx + 0x37], sil
lea r9, [rbx + 0x18]
lea r8, str.Illegal_termination_of_worker_thread__s
mov edx, 0xe7e
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bfa0
test al, al
jne 0x140292dcb
int3
mov ecx, dword [0x1405e177c]
cmp ecx, 0xffffffff
je 0x140292e04
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, rbx
jne 0x140292dfe
lea r8, str.Deleting_thread_object_from_the_thread__this_is_bad
mov edx, 0xe7f
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140292dfe
int3
mov ecx, dword [0x1405e177c]
xor esi, esi
test dil, dil
je 0x140292eb7
cmp ecx, 0xffffffff
je 0x140292e29
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, rbx
je 0x140292eb7
mov ecx, dword [0x1405e177c]
cmp qword [rbx + 8], rsi
je 0x140292eb7
cmp ecx, 0xffffffff
je 0x140292e60
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, rbx
jne 0x140292e60
lea r8, str.Thread_cannot_be_joined_with_self
mov edx, 0xf6e
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140292e60
int3
mov edx, 0xffffffff
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x140292eb7
dec eax
cmp eax, 0xfffffffd
ja 0x140292ea6
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140292ea6
lea r8, [0x1404830b0]
mov edx, 0xf77
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140292eb7
int3
mov rcx, qword [rbx + 8]
mov qword [rbx + 8], rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rbx + 0x10], esi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140292eca
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], rsi
mov dword [rbx + 0x10], esi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x140292fc0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0x30
mov ebp, r9d
mov rdi, rdx
mov rsi, rcx
lea rbx, [rsp + 0x68]
test r8, r8
cmovne rbx, r8
mov ecx, 0x18
call fcn.14031dc78
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140293000
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rbx
mov rdx, rbp
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x1402939e0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret

Function at 0x140293030
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [rcx]
cmp ecx, 0xffffffff
je 0x140293046
add rsp, 0x28
jmp qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp byte [0x1405e1788], 0
jne 0x140293073
lea r8, str.Bad_thread_local:_Get_n
mov byte [0x1405e1788], 1
mov edx, 0xbb6
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140293073
int3
xor eax, eax
add rsp, 0x28
ret

Function at 0x1402930d0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp qword [rcx + 8], 0
mov edi, edx
mov rbx, rcx
je 0x140293188
mov ecx, dword [0x1405e177c]
cmp ecx, 0xffffffff
je 0x1402930fd
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
jmp 0x1402930ff
xor eax, eax
cmp rax, rbx
jne 0x140293121
lea r8, str.Thread_cannot_be_joined_with_self
mov edx, 0xf6e
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140293121
int3
mov rcx, qword [rbx + 8]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x140293162
dec eax
cmp eax, 0xfffffffd
ja 0x14029316f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14029316f
lea r8, [0x1404830b0]
mov edx, 0xf77
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140293162
int3
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rbx + 8]
mov qword [rbx + 8], 0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rbx + 0x10], 0
mov rbx, qword [rsp + 0x30]
mov al, 1
add rsp, 0x20
pop rdi
ret

Function at 0x140293330
Capabilities:
Set thread local storage value

Disassembly:
sub rsp, 0x28
mov ecx, dword [rcx]
cmp ecx, 0xffffffff
je 0x140293346
add rsp, 0x28
jmp qword [sym.imp.KERNEL32.dll_TlsSetValue]
cmp byte [0x1405e1789], 0
jne 0x140293373
lea r8, str.Bad_thread_local:_Set_n
mov byte [0x1405e1789], 1
mov edx, 0xbcd
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0_threadtools.cpp
call fcn.14029bf90
test al, al
jne 0x140293373
int3
add rsp, 0x28
ret
Function at 0x1402936c0
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
cmp byte [rcx + 0x18], 0
mov esi, edx
mov rbx, rcx
jne 0x140293706
mov eax, dword [rcx + 0x10]
lea r8, str.Thread_0x_p_0x_p_0x_x_
mov dword [rsp + 0x28], eax
mov r9, rcx
mov rax, qword [rcx + 8]
mov edx, 0x1f
add rcx, 0x18
mov qword [rsp + 0x20], rax
call fcn.14014feb0
mov byte [rbx + 0x37], 0
lea rdx, [rbx + 0x18]
lea rcx, str.WARNING__CThread::Terminate:__s_n
call fcn.14029c780
mov rcx, qword [rbx + 8]
mov edx, esi
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x140293736
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 8]
xor edi, edi
mov qword [rbx + 8], rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x48]
mov al, 1
mov dword [rbx + 0x10], edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x140298680
Capabilities:
Hash data using murmur3

Disassembly:
mov r8, rcx
and r8, 0xfffffffffffff000
lea rax, [r8 + 0x18]
cmp rax, rcx
ja 0x140298707
movabs rax, 0xe1ecfe2c3068feeb
cmp qword [rcx - 8], rax
jne 0x140298707
movzx r9d, word [r8 + 8]
lea rax, [r8 + r9]
cmp rcx, rax
jne 0x140298707
movzx eax, word [r8 + 0xa]
test rax, 0xfffffffffffff000
jne 0x140298707
movabs rax, 0x1000000000
cmp qword [r8], rax
ja 0x140298707
imul eax, r8d, 0xcc9e2d51
rol eax, 0xf
imul ecx, eax, 0x1b873593
xor ecx, dword [r8]
rol ecx, 0xd
add ecx, 0xfaddaf14
lea edx, [rcx + rcx*4]
mov ecx, r9d
xor ecx, edx
rol ecx, 0xd
add ecx, 0xfaddaf14
lea ecx, [rcx + rcx*4]
cmp dword [r8 + 0xc], ecx
jne 0x140298707
mov rax, r8
ret
xor eax, eax
ret
Function at 0x140299980
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
mov rbx, rcx
call sub.KERNEL32.dll_GetCurrentThreadId
mov edx, dword [0x1405e17f0]
mov ecx, eax
cmp eax, edx
je 0x1402999c1
xor eax, eax
lock cmpxchg dword [0x1405e17f0], ecx
je 0x1402999c1
pause
mov edx, ecx
lea rcx, [0x1405e17f0]
call fcn.1402931a0
jmp 0x1402999c8
lock inc dword [0x1405e17f4]
movzx eax, byte [rsp + 0x31]
movabs r11, 0x100000001b3
mov r9, qword [0x1405e17e0]
movabs rdi, 0xcbf29ce484222325
mov r10, qword [0x1405e17c8]
mov r8, qword [0x1405e17b8]
movzx ecx, bl
xor rcx, rdi
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x32]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x33]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x34]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x35]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x36]
imul rcx, r11
xor rcx, rax
movzx eax, byte [rsp + 0x37]
imul rcx, r11
xor rcx, rax
mov rax, r9
imul rcx, r11
and rax, rcx
add rax, rax
mov rcx, qword [r10 + rax*8 + 8]
cmp rcx, r8
je 0x140299b48
mov rax, qword [r10 + rax*8]
cmp rbx, qword [rcx + 0x10]
je 0x140299a83
cmp rcx, rax
je 0x140299b48
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140299a70
test rcx, rcx
je 0x140299b48
cmp rcx, r8
je 0x140299b48
movzx eax, byte [rcx + 0x11]
movzx edx, byte [rcx + 0x10]
xor rdx, rdi
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x12]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x13]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x14]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x15]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x16]
imul rdx, r11
xor rdx, rax
movzx eax, byte [rcx + 0x17]
imul rdx, r11
xor rdx, rax
imul rdx, r11
and rdx, r9
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp qword [r10 + rdx*8 + 8], rcx
jne 0x140299b19
cmp rax, rcx
jne 0x140299b0e
mov qword [r10 + rdx*8], r8
mov qword [r10 + rdx*8 + 8], r8
jmp 0x140299b25
mov r8, qword [rcx + 8]
mov qword [r10 + rdx*8 + 8], r8
jmp 0x140299b25
cmp rax, rcx
jne 0x140299b25
mov rax, qword [rcx]
mov qword [r10 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [0x1405e17c0]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x38
call fcn.14031dc44
lock dec dword [0x1405e17f4]
mov eax, dword [0x1405e17f4]
jne 0x140299b5f
xor eax, eax
xchg dword [0x1405e17f0], eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14029a6a0
Capabilities:
Print debug messages
Terminate process

Disassembly:
push rbx
sub rsp, 0x120
mov rbx, rdx
mov qword [rcx + 0xa650], rdx
call fcn.14029c7c0
test al, al
je 0x14029a6bd
int3
mov r9, rbx
lea r8, str._OUT_OF_MEMORY__attempted_allocation_size:__llu__n
mov edx, 0x100
lea rcx, [rsp + 0x20]
call fcn.14014feb0
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x11f], 0
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call fcn.14029c7c0
test al, al
jne 0x14029a721
lea r8, [rsp + 0x20]
mov edx, 0x80000bd2
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_src_tier0memstd.cpp
call fcn.14029bf90
test al, al
jne 0x14029a70d
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 1
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x120
pop rbx
ret
Function at 0x14029b400
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14029b5e1
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.14029b180
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14029b59f
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r9d, byte [rcx + 0x10]
xor r9, rbp
imul r9, rdi
movzx eax, byte [rcx + 0x11]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x12]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x13]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x14]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x15]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x16]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x17]
xor r9, rax
imul r9, rdi
mov r11, qword [rsi + 0x30]
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x14029b51c
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14029b593
mov rax, qword [r11 + 8]
mov r8, qword [rcx + 0x10]
cmp r8, qword [rax + 0x10]
jne 0x14029b559
mov r8, qword [rax]
cmp r8, rcx
je 0x14029b553
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14029b593
cmp r9, rax
je 0x14029b56f
nop
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
je 0x14029b5bb
cmp r9, rax
jne 0x14029b560
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14029b4a0
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
jmp 0x14029b593
lea rcx, [0x1404a1680]
call fcn.14031f248
int3
Function at 0x14029b5f0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14029b826
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.14029b050
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14029b80a
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r9d, byte [rcx + 0x10]
xor r9, rbp
imul r9, rdi
movzx eax, byte [rcx + 0x11]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x12]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x13]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x14]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x15]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x16]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x17]
xor r9, rax
imul r9, rdi
movzx r8d, byte [rcx + 0x18]
xor r8, rbp
imul r8, rdi
movzx eax, byte [rcx + 0x19]
xor r8, rax
imul r8, rdi
movzx eax, byte [rcx + 0x1a]
xor r8, rax
imul r8, rdi
movzx eax, byte [rcx + 0x1b]
xor r8, rax
imul r8, rdi
lea r11, [r8 + r8]
xor r11, r9
and r11, qword [rsi + 0x30]
shl r11, 4
add r11, qword [rsi + 0x18]
mov r10, qword [r11]
cmp r10, rbx
jne 0x14029b740
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14029b7fe
mov rax, qword [r11 + 8]
mov r8, qword [rcx + 0x10]
cmp r8, qword [rax + 0x10]
jne 0x14029b791
mov r9d, dword [rax + 0x18]
cmp dword [rcx + 0x18], r9d
jne 0x14029b791
mov r9, qword [rax + 0x28]
cmp qword [rcx + 0x28], r9
jne 0x14029b791
mov r8, qword [rax]
cmp r8, rcx
je 0x14029b78b
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14029b7fe
cmp r10, rax
je 0x14029b7da
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x14029b791
mov r9d, dword [rax + 0x18]
cmp dword [rcx + 0x18], r9d
jne 0x14029b791
mov r9, qword [rax + 0x28]
cmp qword [rcx + 0x28], r9
jne 0x14029b791
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
jmp 0x14029b7fe
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14029b690
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
lea rcx, [0x1404a1680]
call fcn.14031f248
int3
Function at 0x14029f2b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
lea r8, [rcx + 0x10]
mov r9, rdx
mov qword [rdx], r8
mov rax, r8
cmp qword [rcx + 0x18], 0xffffffffffffffff
nop
jne 0x14029f353
mov rbx, qword [r8]
movabs r10, 0x7fffffffff0
mov rcx, rbx
shr rcx, 0x15
and rcx, r10
lock cmpxchg qword [rcx], r9
je 0x14029f32a
nop dword [rax]
mov rdx, rax
lea rcx, [rbx + 1]
shl rdx, 0x15
xor rdx, rcx
shl rax, 0x15
and edx, 0x1ffffff
xor rdx, rax
mov rax, rbx
lock cmpxchg qword [r8], rdx
mov rbx, qword [r8]
mov rax, r8
mov rcx, rbx
shr rcx, 0x15
and rcx, r10
lock cmpxchg qword [rcx], r9
jne 0x14029f2f0
mov rcx, r9
lea rax, [rbx + 1]
shl rcx, 0x15
xor rcx, rax
shl r9, 0x15
and ecx, 0x1ffffff
mov rax, rbx
xor rcx, r9
lock cmpxchg qword [r8], rcx
add rsp, 0x30
pop rbx
ret
movdqu xmm1, xmmword [r8]
movq rcx, xmm1
lock cmpxchg qword [rcx], r9
je 0x14029f3b8
nop dword [rax]
nop dword [rax + rax]
movdqa xmm0, xmm1
movaps xmmword [rsp], xmm1
psrldq xmm0, 8
mov rbx, rax
movq rax, xmm1
movq rcx, xmm0
psrldq xmm1, 8
inc ecx
movq rdx, xmm1
lock cmpxchg16b xmmword [r8]
movdqu xmm1, xmmword [r8]
mov qword [rsp], rax
movq rcx, xmm1
mov qword [rsp + 8], rdx
mov rax, r8
lock cmpxchg qword [rcx], r9
jne 0x14029f370
movdqa xmm0, xmm1
movaps xmmword [rsp + 0x10], xmm1
and r9, 0xfffffffffffffff0
psrldq xmm0, 8
movq rax, xmm1
movq rcx, xmm0
psrldq xmm1, 8
inc ecx
mov rbx, r9
movq rdx, xmm1
lock cmpxchg16b xmmword [r8]
add rsp, 0x30
pop rbx
ret
Function at 0x1402a1370
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rdi, rdx
mov rsi, rcx
mov r8d, dword [0x140756750]
mov rax, qword gs:[0x58]
mov ecx, 0x480
mov r9, qword [rax + r8*8]
xor ebp, ebp
mov eax, dword [rcx + r9]
cmp dword [0x140713510], eax
jg 0x1402a1564
lea rbx, [0x1407134e0]
mov qword [rsp + 0x50], rbx
call sub.KERNEL32.dll_GetCurrentThreadId
mov r8d, eax
mov edx, dword [0x1407134e0]
cmp eax, edx
je 0x1402a13ef
xor eax, eax
lock cmpxchg dword [0x1407134e0], r8d
je 0x1402a13ef
pause
mov edx, r8d
mov rcx, rbx
call fcn.1402931a0
jmp 0x1402a13f6
lock inc dword [0x1407134e4]
cmp rdi, qword [rsi + 0x40]
je 0x1402a1536
mov qword [rsi + 0x40], rdi
movzx edx, dil
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r8, 0x100000001b3
imul rdx, r8
mov rax, rdi
shr rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x38
xor rdx, rax
imul rdx, r8
and rdx, qword [rsi + 0x30]
shl rdx, 4
add rdx, qword [rsi + 0x18]
mov rax, qword [rdx + 8]
mov rcx, qword [rsi + 8]
cmp rax, rcx
je 0x1402a14e5
mov rdx, qword [rdx]
cmp rdi, qword [rax + 0x10]
je 0x1402a14cf
nop dword [rax]
cmp rax, rdx
je 0x1402a14e5
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x1402a14c0
test rax, rax
cmove rax, rcx
cmp rax, rcx
je 0x1402a14e5
mov rax, qword [rax + 0x18]
mov qword [rsi + 0x48], rax
jmp 0x1402a153a
mov rbx, 0xffffffffffffffff
nop dword [rax]
lea rbx, [rbx + 1]
cmp byte [rdi + rbx], 0
jne 0x1402a14f0
lea rcx, [rbx + 1]
call fcn.14032bef4
mov qword [rsi + 0x48], rax
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rax
call fcn.140320ff0
mov qword [rsp + 0x20], rdi
mov rax, qword [rsi + 0x48]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1402a0ee0
mov rax, qword [rsi + 0x48]
lock dec dword [0x1407134e4]
mov ecx, dword [0x1407134e4]
jne 0x1402a154f
xchg dword [0x1407134e0], ebp
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
lea rcx, [0x140713510]
call fcn.14031e094
cmp dword [0x140713510], 0xffffffff
jne 0x1402a13b5
mov dword [0x1407134e0], ebp
mov dword [0x1407134e4], ebp
lea rcx, [0x1407134e8]
call fcn.140292ce0
nop
lea rcx, [0x140480a90]
call fcn.14031def4
nop
lea rcx, [0x140713510]
call fcn.14031e034
jmp 0x1402a13b5
Function at 0x1402a15c0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1402a17a1
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.14029b180
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x1402a175f
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r9d, byte [rcx + 0x10]
xor r9, rbp
imul r9, rdi
movzx eax, byte [rcx + 0x11]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x12]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x13]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x14]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x15]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x16]
xor r9, rax
imul r9, rdi
movzx eax, byte [rcx + 0x17]
xor r9, rax
imul r9, rdi
mov r11, qword [rsi + 0x30]
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1402a16dc
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x1402a1753
mov rax, qword [r11 + 8]
mov r8, qword [rcx + 0x10]
cmp r8, qword [rax + 0x10]
jne 0x1402a1719
mov r8, qword [rax]
cmp r8, rcx
je 0x1402a1713
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x1402a1753
cmp r9, rax
je 0x1402a172f
nop
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
je 0x1402a177b
cmp r9, rax
jne 0x1402a1720
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x1402a1660
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
jmp 0x1402a1753
lea rcx, [0x1404a1680]
call fcn.14031f248
int3