joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18002b894
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rsi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x18002b8c4
cvtsi2ss xmm0, rdx
jmp 0x18002b8d9
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002b907
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002b907
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x18002b935
cmp rbx, 0x200
jae 0x18002b932
shl rbx, 3
cmp rbx, rcx
jae 0x18002b935
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002baaf
lea rax, [rbx - 1]
mov edi, 1
mov rbx, qword [rsi + 8]
or rax, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.180027d3c
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002ba63
mov rcx, qword [rcx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx edx, byte [r8 + rax + 0x10]
movabs r9, 0x100000001b3
xor r11, rdx
inc r8
imul r11, r9
cmp r8, 4
jb 0x18002b9ad
and r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18002b9e9
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18002ba57
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18002ba2c
mov r10, qword [r10]
cmp r10, rax
je 0x18002b9e2
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18002b9e2
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18002ba89
cmp qword [rdi + r11*8], r10
jne 0x18002ba22
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [rdi + r11*8], rax
mov rax, rcx
cmp rcx, rbx
jne 0x18002b99d
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.18002bf08
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov r10, qword [r10]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18002ba57
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3
Function at 0x18002bac4
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x18002baf4
cvtsi2ss xmm0, rdx
jmp 0x18002bb09
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002bb37
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002bb37
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x18002bb65
cmp rbx, 0x200
jae 0x18002bb62
shl rbx, 3
cmp rbx, rcx
jae 0x18002bb65
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002bce3
mov rsi, qword [rdi + 8]
lea rax, [rbx - 1]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rsi
inc ecx
shl rbx, cl
lea rcx, [rdi + 0x18]
lea rdx, [rbx + rbx]
call fcn.180027e78
mov rcx, qword [rdi + 8]
lea rax, [rbx - 1]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rbx
mov rcx, qword [rcx]
cmp rcx, rsi
je 0x18002bc97
mov rax, rcx
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [r9 + rax + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 8
jb 0x18002bbdd
mov r11, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x18]
and r11, r8
add r11, r11
cmp qword [rbx + r11*8], rsi
jne 0x18002bc1c
mov qword [rbx + r11*8], rax
mov qword [rbx + r11*8 + 8], rax
jmp 0x18002bc8b
mov r10, qword [rbx + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18002bc60
mov r10, qword [r10]
cmp r10, rax
je 0x18002bc15
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18002bc15
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x18002bcbd
cmp qword [rbx + r11*8], r10
jne 0x18002bc56
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [rbx + r11*8], rax
mov rax, rcx
cmp rcx, rsi
jne 0x18002bbcd
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.18002be44
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov r10, qword [r10]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x18002bc8b
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3
Function at 0x18002c160
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rsi, r8
mov rbp, rdx
mov r13, rcx
cmp rdx, r8
je 0x18002c214
mov rax, qword [rcx + 8]
mov rdi, rdx
mov r12, qword [rcx + 0x18]
movabs r15, 0xcbf29ce484222325
mov r14, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x68], rax
movabs rdx, 0x100000001b3
movzx eax, byte [rcx + rbp + 0x10]
inc rcx
xor r15, rax
imul r15, rdx
cmp rcx, 8
jb 0x18002c1b0
and r15, qword [r13 + 0x30]
add r15, r15
mov rax, qword [r12 + r15*8]
mov qword [rsp + 0x70], rax
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x78], rax
mov rcx, rdi
mov rbx, rdi
mov rdi, qword [rdi]
mov edx, 0x20
call fcn.18010ca08
dec qword [r13 + 0x10]
cmp rbx, qword [rsp + 0x78]
je 0x18002c22c
cmp rdi, rsi
jne 0x18002c1df
cmp qword [rsp + 0x70], rbp
jne 0x18002c20d
mov qword [r12 + r15*8], rdi
mov qword [r14], rdi
mov qword [rdi + 8], r14
mov rbx, qword [rsp + 0x60]
mov rax, rsi
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp qword [rsp + 0x70], rbp
jne 0x18002c241
mov rbp, qword [rsp + 0x68]
mov qword [r12 + r15*8], rbp
mov rax, rbp
jmp 0x18002c244
mov rax, r14
mov qword [r12 + r15*8 + 8], rax
cmp rdi, rsi
je 0x18002c20d
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movabs rbp, 0x100000001b3
movzx eax, byte [rdi + rdx + 0x10]
inc rdx
xor rcx, rax
imul rcx, rbp
cmp rdx, 8
jb 0x18002c264
mov r15, qword [r13 + 0x30]
mov rbp, qword [rsp + 0x68]
and r15, rcx
add r15, r15
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x70], rax
mov rcx, rdi
mov rbx, rdi
mov rdi, qword [rdi]
mov edx, 0x20
call fcn.18010ca08
dec qword [r13 + 0x10]
cmp rbx, qword [rsp + 0x70]
je 0x18002c2bb
cmp rdi, rsi
je 0x18002c209
jmp 0x18002c292
mov qword [r12 + r15*8], rbp
mov qword [r12 + r15*8 + 8], rbp
jmp 0x18002c249
Function at 0x18002c2cc
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rsi, r8
mov rbp, rdx
mov r13, rcx
cmp rdx, r8
je 0x18002c380
mov rax, qword [rcx + 8]
mov rdi, rdx
mov r12, qword [rcx + 0x18]
movabs r15, 0xcbf29ce484222325
mov r14, qword [rdx + 8]
xor ecx, ecx
mov qword [rsp + 0x68], rax
movabs rdx, 0x100000001b3
movzx eax, byte [rcx + rbp + 0x10]
inc rcx
xor r15, rax
imul r15, rdx
cmp rcx, 4
jb 0x18002c31c
and r15, qword [r13 + 0x30]
add r15, r15
mov rax, qword [r12 + r15*8]
mov qword [rsp + 0x70], rax
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x78], rax
mov rcx, rdi
mov rbx, rdi
mov rdi, qword [rdi]
mov edx, 0x18
call fcn.18010ca08
dec qword [r13 + 0x10]
cmp rbx, qword [rsp + 0x78]
je 0x18002c398
cmp rdi, rsi
jne 0x18002c34b
cmp qword [rsp + 0x70], rbp
jne 0x18002c379
mov qword [r12 + r15*8], rdi
mov qword [r14], rdi
mov qword [rdi + 8], r14
mov rbx, qword [rsp + 0x60]
mov rax, rsi
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp qword [rsp + 0x70], rbp
jne 0x18002c3ad
mov rbp, qword [rsp + 0x68]
mov qword [r12 + r15*8], rbp
mov rax, rbp
jmp 0x18002c3b0
mov rax, r14
mov qword [r12 + r15*8 + 8], rax
cmp rdi, rsi
je 0x18002c379
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movabs rbp, 0x100000001b3
movzx eax, byte [rdi + rdx + 0x10]
inc rdx
xor rcx, rax
imul rcx, rbp
cmp rdx, 4
jb 0x18002c3d0
mov r15, qword [r13 + 0x30]
mov rbp, qword [rsp + 0x68]
and r15, rcx
add r15, r15
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x70], rax
mov rcx, rdi
mov rbx, rdi
mov rdi, qword [rdi]
mov edx, 0x18
call fcn.18010ca08
dec qword [r13 + 0x10]
cmp rbx, qword [rsp + 0x70]
je 0x18002c427
cmp rdi, rsi
je 0x18002c375
jmp 0x18002c3fe
mov qword [r12 + r15*8], rbp
mov qword [r12 + r15*8 + 8], rbp
jmp 0x18002c3b5

