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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp + 0x1f], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1401cd010]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, r8
mov edi, edx
xor r14d, r14d
mov ecx, dword [0x1401cecd0]
cmp byte [0x1401cecd4], r14b
je 0x14012126c
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140121273
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop
test rax, rax
jne 0x14012140c
lea rax, [0x1401cecd0]
mov qword [rbp - 0x69], rax
mov dword [rbp - 0x61], r14d
mov r15d, 7
lea ebx, [r15 - 6]
mov ecx, dword [0x1401cecd0]
mov edx, ebx
cmp byte [0x1401cecd4], r14b
je 0x1401212b0
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x1401212b7
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
test eax, eax
jne 0x1401212c0
mov rcx, r15
int 0x29
lock xadd dword [rbp - 0x61], ebx
mov rax, qword [0x1401ced00]
mov r8b, 6
mov ebx, 0x11d
mov edx, ebx
lea rcx, [0x1401ced00]
mov rax, qword [rax + 0x20]
call qword [case.0x1400ee2b6.0]
test al, al
jne 0x140121326
mov eax, dword [rbp - 0x61]
test eax, eax
je 0x14012140c
or eax, 0xffffffff
lock xadd dword [rbp - 0x61], eax
mov rcx, qword [rbp - 0x69]
xor edx, edx
cmp byte [rcx + 4], r14b
mov ecx, dword [rcx]
je 0x140121314
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x14012131b
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
test eax, eax
jne 0x1401212eb
mov rcx, r15
int 0x29
jmp 0x1401212eb
mov edx, edi
lea rcx, [rbp + 0x27]
call fcn.14011e420
lea rax, [0x14013c7c8]
mov qword [rbp - 1], rax
lea rax, str.szMessage
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rsi
mov word [rbp + 0x17], r14w
lea rax, [0x14013c2d8]
mov qword [rbp - 0x21], rax
lea rax, str.wzTag
mov qword [rbp - 0x19], rax
lea rax, [rbp + 0x27]
mov qword [rbp - 0x11], rax
mov word [rbp - 9], r14w
lea rax, [rbp - 0x21]
mov qword [rbp - 0x49], rax
lea rax, [rbp - 1]
mov qword [rbp - 0x41], rax
lea rax, [0x14013c1a8]
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x49]
mov qword [rbp - 0x31], rax
lea rax, [rbp - 0x39]
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x59], edi
mov dword [rbp - 0x55], ebx
mov byte [rbp - 0x51], 6
mov word [rbp - 0x4f], r14w
mov rax, qword [0x1401ced00]
lea r9, [rbp - 0x39]
lea r8, str.SHIP_ASSERT_FAILED_
lea rdx, [rbp - 0x59]
lea rcx, [0x1401ced00]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ee2b6.0]
nop
mov eax, dword [rbp - 0x61]
test eax, eax
je 0x14012140c
or eax, 0xffffffff
lock xadd dword [rbp - 0x61], eax
mov rcx, qword [rbp - 0x69]
xor edx, edx
cmp byte [rcx + 4], r14b
mov ecx, dword [rcx]
je 0x1401213fa
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140121401
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
test eax, eax
jne 0x1401213d5
mov rcx, r15
int 0x29
jmp 0x1401213d5
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14012aa20
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140124b54
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp - 0x59], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1401cd010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, r8
mov rsi, rdx
mov r14, rcx
xor r15d, r15d
mov ecx, dword [0x1401cfe98]
cmp byte [0x1401cfe9c], r15b
je 0x140124ba6
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140124bac
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140124bcb
mov edx, 0x10
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
inc qword [rdx + rcx]
jmp 0x140124d41
mov ecx, dword [0x1401cfea8]
cmp byte [0x1401cfeac], r15b
je 0x140124be2
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140124be8
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
jne 0x140124c75
lea ecx, [rax + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x140124d64
mov qword [rbp - 0x51], rax
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], r15
mov ecx, 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
jne 0x140124c37
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
int3
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
movdqu xmmword [rax], xmm0
mov rax, qword [rbx]
mov qword [rax], rbx
mov rdx, rbx
mov ecx, dword [0x1401cfea8]
cmp byte [0x1401cfeac], r15b
je 0x140124c66
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140124c6c
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140124c75
lea ecx, [rax + 7]
int 0x29
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x39], r15w
lea rdx, [0x14014552c]
test rsi, rsi
cmovne rdx, rsi
lea rcx, [rbp - 0x39]
call fcn.140007920
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140124caf
lock inc dword [rcx + 8]
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rcx
movups xmm0, xmmword [rbp - 0x39]
movaps xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rbp - 0x29]
movaps xmmword [rbp + 7], xmm1
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x39], r15w
movsd xmm0, qword [r14]
movsd qword [rbp + 0x17], xmm0
mov eax, dword [r14 + 8]
mov dword [rbp + 0x1f], eax
lea rdx, [rbp - 0x19]
mov rcx, rbx
call fcn.140124d70
lea rcx, [rbp - 0x19]
call fcn.140124ec0
mov rax, qword [rbp - 0x21]
cmp rax, 8
jb 0x140124d41
mov rcx, qword [rbp - 0x39]
mov rdx, rcx
lea rax, [rax*2 + 2]
cmp rax, 0x1000
jb 0x140124d3b
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x140124d3b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14012aa20
mov rbx, qword [rsp + 0xe0]
add rsp, 0xb0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140129d58
int3
Function at 0x140125494
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [0x1401cfeac], 0
mov ecx, dword [0x1401cfea8]
je 0x1401254b1
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x1401254b7
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rax, rax
je 0x1401254f7
mov rcx, rax
call fcn.1401256f0
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [0x1401cfea8]
xor edx, edx
cmp byte [0x1401cfeac], dl
je 0x1401254e8
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x1401254ee
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1401254f7
lea ecx, [rax + 7]
int 0x29
mov rax, qword gs:[0x58]
mov edx, 0x10
mov rcx, qword [rax]
and qword [rdx + rcx], 0
add rsp, 0x20
pop rbx
ret

