joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14006ca30
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x50
mov rdi, rsp
mov ecx, setsockopt
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov rcx, qword [rsp + 0x28]
cmp rcx, rax
je 0x14006cb09
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov ecx, 2
call qword [sym.imp.ucrtbased.dll___acrt_iob_func]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov rcx, qword [rsp + 0x38]
mov r9, rcx
mov r8, qword [rsp + 0x20]
mov edx, 1
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_fwrite]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbase_void_const___ptr64]
mov rcx, qword [rsp + 0x40]
mov r8, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140D.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setp_char____ptr64__char____ptr64____ptr64]
xor eax, eax
add rsp, 0x50
pop rdi
ret
Function at 0x14007b630
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x68
mov ecx, 1
call fcn.14002c2fb
movzx eax, al
test eax, eax
jne 0x14007b650
mov ecx, 7
call fcn.14002bb94
nop
mov byte [rsp + 0x20], 0
call fcn.14002bc48
mov byte [rsp + 0x21], al
cmp dword [0x1400a6d10], 1
jne 0x14007b674
mov ecx, 7
call fcn.14002bb94
nop
jmp 0x14007b6cc
cmp dword [0x1400a6d10], 0
jne 0x14007b6c7
mov dword [0x1400a6d10], 1
lea rdx, [0x140088960]
lea rcx, [0x140088630]
call fcn.14002b054
test eax, eax
je 0x14007b6a8
mov eax, 0xff
jmp 0x14007b7d1
lea rdx, [0x140088520]
lea rcx, [section..rdata]
call fcn.14002bc16
mov dword [0x1400a6d10], 2
jmp 0x14007b6cc
mov byte [rsp + 0x20], 1
movzx ecx, byte [rsp + 0x21]
call fcn.14002bb1c
call fcn.14002b7a2
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x14007b729
mov rcx, qword [rsp + 0x30]
call fcn.14002ad2f
movzx eax, al
test eax, eax
je 0x14007b729
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov edx, 2
xor ecx, ecx
mov rax, qword [rsp + 0x50]
call qword [0x1400b6020]
nop
call fcn.14002b928
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x14007b75d
mov rcx, qword [rsp + 0x38]
call fcn.14002ad2f
movzx eax, al
test eax, eax
je 0x14007b75d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.14002c08f
nop
call fcn.14007b840
mov dword [rsp + 0x28], eax
call fcn.14002b6f8
movzx eax, al
test eax, eax
jne 0x14007b77c
mov ecx, dword [rsp + 0x28]
call fcn.14002a299
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x14007b78b
call fcn.14002c107
nop
xor edx, edx
mov cl, 1
call fcn.14002ac8a
mov eax, dword [rsp + 0x28]
jmp 0x14007b7d1
add rsp, 0x68
ret
Function at 0x140023c20
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov rsi, rdx
mov rdi, rcx
lea rdx, [0x14004ef20]
xor ecx, ecx
call sub.KERNEL32.dll_AddVectoredExceptionHandler
mov dword [rbp - 0x28], 0x5000
lea rcx, [rbp - 0x28]
call sub.KERNEL32.dll_SetThreadStackGuarantee
call sub.KERNEL32.dll_GetCurrentThread
mov r8, qword [0x14009c018]
lea rdx, [0x1400a41a8]
mov rcx, rax
call r8
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x140023c8c
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x140023ca9
jmp 0x140023ca4
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x140023ca9
call fcn.1400240e0
mov rbx, rax
mov ecx, 8
mov edx, 0x28
call fcn.14007aac0
mov r15, rax
mov r14, rdx
test rdx, rdx
je 0x140023d6c
mov rax, qword [str.10_r_]
movzx eax, byte [rax]
mov rcx, r14
mov rdx, r15
call fcn.140001740
mov rcx, rax
test rcx, rcx
je 0x140023d78
mov qword [rcx], 1
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x28], rbx
mov byte [rcx + 0x30], 0
call fcn.140024150
test rax, rax
jne 0x140023d85
mov rcx, rdi
call qword [rsi + 0x28]
movsxd rsi, eax
mov eax, dword [0x1400d3038]
cmp eax, 3
je 0x140023d59
mov byte [rbp + 8], 1
lea rax, [rbp + 8]
mov qword [rbp - 0x58], rax
lea rax, str.std_src_rt.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1400d3038]
lea r9, [0x1400a2158]
lea r8, [rbp - 0x58]
xor edx, edx
call fcn.140051840
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rcx, r15
test rcx, rcx
jne 0x140023ceb
mov rcx, r15
mov rdx, r14
call fcn.140075aef
ud2
mov rdi, rax
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x10], 0
mov byte [rbp + 0x14], 0
lea rax, str.fatal_runtime_error:_code_running_before_main_must_not_use_thread::current_n
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 1
lea rax, [rbp + 0x30]
mov qword [rbp - 0x18], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rbp + 0x10]
lea rdx, [rbp - 0x28]
call fcn.140031a10
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
call fcn.140005800
mov ecx, 7
int 0x29
ud2