Function at 0x18002ef74
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rax, qword [0x18015ed50]
mov ebx, r8d
mov rdi, rdx
mov esi, ecx
cmp eax, 0xffffffff
je 0x18002efcb
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
je 0x18002efcb
mov r8, qword [rax]
mov rax, qword [r8 + 0x120]
movabs r10, 0x8d212f901eda1170
mov r9d, ebx
mov r8, rdi
mov edx, esi
call qword [case.0x180004bac.0]
jmp 0x18002efd9
call fcn.180100570
mov dword [rax], 9
or eax, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x18002eff0
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [0x18015ed50]
mov ebx, ecx
cmp eax, 0xffffffff
je 0x18002f036
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
je 0x18002f036
mov rdx, qword [rax]
mov rax, qword [rdx + 0xf8]
movabs r10, 0x864c1fb01254a970
mov edx, ebx
add rsp, 0x20
pop rbx
jmp qword [case.0x180004bac.0]
call fcn.180100570
mov dword [rax], 9
or eax, 0xffffffff
add rsp, 0x20
pop rbx
ret
Function at 0x18002f050
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rax, qword [0x18015ed50]
mov ebx, r8d
mov edi, edx
mov esi, ecx
cmp eax, 0xffffffff
je 0x18002f0a6
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
je 0x18002f0a6
mov r8, qword [rax]
mov rax, qword [r8 + 0x100]
movabs r10, 0xf14c8f385cd9fb70
mov r9d, ebx
mov r8d, edi
mov edx, esi
call qword [case.0x180004bac.0]
jmp 0x18002f0b4
call fcn.180100570
mov dword [rax], 9
or eax, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x18002f0cc
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x18015ed50]
mov rdi, rdx
mov rbx, rcx
cmp eax, 0xffffffff
je 0x18002f0f2
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
jmp 0x18002f0f4
xor eax, eax
mov qword [rdi], rax
test rax, rax
jne 0x18002f10b
mov dword [rbx], 0xb
lea rax, [0x18015ec88]
jmp 0x18002f115
and dword [rbx], 0
lea rax, [0x18015ec78]
mov qword [rbx + 8], rax
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180030fd0
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov r8, qword [rcx + 0x18]
mov rbx, rcx
mov rdx, qword [rcx + 8]
cmp r8, rdx
je 0x180031004
mov rax, qword [rcx]
sub r8, rdx
mov qword [rcx + 0x18], rdx
movabs r10, 0x84ad079c5ed7b370
mov rax, qword [rax + 0x48]
call qword [case.0x180004bac.0]
mov rax, qword [0x18015ed50]
cmp eax, 0xffffffff
je 0x18003101d
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
jmp 0x18003101f
xor ecx, ecx
mov rax, qword [rcx]
movabs r10, 0xb74cb7fc70dcf870
mov rax, qword [rax + 0xe0]
call qword [case.0x180004bac.0]
mov rax, rbx
add rsp, 0x20
pop rbx
ret