Function at 0x14012589c
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], r14
mov rdi, rcx
mov ecx, dword [0x1401cfea0]
cmp byte [0x1401cfea4], 0
je 0x1401258d6
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x1401258dc
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
jne 0x140125968
mov ecx, dword [0x1401cfe90]
cmp byte [0x1401cfe94], al
je 0x1401258fb
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140125901
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012597d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov rax, qword [rdi + 8]
lea r8, [rbp - 0x18]
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.140124b54
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x140125968
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
add eax, edi
jne 0x140125968
mov rbx, qword [rbp - 0x10]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400ee2b6.0]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
add eax, edi
jne 0x140125968
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
lea rax, [0x1401cfe90]
mov qword [rbp - 0x28], rax
and dword [rbp - 0x20], 0
mov r14d, 7
lea ebx, [r14 - 6]
mov ecx, dword [0x1401cfe90]
mov edx, ebx
cmp byte [0x1401cfe94], 0
je 0x1401259af
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x1401259b5
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1401259be
mov rcx, r14
int 0x29
lock xadd dword [rbp - 0x20], ebx
mov rcx, qword [rdi + 0x10]
add rcx, 8
mov r8, qword [rdi + 8]
mov r8, qword [r8]
mov rdx, qword [rdi]
call fcn.140121480
mov rcx, qword [rdi + 0x10]
call fcn.140124fc8
or edi, 0xffffffff
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x140125968
mov eax, edi
lock xadd dword [rbp - 0x20], eax
mov rcx, qword [rbp - 0x28]
xor edx, edx
cmp byte [rcx + 4], dl
mov ecx, dword [rcx]
je 0x140125a0d
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125a13
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1401259e6
mov rcx, r14
int 0x29
jmp 0x1401259e6
Function at 0x140125a30
Capabilities:
Set thread local storage value

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rsi
mov rsi, rcx
lea rax, [0x1401cfea0]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x30], 0
mov edi, 1
mov ecx, dword [0x1401cfea0]
mov edx, edi
cmp byte [0x1401cfea4], 0
je 0x140125a76
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125a7c
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125a85
lea ecx, [rax + 7]
int 0x29
lock xadd dword [rsp + 0x30], edi
mov rcx, qword [rsi]
add rcx, 8
mov rdx, qword [rsi + 8]
call fcn.140121ce0
nop
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140125ad4
or eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
cmp byte [rcx + 4], dl
mov ecx, dword [rcx]
je 0x140125ac3
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125ac9
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125a9c
lea ecx, [rax + 7]
int 0x29
jmp 0x140125a9c
mov rsi, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x140125ae0
Capabilities:
Set thread local storage value

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rsi
mov rsi, rcx
lea rax, [0x1401cfea0]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x30], 0
mov edi, 1
mov ecx, dword [0x1401cfea0]
mov edx, edi
cmp byte [0x1401cfea4], 0
je 0x140125b26
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125b2c
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125b35
lea ecx, [rax + 7]
int 0x29
lock xadd dword [rsp + 0x30], edi
mov rcx, qword [rsi]
add rcx, 8
mov rdx, qword [rsi + 8]
call fcn.140121980
nop
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140125b84
or eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
cmp byte [rcx + 4], dl
mov ecx, dword [rcx]
je 0x140125b73
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125b79
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125b4c
lea ecx, [rax + 7]
int 0x29
jmp 0x140125b4c
mov rsi, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x140125b90
Capabilities:
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rdi
sub rsp, 0x30
and dword [rsp + 0x28], 0
lea rax, [0x1401cfea0]
cmp byte [0x1401cfea4], 0
mov ebp, 7
mov rdi, rcx
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1401cfea0]
lea ebx, [rbp - 6]
mov edx, ebx
je 0x140125bd4
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125bda
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125be3
mov rcx, rbp
int 0x29
lock xadd dword [rsp + 0x28], ebx
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
add rcx, 8
call fcn.140121a80
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x140125c34
or eax, 0xffffffff
lock xadd dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0x20]
cmp byte [rdx + 4], 0
mov ecx, dword [rdx]
je 0x140125c21
xor edx, edx
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125c29
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125bf9
mov rcx, rbp
int 0x29
jmp 0x140125bf9
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x140125c44
Capabilities:
Set thread local storage value

