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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x28]
sub rsp, 0x110
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 8], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea rdx, [rcx + 0x10]
lea rcx, [rbp - 0x80]
call fcn.140023010
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 0x20], xmm0
mov rax, qword [rdi]
mov qword [rbp - 0x10], rax
lea r14, [rsi + 8]
mov rsi, qword [rsi]
mov rbx, qword [r14]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140018ca7
cmp qword [rax], rbx
je 0x140018dfd
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140018c95
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x80]
mov ecx, 0xb0
call fcn.140035ee0
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14003cc80]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x20], rbx
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.140022fa0
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rbx + 0x60], xmm0
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0x70], rax
mov r8, rdi
mov rdx, r14
mov rcx, rsi
call fcn.1400411c0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x140018dcb
mov rax, qword [r14]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [r14]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x140018e18
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rdi
mov rcx, qword [rsi + 0x28]
call fcn.14003cc80
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x78]
call fcn.140029e10
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp qword [rax + 8], 0
je 0x140018ca7
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001d2f0
nop
jmp 0x140018dcb
call fcn.14028ff34
int3
Function at 0x140018e20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x28]
sub rsp, 0x110
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 8], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea rdx, [rcx + 0x10]
lea rcx, [rbp - 0x80]
call fcn.140023140
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 0x20], xmm0
mov rax, qword [rdi]
mov qword [rbp - 0x10], rax
lea r14, [rsi + 8]
mov rsi, qword [rsi]
mov rbx, qword [r14]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140018ea7
cmp qword [rax], rbx
je 0x140018ffd
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140018e95
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x80]
mov ecx, 0xb0
call fcn.140035ee0
mov rdi, rax
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rax + 0x20], r15
lea rax, [fcn.14003cda0]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rbx, [rdi + 0x38]
mov qword [rsp + 0x20], rbx
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400230c0
movaps xmm0, xmmword [rbp - 0x20]
movups xmmword [rbx + 0x60], xmm0
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0x70], rax
mov r8, rdi
mov rdx, r14
mov rcx, rsi
call fcn.1400411c0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
test al, al
je 0x140018fcb
mov rax, qword [r14]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [r14]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x140019018
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rdi
mov rcx, qword [rsi + 0x28]
call fcn.14003cda0
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x78]
call fcn.140029e10
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp qword [rax + 8], 0
je 0x140018ea7
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001d360
nop
jmp 0x140018fcb
call fcn.14028ff34
int3
Function at 0x14001ceb0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0xf8]
sub rsp, 0x1e0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0xd8], rax
mov rdi, rdx
mov rbx, rcx
add rdx, 0x10
lea rcx, [rbp - 0x80]
call fcn.1400232f0
nop
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.140024ba0
movups xmm0, xmmword [rbx + 0xc8]
movaps xmmword [rbp + 0xc0], xmm0
lea rsi, [rdi + 8]
mov rdi, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001cf42
cmp qword [rax], rbx
je 0x14001d0c0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001cf30
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x80]
mov ecx, 0x188
call fcn.140035ee0
mov rbx, rax
mov qword [rsp + 0x50], rax
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov qword [rax + 0x20], r14
lea rax, [fcn.14003d620]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
lea rdx, [rbp - 0x80]
call fcn.140024fb0
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400411c0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x14001d052
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x14001d0de
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
call fcn.14003d620
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 8]
call fcn.1400295a0
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x14001d090
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001d090
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14001d090
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp - 0x78]
call fcn.140029e10
mov rcx, qword [rbp + 0xd8]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14001cf42
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001daf0
nop
jmp 0x14001d052
call fcn.14028ff34
int3
Function at 0x14001d0f0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0xa8]
sub rsp, 0x190
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0x88], rax
mov rdi, rdx
mov rbx, rcx
add rdx, 0x10
lea rcx, [rbp - 0x80]
call fcn.140023200
nop
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [rbx + 0x10]
mov qword [rbp], rax
lea rdx, [rbx + 0x18]
lea rcx, [rbp + 8]
call fcn.1400252c0
movups xmm0, xmmword [rbx + 0x80]
movaps xmmword [rbp + 0x70], xmm0
lea rsi, [rdi + 8]
mov rdi, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001d192
nop dword [rax]
cmp qword [rax], rbx
je 0x14001d2ce
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001d180
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x80]
mov ecx, VarR8Pow
call fcn.140035ee0
mov rbx, rax
mov qword [rsp + 0x50], rax
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov qword [rax + 0x20], r14
lea rax, [fcn.14003d7b0]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
lea rdx, [rbp - 0x80]
call fcn.140025030
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400411c0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x14001d29e
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x14001d2e9
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
call fcn.14003d7b0
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x80]
call fcn.140029af0
mov rcx, qword [rbp + 0x88]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14001d192
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001db30
nop
jmp 0x14001d29e
call fcn.14028ff34
int3
Function at 0x14001d480
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0xd8]
sub rsp, 0x1c0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0xb8], rax
mov rdi, rdx
mov rbx, rcx
add rdx, 0x10
lea rcx, [rbp - 0x80]
call fcn.140023140
nop
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140024d10
movups xmm0, xmmword [rbx + 0xb0]
movaps xmmword [rbp + 0x90], xmm0
mov rax, qword [rbx + 0xc0]
mov qword [rbp + 0xa0], rax
lea rsi, [rdi + 8]
mov rdi, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001d522
nop
cmp qword [rax], rbx
je 0x14001d66b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001d510
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x80]
mov ecx, 0x160
call fcn.140035ee0
mov rbx, rax
mov qword [rsp + 0x50], rax
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov qword [rax + 0x20], r14
lea rax, [fcn.14003da40]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
lea rdx, [rbp - 0x80]
call fcn.1400250c0
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400411c0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x14001d632
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x14001d686
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
call fcn.14003da40
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x20]
call fcn.140029a10
lea rcx, [rbp - 0x78]
call fcn.140029e10
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14001d522
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001db90
nop
jmp 0x14001d632
call fcn.14028ff34
int3
Function at 0x14001d690
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0xd8]
sub rsp, 0x1c0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0xb8], rax
mov rdi, rdx
mov rbx, rcx
add rdx, 0x10
lea rcx, [rbp - 0x80]
call fcn.140023010
nop
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140025ce0
movups xmm0, xmmword [rbx + 0xb8]
movups xmmword [rbp + 0x98], xmm0
mov rax, qword [rbx + 0xc8]
mov qword [rbp + 0xa8], rax
lea rsi, [rdi + 8]
mov rdi, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001d732
nop
cmp qword [rax], rbx
je 0x14001d87b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001d720
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x80]
mov ecx, pe_nt_image_headers64
call fcn.140035ee0
mov rbx, rax
mov qword [rsp + 0x50], rax
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov qword [rax + 0x20], r14
lea rax, [fcn.14003dd10]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
lea rdx, [rbp - 0x80]
call fcn.140025130
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400411c0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x14001d842
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x14001d896
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
call fcn.14003dd10
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x20]
call fcn.14002a170
lea rcx, [rbp - 0x78]
call fcn.140029e10
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14001d732
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001dc00
nop
jmp 0x14001d842
call fcn.14028ff34
int3
Function at 0x14001d8a0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0xe8]
sub rsp, 0x1d0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0xc8], rax
mov rdi, rdx
mov rbx, rcx
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x80], rax
add rdx, 0x18
lea rcx, [rbp - 0x78]
call fcn.140023140
nop
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.140025d80
movups xmm0, xmmword [rbx + 0xc0]
movups xmmword [rbp + 0xa8], xmm0
mov rax, qword [rbx + 0xd0]
mov qword [rbp + 0xb8], rax
lea rsi, [rdi + 8]
mov rdi, qword [rdi]
mov rbx, qword [rsi]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001d944
cmp qword [rax], rbx
je 0x14001d963
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001d936
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
mov rbx, qword [rbp - 0x80]
cmp byte [rbx + 0x400], 0
jne 0x14001d97d
mov byte [rbx + 0x400], 1
jmp 0x14001d98a
cmp qword [rax + 8], 0
je 0x14001d944
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14001dc40
nop
jmp 0x14001da7c
mov ecx, 0x178
call fcn.140171ab4
mov rbx, rax
mov qword [rsp + 0x50], rbx
xor r14d, r14d
mov qword [rsp + 0x58], r14
mov qword [rbx + 0x20], r14
lea rax, [fcn.14003de70]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
lea rdx, [rbp - 0x80]
call fcn.1400251a0
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400411c0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
test al, al
je 0x14001da7c
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x14001dab5
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
call fcn.14003de70
nop
lea rcx, [rsp + 0x20]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea rcx, [rbp - 0x18]
call fcn.14002a1e0
lea rcx, [rbp - 0x70]
call fcn.140029e10
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.140172190
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.14028ff34
nop
int3

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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
add rcx, 0x78
lea r8, [rcx + 0x98]
lea rdx, [rcx + 0x88]
add rsp, 0x28
jmp fcn.1400189a0
Function at 0x14001dc80
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x80
mov qword [rsp + 0x20], 0xfffffffffffffffe
lea rdi, [rcx + 0x50]
lea rsi, [rcx + 0x48]
mov rbp, qword [rcx + 0x40]
mov rbx, qword [rsi]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14001dcd7
cmp qword [rax], rbx
je 0x14001ddeb
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001dcc5
mov qword [rsp + 0x60], rdi
mov rdx, rdi
mov ecx, 0x78
call fcn.140035ee0
mov rbx, rax
mov qword [rsp + 0x68], rax
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov qword [rax + 0x20], r14
lea rax, [fcn.14003d480]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
mov rdx, rdi
call fcn.140024980
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.1400411c0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x68], r14
test al, al
je 0x14001dddd
mov rax, qword [rsi]
mov qword [rsp + 0x48], rax
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x48]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
lea r8, [0x1403d4c88]
lea rdx, [0x14001aea0]
lea rcx, [0x1403d4c80]
call fcn.1400ddbc4
test eax, eax
je 0x14001de10
xor r9d, r9d
lea r8, [rsp + 0x38]
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call fcn.14003d480
nop
lea rcx, [rsp + 0x28]
call fcn.14002a7c0
nop
mov rdx, qword [rsp + 0x58]
mov ecx, dword [0x1403d4d0c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
add rsp, 0x80
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp qword [rax + 8], 0
je 0x14001dcd7
mov rdx, rdi
mov rcx, rdi
call fcn.14001dac0
nop
add rsp, 0x80
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.14028ff34
nop
int3