Function at 0x180037f0c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x30
mov ebx, dword [rcx]
xor r14d, r14d
add rbx, 0x3f
mov rsi, rdx
shr rbx, 6
mov r15, rcx
mov ebp, ebx
mov r13, r8
lea eax, [r14 + 8]
mul rbp
lea rdi, [r14 - 1]
cmovo rax, rdi
mov rcx, rax
call fcn.18010ce54
mov rdx, rax
test ebx, ebx
je 0x180037f7d
mov rax, qword [r13 + 8]
mov rcx, qword [r15 + 8]
mov rax, qword [r14 + rax]
xor rax, qword [r14 + rcx]
mov qword [r14 + rdx], rax
lea r14, [r14 + 8]
sub rbp, 1
jne 0x180037f5f
mov r8d, dword [r15]
mov ecx, r8d
mov dword [rsi], r8d
mov qword [rsi + 8], rdx
and ecx, 0x3f
je 0x180037fb8
mov eax, 0x40
sub eax, ecx
mov cl, al
shr rdi, cl
cmp r8d, 0x40
ja 0x180037faa
and rdi, rdx
mov qword [rsi + 8], rdi
jmp 0x180037fb8
lea rax, [r8 + 0x3f]
shr rax, 6
dec eax
and qword [rdx + rax*8], rdi
mov rbx, qword [rsp + 0x50]
mov rax, rsi
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r13
ret