Disassembly:
push rdi
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rsi
mov rsi, rcx
lea rax, [0x1401cfea0]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x30], 0
mov edi, 1
mov ecx, dword [0x1401cfea0]
mov edx, edi
cmp byte [0x1401cfea4], 0
je 0x140125c8a
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125c90
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125c99
lea ecx, [rax + 7]
int 0x29
lock xadd dword [rsp + 0x30], edi
mov rcx, qword [rsi]
add rcx, 8
call fcn.140121dd0
nop
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x140125ce4
or eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
cmp byte [rcx + 4], dl
mov ecx, dword [rcx]
je 0x140125cd3
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125cd9
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125cac
lea ecx, [rax + 7]
int 0x29
jmp 0x140125cac
mov rsi, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x140125cf0
Capabilities:
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rdi
sub rsp, 0x30
and dword [rsp + 0x28], 0
lea rax, [0x1401cfea0]
cmp byte [0x1401cfea4], 0
mov ebp, 7
mov rdi, rcx
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1401cfea0]
lea ebx, [rbp - 6]
mov edx, ebx
je 0x140125d34
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125d3a
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125d43
mov rcx, rbp
int 0x29
lock xadd dword [rsp + 0x28], ebx
mov rcx, qword [rdi]
add rcx, 8
call fcn.140121e70
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x140125d90
or eax, 0xffffffff
lock xadd dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0x20]
cmp byte [rdx + 4], 0
mov ecx, dword [rdx]
je 0x140125d7d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140125d85
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140125d55
mov rcx, rbp
int 0x29
jmp 0x140125d55
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x1401271b4
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov r14, rcx
xor ebx, ebx
mov ecx, dword [0x1401cfea0]
cmp byte [0x1401cfea4], bl
je 0x1401271e8
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x1401271ee
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
jne 0x1401272be
mov ecx, dword [0x1401cfe90]
cmp byte [0x1401cfe94], bl
je 0x14012720d
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140127213
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140127222
mov ebx, 1
jmp 0x1401272be
lea rax, [0x1401cfea0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], ebx
mov esi, 1
mov ecx, dword [0x1401cfea0]
mov edx, esi
cmp byte [0x1401cfea4], bl
je 0x14012724f
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140127255
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x14012725e
lea ecx, [rax + 7]
int 0x29
lock xadd dword [rsp + 0x30], esi
mov rdx, qword [r14]
mov rcx, qword [rdx]
add rcx, 8
mov rax, qword [rdx + 0x10]
mov rdx, qword [rdx + 8]
mov r8b, byte [rax]
mov edx, dword [rdx]
call fcn.140121730
mov sil, al
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401272bb
or eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
cmp byte [rcx + 4], bl
mov ecx, dword [rcx]
je 0x1401272aa
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x1401272b0
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140127283
lea ecx, [rax + 7]
int 0x29
jmp 0x140127283
mov bl, sil
mov al, bl
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop r14
ret
Function at 0x1401272d4
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov r14, rcx
xor ebx, ebx
mov ecx, dword [0x1401cfea0]
cmp byte [0x1401cfea4], bl
je 0x140127308
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x14012730e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
jne 0x1401273d5
mov ecx, dword [0x1401cfe90]
cmp byte [0x1401cfe94], bl
je 0x14012732d
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140127333
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140127342
mov ebx, 1
jmp 0x1401273d5
lea rax, [0x1401cfea0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], ebx
mov esi, 1
mov ecx, dword [0x1401cfea0]
mov edx, esi
cmp byte [0x1401cfea4], bl
je 0x14012736f
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140127375
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x14012737e
lea ecx, [rax + 7]
int 0x29
lock xadd dword [rsp + 0x30], esi
mov rdx, qword [r14]
mov rcx, qword [rdx]
add rcx, 8
mov rdx, qword [rdx + 8]
call fcn.140121800
mov sil, al
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401273d2
or eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
cmp byte [rcx + 4], bl
mov ecx, dword [rcx]
je 0x1401273c1
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x1401273c7
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x14012739a
lea ecx, [rax + 7]
int 0x29
jmp 0x14012739a
mov bl, sil
mov al, bl
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop r14
ret
Function at 0x1401273e8
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov r14, rcx
xor ebx, ebx
mov ecx, dword [0x1401cfea0]
cmp byte [0x1401cfea4], bl
je 0x14012741c
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140127422
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
jne 0x1401274e9
mov ecx, dword [0x1401cfe90]
cmp byte [0x1401cfe94], bl
je 0x140127441
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140127447
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140127456
mov ebx, 1
jmp 0x1401274e9
lea rax, [0x1401cfea0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], ebx
mov esi, 1
mov ecx, dword [0x1401cfea0]
mov edx, esi
cmp byte [0x1401cfea4], bl
je 0x140127483
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140127489
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x140127492
lea ecx, [rax + 7]
int 0x29
lock xadd dword [rsp + 0x30], esi
mov rdx, qword [r14]
mov rcx, qword [rdx]
add rcx, 8
mov rdx, qword [rdx + 8]
call fcn.1401218c0
mov sil, al
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401274e6
or eax, 0xffffffff
lock xadd dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x28]
xor edx, edx
cmp byte [rcx + 4], bl
mov ecx, dword [rcx]
je 0x1401274d5
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x1401274db
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
jne 0x1401274ae
lea ecx, [rax + 7]
int 0x29
jmp 0x1401274ae
mov bl, sil
mov al, bl
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop r14
ret
Function at 0x1800959ec
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push r14
sub rsp, 0x60
and dword [rax - 0x48], 0
mov rdi, rcx
mov r8d, dword [0x180349694]
mov sil, dl
movaps xmmword [rax - 0x18], xmm6
movss xmm6, dword [0x18009039c]
mov dword [rax - 0x40], 0xff
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r8*8]
mov eax, dword [rcx + rax]
cmp dword [0x18034a3b0], eax
jg 0x180095bbd
movabs rbx, 0xcbf29ce484222325
xor edx, edx
mov rcx, rbx
movabs r14, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x70]
inc rdx
xor rcx, rax
imul rcx, r14
cmp rdx, 8
jb 0x180095a63
mov rax, qword [0x18034a3a0]
mov rdx, qword [0x18034a388]
and rax, rcx
mov r9, qword [0x18034a378]
add rax, rax
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, r9
je 0x180095ab4
mov r8, qword [rdx + rax*8]
jmp 0x180095aac
cmp rcx, r8
je 0x180095ab4
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180095aa3
jmp 0x180095ab6
xor ecx, ecx
test rcx, rcx
mov rax, r9
cmovne rax, rcx
cmp rax, r9
jne 0x180095b37
and dword [rsp + 0x38], 0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
call fcn.180096334
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x70]
inc rcx
xor rbx, rax
imul rbx, r14
cmp rcx, 8
jb 0x180095ae0
and rbx, qword [0x18034a3a0]
mov rdx, qword [0x18034a388]
add rbx, rbx
mov rax, qword [0x18034a378]
mov rcx, qword [rdx + rbx*8 + 8]
cmp rcx, rax
je 0x180095b2e
mov r8, qword [rdx + rbx*8]
jmp 0x180095b26
cmp rcx, r8
je 0x180095b2e
mov rcx, qword [rcx + 8]
cmp rdi, qword [rcx + 0x10]
jne 0x180095b1d
jmp 0x180095b30
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov rcx, qword [0x180349ed0]
lea r8, [rax + 0x18]
mov edx, dword [r8]
subss xmm6, dword [rcx + 0x18]
mulss xmm6, dword [0x18009048c]
test sil, sil
je 0x180095b6c
cmp edx, 0xff
jge 0x180095b82
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm0, xmm6
jmp 0x180095b7b
test edx, edx
jle 0x180095b82
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm6
cvttss2si edx, xmm0
mov dword [r8], edx
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
lea rcx, [rsp + 0x20]
mov rsi, qword [r11 + 0x20]
lea rax, [rsp + 0x28]
mov rdi, qword [r11 + 0x28]
test edx, edx
cmovns rcx, r8
cmp edx, 0xff
cmovle rax, rcx
mov eax, dword [rax]
mov dword [r8], eax
mov rsp, r11
pop r14
ret
lea rcx, [0x18034a3b0]
call fcn.1800fc10c
cmp dword [0x18034a3b0], 0xffffffff
jne 0x180095a4a
mov ecx, 0x20
call fcn.1800fc028
xorps xmm0, xmm0
lea rcx, [0x18034a388]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
and qword [0x18034a388], 0
mov qword [0x18034a378], rax
movdqa xmmword [0x18034a390], xmm0
mov qword [0x18034a3a0], 7
mov qword [0x18034a3a8], 8
mov dword [0x18034a370], 0x3f800000
call fcn.180095fc4
lea rcx, [0x180168280]
call fcn.1800fc4dc
lea rcx, [0x18034a3b0]
call fcn.1800fc0a0
jmp 0x180095a4a