Function at 0x1400240e0
Capabilities:
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov rax, qword [0x1400d3128]
nop word cs:[rax + rax]
cmp rax, 0xffffffffffffffff
je 0x140024143
lea rsi, [rax + 1]
lock cmpxchg qword [0x1400d3128], rsi
jne 0x140024100
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x140024133
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, rsi
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
jmp 0x140024121
call fcn.140024a00
int3
Function at 0x140024150
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], rcx
mov ecx, dword [0x1400d31a0]
test ecx, ecx
je 0x14002417e
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140024196
mov rax, qword [rbp]
jmp 0x140024224
lea rcx, [0x1400d3188]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x140024175
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x1400241bb
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x1400241d3
mov rcx, rax
mov rax, qword [rbp]
cmp qword [rax + 0x28], rcx
je 0x140024203
jmp 0x140024224
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x1400241ac
mov rax, qword [rbp]
mov rsi, qword [rax + 0x28]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x1400241e9
dec ecx
jmp 0x1400241f7
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [rbp]
mov rcx, qword [0x1400d6040]
add rax, 0x10
mov ecx, dword [0x1400d31a0]
test ecx, ecx
je 0x14002422b
dec ecx
mov rdx, rax
call sub.KERNEL32.dll_TlsSetValue
xor eax, eax
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x1400d3188]
mov rsi, rax
call fcn.140052190
mov ecx, eax
mov rax, rsi
jmp 0x14002421a
Function at 0x1400242c0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
test rcx, rcx
jne 0x140024407
mov ecx, dword [0x1400d31a0]
test ecx, ecx
je 0x1400243c8
dec ecx
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x1400243db
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
je 0x1400243fa
mov ecx, 8
mov edx, 0x28
call fcn.14007aac0
mov r14, rax
mov rbx, rdx
test rdx, rdx
je 0x14002438c
mov rax, qword [str.10_r_]
movzx eax, byte [rax]
mov rcx, rbx
mov rdx, r14
call fcn.140001740
mov rsi, rax
test rsi, rsi
je 0x140024394
mov qword [rsi], 1
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], 2
mov qword [rsi + 0x28], rdi
mov byte [rsi + 0x30], 0
mov qword [rbp - 0x40], rsi
mov rax, qword [0x1400d6040]
lock inc qword [rsi]
jle 0x14002443f
mov ecx, dword [0x1400d31a0]
test ecx, ecx
je 0x14002439f
dec ecx
jmp 0x1400243ad
mov rsi, r14
test rsi, rsi
jne 0x14002434a
mov rcx, r14
mov rdx, rbx
call fcn.140075aef
lea rcx, [0x1400d3188]
call fcn.140052190
mov ecx, eax
add rsi, 0x10
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [rbp - 0x40]
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [0x1400d3188]
call fcn.140052190
mov ecx, eax
jmp 0x1400242e8
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
jne 0x140024313
call fcn.1400240e0
mov rdi, rax
jmp 0x140024313
cmp rcx, 1
je 0x140024441
lea rax, [0x1400a0680]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
mov qword [rbp - 0x30], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rdx, str.std_src_threadcurrent.rs
lea rcx, [rbp - 0x40]
call fcn.1400837e0
ud2
mov dword [rbp - 0x10], 0
mov byte [rbp - 0xc], 0
lea rax, str.fatal_runtime_error:__n_n____________Attempted_to_access_thread_local_data_while_allocating_said_data._n_n____________Do_not_access_functions_that_allocate_in_the_global_allocator__n_n____________This_is_a_bug_in_the_global_allocator._n_n_________n
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 1
lea rax, [rbp - 8]
mov qword [rbp - 0x30], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea rcx, [rbp - 0x10]
lea rdx, [rbp - 0x40]
call fcn.140031a10
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x48]
call fcn.140005800
mov ecx, 7
int 0x29
ud2
Function at 0x140026210
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3d8], rcx
mov qword [rbp + 0x3e0], 0
mov qword [rbp + 0x3e8], 2
mov qword [rbp + 0x3f0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3d0], rax
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp r8, 0x201
jae 0x1400262a0
jmp 0x14002628f
jae 0x14002636a
cmp r8, 0x201
jae 0x1400262a0
mov r14d, 0x200
lea r15, [rbp - 0x50]
mov r12, r8
jmp 0x140026306
sub r8, rbx
sub rdi, rbx
cmp rdi, r8
jae 0x1400262de
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rbp + 0x3e0]
mov rdx, rbx
call fcn.1400145b0
mov rsi, qword [rbp + 0x3e0]
mov rax, qword [rbp + 0x3e8]
mov qword [rbp + 0x3d0], rax
mov eax, 0xffffffff
cmp rsi, rax
mov ebx, 0xffffffff
cmovb rbx, rsi
mov qword [rbp + 0x3f0], rbx
mov rdi, rsi
mov r14, rbx
mov r15, qword [rbp + 0x3d0]
mov r12, rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, r12d
mov rdx, r15
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov r13d, eax
test eax, eax
jne 0x14002632c
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x1400263d6
mov r8d, r13d
cmp r12, r8
jne 0x140026280
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x140026409
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x14002628f
jmp 0x1400262a0
cmp r14, r8
jb 0x140026423
lea rcx, [rbp + 0x3b0]
mov rdx, r15
call fcn.140033cc0
movups xmm0, xmmword [rbp + 0x3b0]
movups xmm1, xmmword [rbp + 0x3c0]
mov rsi, qword [rbp + 0x3d8]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x3e0]
test rdx, rdx
je 0x1400263bf
mov rcx, qword [rbp + 0x3e8]
add rdx, rdx
mov r8d, 2
call fcn.140001750
mov rax, rsi
add rsp, 0x478
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3d8]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x3e0]
test rdx, rdx
jne 0x1400263aa
jmp 0x1400263bf
lea rcx, [0x14009fb90]
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140083860
jmp 0x140026438
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14008a020
ud2
Function at 0x14002df00
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rdi, r8
mov rbx, rdx
mov rax, qword [rcx]
mov rsi, qword [rax]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x14002df4f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14002df6a
mov rax, qword [rsi]
cmp r14, rax
jne 0x14002df7a
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x14002e003
inc eax
mov dword [rsi + 8], eax
jmp 0x14002df8f
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x14002df34
call fcn.1400240e0
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x14002df3c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14002dfea
mov qword [rsi], r14
mov dword [rsi + 8], 1
cmp qword [rsi + 0x10], 0
jne 0x14002dff5
mov qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsi + 0x18]
mov rdx, rbx
mov r8, rdi
call fcn.14002afd0
inc qword [rsi + 0x10]
dec dword [rsi + 8]
jne 0x14002dfdf
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14002dfdf
add rsi, 0xc
mov rcx, rsi
mov rsi, rax
mov rdi, rdx
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rdx, rdi
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rsi + 0xc]
call fcn.140051630
jmp 0x14002df85
lea rcx, [0x1400a1568]
call fcn.140080590
ud2
lea rcx, [0x1400a22d0]
lea r8, [0x1400a2318]
mov edx, 0x26
call fcn.140083670
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
mov rdi, rax
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
int3
Function at 0x14002e050
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rbx, r8
mov rdi, rdx
mov rax, qword [rcx]
mov rsi, qword [rax]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x14002e0a3
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14002e0be
mov rax, qword [rsi]
cmp r14, rax
jne 0x14002e0ce
mov r9d, dword [rsi + 8]
cmp r9d, 0xffffffff
je 0x14002e1a7
inc r9d
mov dword [rsi + 8], r9d
jmp 0x14002e0ed
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x14002e084
call fcn.1400240e0
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x14002e08c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14002e18b
mov qword [rsi], r14
mov dword [rsi + 8], 1
mov r9d, 1
cmp qword [rsi + 0x10], 0
jne 0x14002e199
mov qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsi + 0x18]
shl rbx, 4
xor r10d, r10d
xor eax, eax
nop dword [rax]
cmp rbx, rax
je 0x14002e146
mov r8d, dword [rdi + rax]
add rax, 0x10
test r8, r8
je 0x14002e110
mov rdx, qword [rdi + rax - 8]
call fcn.14002afd0
mov r10, qword [rsi + 0x10]
inc r10
mov r9d, dword [rsi + 8]
mov qword [rsi + 0x10], r10
dec r9d
mov dword [rsi + 8], r9d
jne 0x14002e180
jmp 0x14002e157
xor edx, edx
xor eax, eax
mov qword [rsi + 0x10], r10
dec r9d
mov dword [rsi + 8], r9d
jne 0x14002e180
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14002e180
add rsi, 0xc
mov rcx, rsi
mov rsi, rdx
mov rdi, rax
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, rdi
mov rdx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rsi + 0xc]
call fcn.140051630
jmp 0x14002e0dd
lea rcx, [0x1400a1580]
call fcn.140080590
ud2
lea rcx, [0x1400a22d0]
lea r8, [0x1400a2318]
mov edx, 0x26
call fcn.140083670
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
mov rdi, rax
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
int3
Function at 0x14002e1f0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rax, qword [rcx]
mov rsi, qword [rax]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x14002e236
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
je 0x14002e251
mov rax, qword [rsi]
cmp rdi, rax
jne 0x14002e261
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x14002e2db
inc eax
mov dword [rsi + 8], eax
jmp 0x14002e276
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
jne 0x14002e21b
call fcn.1400240e0
mov rdi, rax
mov rax, qword [rsi]
cmp rdi, rax
je 0x14002e223
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14002e2c2
mov qword [rsi], rdi
mov dword [rsi + 8], 1
cmp qword [rsi + 0x10], 0
jne 0x14002e2cd
mov qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsi + 0x18]
call fcn.14002aa40
inc qword [rsi + 0x10]
dec dword [rsi + 8]
jne 0x14002e2ba
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14002e2ba
add rsi, 0xc
mov rcx, rsi
mov rsi, rax
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, rsi
add rsp, 0x20
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rsi + 0xc]
call fcn.140051630
jmp 0x14002e26c
lea rcx, [0x1400a1598]
call fcn.140080590
ud2
lea rcx, [0x1400a22d0]
lea r8, [0x1400a2318]
mov edx, 0x26
call fcn.140083670
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
mov rdi, rax
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
int3

Function at 0x14002e320
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rdi, r8
mov rbx, rdx
mov rax, qword [rcx]
mov rsi, qword [rax]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x14002e36f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14002e38a
mov rax, qword [rsi]
cmp r14, rax
jne 0x14002e39a
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x14002e400
inc eax
mov dword [rsi + 8], eax
jmp 0x14002e3af
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x14002e354
call fcn.1400240e0
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x14002e35c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14002e3f5
mov qword [rsi], r14
mov dword [rsi + 8], 1
mov qword [rbp - 8], rsi
lea rcx, [rbp - 8]
mov rdx, rbx
mov r8, rdi
call fcn.14002e880
dec dword [rsi + 8]
jne 0x14002e3ea
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14002e3ea
add rsi, 0xc
mov rcx, rsi
mov rsi, rax
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rsi + 0xc]
call fcn.140051630
jmp 0x14002e3a5
lea rcx, [0x1400a22d0]
lea r8, [0x1400a2318]
mov edx, 0x26
call fcn.140083670
mov rdi, rax
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
int3
Function at 0x14002e430
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov rdi, r8
mov rbx, rdx
mov rax, qword [rcx]
mov rsi, qword [rax]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x14002e47f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14002e49a
mov rax, qword [rsi]
cmp r14, rax
jne 0x14002e4aa
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x14002e510
inc eax
mov dword [rsi + 8], eax
jmp 0x14002e4bf
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x14002e464
call fcn.1400240e0
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x14002e46c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14002e505
mov qword [rsi], r14
mov dword [rsi + 8], 1
mov qword [rbp - 8], rsi
lea rcx, [rbp - 8]
mov rdx, rbx
mov r8, rdi
call fcn.14002ea40
dec dword [rsi + 8]
jne 0x14002e4fa
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14002e4fa
add rsi, 0xc
mov rcx, rsi
mov rsi, rax
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rsi + 0xc]
call fcn.140051630
jmp 0x14002e4b5
lea rcx, [0x1400a22d0]
lea r8, [0x1400a2318]
mov edx, 0x26
call fcn.140083670
mov rdi, rax
mov rcx, rsi
call fcn.1400040e0
mov rcx, rdi
call fcn.14009a440
int3
Function at 0x14002e540
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov rsi, rdx
mov rax, qword [rcx]
mov rbx, qword [rax]
mov ecx, dword [0x1400d3180]
test ecx, ecx
je 0x14002e58c
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
je 0x14002e5a7
mov rax, qword [rbx]
cmp rdi, rax
jne 0x14002e5b7
mov eax, dword [rbx + 8]
cmp eax, 0xffffffff
je 0x14002e6a8
inc eax
mov dword [rbx + 8], eax
jmp 0x14002e5d0
lea rcx, [0x1400d3168]
call fcn.140052190
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
jne 0x14002e571
call fcn.1400240e0
mov rdi, rax
mov rax, qword [rbx]
cmp rdi, rax
je 0x14002e579
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 0xc], cl
jne 0x14002e69a
mov qword [rbx], rdi
mov dword [rbx + 8], 1
mov qword [rbp - 8], rbx
lea rax, [rbp - 8]
mov qword [rbp - 0x18], rax
lea rdi, [rbp - 0x10]
mov qword [rbp - 0x10], 0
lea rdx, [0x1400a02e8]
lea rcx, [rbp - 0x18]
mov r8, rsi
call fcn.140087310
mov ecx, eax
mov rax, qword [rbp - 0x10]
test cl, cl
je 0x14002e619
test rax, rax
je 0x14002e6c0
mov rcx, qword [rbp - 8]
dec dword [rcx + 8]
jne 0x14002e68f
jmp 0x14002e66f
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x14002e664
lea rsi, [rax - 1]
mov rdi, qword [rax - 1]
mov r14, qword [rax + 7]
mov rax, qword [r14]
test rax, rax
je 0x14002e63c
mov rcx, rdi
call rax
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x14002e651
mov r8, qword [r14 + 0x10]
mov rcx, rdi
call fcn.140001750
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.140001750
xor eax, eax
mov rcx, qword [rbp - 8]
dec dword [rcx + 8]
jne 0x14002e68f
mov qword [rcx], 0
xor edx, edx
xchg byte [rcx + 0xc], dl
cmp dl, 2
jne 0x14002e68f
add rcx, 0xc
mov rsi, rax
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rbx + 0xc]
call fcn.140051630
jmp 0x14002e5c6
lea rcx, [0x1400a22d0]
lea r8, [0x1400a2318]
mov edx, 0x26
call fcn.140083670
lea rax, str.a_formatting_trait_implementation_returned_an_error_when_the_underlying_stream_did_not
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 1
mov qword [rbp - 0x38], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
lea rdx, [0x1400a1940]
lea rcx, [rbp - 0x48]
call fcn.1400837e0
ud2