Function at 0x180040c7c
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0x30
cmp dword [rcx + 8], 0
mov rdi, rcx
jne 0x180040cad
mov edx, dword [rcx + 0x10]
shl rdx, 4
add rdx, qword [rcx]
mov qword [rax - 0x18], rdx
mov qword [rax - 0x10], rdx
jmp 0x180040ce6
mov rcx, qword [rcx]
mov edx, dword [rdi + 0x10]
shl rdx, 4
add rdx, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdx
cmp rcx, rdx
je 0x180040ce6
mov rax, qword [rcx]
add rax, 8
test rax, 0xfffffffffffffffb
jne 0x180040ce1
add rcx, 0x10
cmp rcx, rdx
jne 0x180040cc9
mov qword [rsp + 0x20], rcx
mov ebp, dword [rdi + 0x10]
lea rax, [rsp + 0x20]
movups xmm0, xmmword [rax]
shl rbp, 4
add rbp, qword [rdi]
movups xmmword [rsp + 0x20], xmm0
movq rbx, xmm0
jmp 0x180040d39
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x180040d2e
mov rcx, rsi
call fcn.1800f5e50
mov rcx, rsi
call fcn.18000182c
jmp 0x180040d2e
mov rax, qword [rbx]
add rax, 8
test rax, 0xfffffffffffffffb
jne 0x180040d39
add rbx, 0x10
cmp rbx, qword [rsp + 0x28]
jne 0x180040d1f
cmp rbx, rbp
jne 0x180040d04
lea rcx, [rdi + 0x18]
call fcn.1800f6440
mov rcx, qword [rdi]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
jmp fcn.18000182c
Function at 0x180045224
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x10], 0
mov rdi, rcx
je 0x180045272
mov eax, dword [rcx + 0x10]
mov rbx, qword [rcx]
imul rsi, rax, 0x68
add rsi, rbx
jmp 0x18004526d
mov rax, qword [rbx]
add rax, 8
test rax, 0xfffffffffffffffb
je 0x180045269
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 8]
je 0x180045269
call fcn.18010c90c
add rbx, 0x68
cmp rbx, rsi
jne 0x18004524b
mov rcx, qword [rdi]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.18000182c
Function at 0x180048d58
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rcx]
mov rsi, rcx
mov rdi, qword [rax + 8]
jmp 0x180048d9e
mov r8, qword [rdi + 0x10]
mov rdx, rsi
mov rcx, rsi
call fcn.180048f88
mov rbx, rdi
mov rdi, qword [rdi]
lea rcx, [rbx + 0x20]
call fcn.180049088
mov edx, 0x60
mov rcx, rbx
call fcn.18010ca08
cmp byte [rdi + 0x19], 0
je 0x180048d73
mov rcx, qword [rsi]
mov edx, 0x60
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.18010ca08

Function at 0x18004a114
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
cmp qword [rdx + 0x28], 0x10
mov rsi, rcx
lea rcx, [rdx + 0x10]
mov rdi, rdx
jb 0x18004a13e
mov rcx, qword [rdx + 0x10]
mov rax, qword [rdx + 0x20]
lea rdx, [rsp + 0x20]
mov r14, qword [rsi + 0x118]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov qword [rsp + 0x28], rax
call fcn.18003b8f4
cmp eax, 0xffffffff
je 0x18004a191
mov r8, qword [r14]
cdqe
lea rdx, [r8 + rax*8]
mov eax, dword [r14 + 8]
lea rax, [r8 + rax*8]
cmp rdx, rax
je 0x18004a191
mov rbx, qword [rdx]
mov rcx, r14
mov rdx, rbx
call fcn.18003b9f0
mov rcx, rbx
call fcn.18000182c
mov rax, qword [rdi + 8]
mov rcx, qword [rdi]
cmp rdi, qword [rsi + 0x80]
je 0x18004a1a7
mov qword [rcx + 8], rax
jmp 0x18004a1ae
mov qword [rsi + 0x80], rax
mov qword [rax], rcx
mov rcx, rdi
and qword [rdi + 8], 0
and qword [rdi], 0
call fcn.1800699c0
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
jmp fcn.18000182c

Function at 0x18004a49c
Capabilities:
Get thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x18004a4ee
mov rdx, qword [rbx + 0x58]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x18004a4da
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004a50d
mov rcx, r8
call fcn.18010ca08
and qword [rbx + 0x48], 0
and qword [rbx + 0x50], 0
and qword [rbx + 0x58], 0
mov rcx, qword [rbx + 0x30]
call fcn.18000182c
mov rcx, qword [rbx + 0x18]
call fcn.18000182c
mov rcx, qword [rbx]
add rsp, 0x20
pop rbx
jmp fcn.18000182c
call fcn.1800fd71c
int3

Function at 0x180067b2c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x10]
mov rdi, rcx
shl rax, 3
mov rbx, rcx
sub rdi, rax
cmp rcx, rdi
je 0x180067b5c
add rbx, 0xfffffffffffffff8
mov rcx, rbx
call fcn.18000dd18
cmp rbx, rdi
jne 0x180067b4b
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.18000182c
Function at 0x180076550
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x30
cmp dword [rcx + 8], 0
mov rdi, rcx
jne 0x18007657d
mov edx, dword [rcx + 0x10]
shl rdx, 4
add rdx, qword [rcx]
mov qword [rax - 0x18], rdx
mov qword [rax - 0x10], rdx
jmp 0x1800765b6
mov rcx, qword [rcx]
mov edx, dword [rdi + 0x10]
shl rdx, 4
add rdx, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdx
cmp rcx, rdx
je 0x1800765b6
mov rax, qword [rcx]
add rax, 8
test rax, 0xfffffffffffffffb
jne 0x1800765b1
add rcx, 0x10
cmp rcx, rdx
jne 0x180076599
mov qword [rsp + 0x20], rcx
mov esi, dword [rdi + 0x10]
lea rax, [rsp + 0x20]
movups xmm0, xmmword [rax]
shl rsi, 4
add rsi, qword [rdi]
movups xmmword [rsp + 0x20], xmm0
movq rbx, xmm0
jmp 0x1800765f9
mov rcx, qword [rbx + 8]
call fcn.18000182c
jmp 0x1800765ee
mov rax, qword [rbx]
add rax, 8
test rax, 0xfffffffffffffffb
jne 0x1800765f9
add rbx, 0x10
cmp rbx, qword [rsp + 0x28]
jne 0x1800765df
cmp rbx, rsi
jne 0x1800765d4
mov rcx, qword [rdi]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.18000182c
Function at 0x180088b30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rsi, rcx
mov r12, r9
lea rcx, [r8 - 1]
mov r14, r8
mov r15, rcx
mov qword [rbp + 0x30], rcx
sar r15, 1
mov rdi, rdx
mov r13, rdx
cmp rdx, r15
jge 0x180088bea
lea rbx, [rdx + rdx]
mov rdx, rbx
add rdx, rdx
mov rax, qword [rsi + rdx*8 + 0x10]
mov rcx, qword [rax + 0x10]
lea rax, [rcx + 0x20]
mov qword [rbp - 0x20], rax
mov eax, dword [rcx]
mov qword [rbp - 0x18], rax
mov rax, qword [rsi + rdx*8 + 0x20]
lea rdx, [rbp - 0x20]
mov rcx, qword [rax + 0x10]
lea rax, [rcx + 0x20]
mov qword [rbp - 0x10], rax
mov eax, dword [rcx]
lea rcx, [rbp - 0x10]
mov qword [rbp - 8], rax
call fcn.18003fb10
add rdi, rdi
movzx edx, al
xor rdx, 1
inc rdx
add rdx, rbx
mov rcx, rdx
add rcx, rcx
mov rax, qword [rsi + rcx*8]
mov qword [rsi + rdi*8], rax
mov rax, qword [rsi + rcx*8 + 8]
mov qword [rsi + rdi*8 + 8], rax
mov rdi, rdx
cmp rdx, r15
jl 0x180088b71
mov rcx, qword [rbp + 0x30]
jne 0x180088c0e
test r14b, 1
jne 0x180088c0e
add r14, r14
add rdi, rdi
mov rax, qword [rsi + r14*8 - 0x10]
mov qword [rsi + rdi*8], rax
mov rax, qword [rsi + r14*8 - 8]
mov qword [rsi + rdi*8 + 8], rax
mov rdi, rcx
cmp r13, rdi
jge 0x180088c76
mov rax, qword [r12]
lea rbx, [rdi - 1]
sar rbx, 1
lea rdx, [rbp - 0x10]
mov r14, rbx
add r14, r14
mov rcx, qword [rax + 0x10]
mov r15, qword [rsi + r14*8]
lea rax, [rcx + 0x20]
mov qword [rbp - 0x10], rax
mov eax, dword [rcx]
mov rcx, qword [r15 + 0x10]
mov qword [rbp - 8], rax
lea rax, [rcx + 0x20]
mov qword [rbp - 0x20], rax
mov eax, dword [rcx]
lea rcx, [rbp - 0x20]
mov qword [rbp - 0x18], rax
call fcn.18003fb10
test al, al
je 0x180088c76
add rdi, rdi
mov qword [rsi + rdi*8], r15
mov rax, qword [rsi + r14*8 + 8]
mov qword [rsi + rdi*8 + 8], rax
mov rdi, rbx
cmp r13, rbx
jl 0x180088c13
mov rax, qword [r12]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
add rdi, rdi
mov qword [rsi + rdi*8], rax
mov rax, qword [r12 + 8]
mov qword [rsi + rdi*8 + 8], rax
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret