joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140026090
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, [0x140051390]
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 [0x14009e008]
lea rdx, [0x1400a64b8]
mov rcx, rax
call r8
mov ecx, dword [0x1400d5180]
test ecx, ecx
je 0x1400260fc
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x140026119
jmp 0x140026114
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x140026119
call fcn.140026550
mov rbx, rax
mov ecx, 8
mov edx, 0x28
call fcn.14007cf30
mov r15, rax
mov r14, rdx
test rdx, rdx
je 0x1400261dc
mov rax, qword [str.1P_r_]
movzx eax, byte [rax]
mov rcx, r14
mov rdx, r15
call fcn.140003bb0
mov rcx, rax
test rcx, rcx
je 0x1400261e8
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.1400265c0
test rax, rax
jne 0x1400261f5
mov rcx, rdi
call qword [rsi + 0x28]
movsxd rsi, eax
mov eax, dword [0x1400d5038]
cmp eax, 3
je 0x1400261c9
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, [0x1400d5038]
lea r9, [0x1400a4468]
lea r8, [rbp - 0x58]
xor edx, edx
call fcn.140053cb0
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 0x14002615b
mov rcx, r15
mov rdx, r14
call fcn.140077f5f
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.140033e80
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
call fcn.140007c70
mov ecx, 7
int 0x29
ud2

Function at 0x140026550
Capabilities:
Set thread local storage value

Disassembly:
push rbp
push rsi
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov rax, qword [0x1400d5128]
nop word cs:[rax + rax]
cmp rax, 0xffffffffffffffff
je 0x1400265b3
lea rsi, [rax + 1]
lock cmpxchg qword [0x1400d5128], rsi
jne 0x140026570
mov ecx, dword [0x1400d5180]
test ecx, ecx
je 0x1400265a3
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, rsi
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
jmp 0x140026591
call fcn.140026e70
int3
Function at 0x1400265c0
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 [0x1400d51a0]
test ecx, ecx
je 0x1400265ee
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140026606
mov rax, qword [rbp]
jmp 0x140026694
lea rcx, [0x1400d5188]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x1400265e5
mov ecx, dword [0x1400d5180]
test ecx, ecx
je 0x14002662b
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x140026643
mov rcx, rax
mov rax, qword [rbp]
cmp qword [rax + 0x28], rcx
je 0x140026673
jmp 0x140026694
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x14002661c
mov rax, qword [rbp]
mov rsi, qword [rax + 0x28]
mov ecx, dword [0x1400d5180]
test ecx, ecx
je 0x140026659
dec ecx
jmp 0x140026667
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
mov rax, qword [rbp]
mov rcx, qword [0x1400d8038]
add rax, 0x10
mov ecx, dword [0x1400d51a0]
test ecx, ecx
je 0x14002669b
dec ecx
mov rdx, rax
call sub.KERNEL32.dll_TlsSetValue
xor eax, eax
add rsp, 0x28
pop rsi
pop rbp
ret
lea rcx, [0x1400d5188]
mov rsi, rax
call fcn.140054600
mov ecx, eax
mov rax, rsi
jmp 0x14002668a
Function at 0x140026730
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 0x140026877
mov ecx, dword [0x1400d51a0]
test ecx, ecx
je 0x140026838
dec ecx
mov edx, 1
call sub.KERNEL32.dll_TlsSetValue
mov ecx, dword [0x1400d5180]
test ecx, ecx
je 0x14002684b
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
je 0x14002686a
mov ecx, 8
mov edx, 0x28
call fcn.14007cf30
mov r14, rax
mov rbx, rdx
test rdx, rdx
je 0x1400267fc
mov rax, qword [str.1P_r_]
movzx eax, byte [rax]
mov rcx, rbx
mov rdx, r14
call fcn.140003bb0
mov rsi, rax
test rsi, rsi
je 0x140026804
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 [0x1400d8038]
lock inc qword [rsi]
jle 0x1400268af
mov ecx, dword [0x1400d51a0]
test ecx, ecx
je 0x14002680f
dec ecx
jmp 0x14002681d
mov rsi, r14
test rsi, rsi
jne 0x1400267ba
mov rcx, r14
mov rdx, rbx
call fcn.140077f5f
lea rcx, [0x1400d5188]
call fcn.140054600
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, [0x1400d5188]
call fcn.140054600
mov ecx, eax
jmp 0x140026758
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
jne 0x140026783
call fcn.140026550
mov rdi, rax
jmp 0x140026783
cmp rcx, 1
je 0x1400268b1
lea rax, [0x1400a2990]
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.140085c50
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.140033e80
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x48]
call fcn.140007c70
mov ecx, 7
int 0x29
ud2
Function at 0x140028680
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 0x140028710
jmp 0x1400286ff
jae 0x1400287da
cmp r8, 0x201
jae 0x140028710
mov r14d, 0x200
lea r15, [rbp - 0x50]
mov r12, r8
jmp 0x140028776
sub r8, rbx
sub rdi, rbx
cmp rdi, r8
jae 0x14002874e
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rbp + 0x3e0]
mov rdx, rbx
call fcn.140016a20
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 0x14002879c
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x140028846
mov r8d, r13d
cmp r12, r8
jne 0x1400286f0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x140028879
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x1400286ff
jmp 0x140028710
cmp r14, r8
jb 0x140028893
lea rcx, [rbp + 0x3b0]
mov rdx, r15
call fcn.140036130
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 0x14002882f
mov rcx, qword [rbp + 0x3e8]
add rdx, rdx
mov r8d, 2
call fcn.140003bc0
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 0x14002881a
jmp 0x14002882f
lea rcx, [0x1400a1ea0]
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140085cd0
jmp 0x1400288a8
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14008c490
ud2
Function at 0x140030370
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 [0x1400d5180]
test ecx, ecx
je 0x1400303bf
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x1400303da
mov rax, qword [rsi]
cmp r14, rax
jne 0x1400303ea
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x140030473
inc eax
mov dword [rsi + 8], eax
jmp 0x1400303ff
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x1400303a4
call fcn.140026550
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x1400303ac
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14003045a
mov qword [rsi], r14
mov dword [rsi + 8], 1
cmp qword [rsi + 0x10], 0
jne 0x140030465
mov qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsi + 0x18]
mov rdx, rbx
mov r8, rdi
call fcn.14002d440
inc qword [rsi + 0x10]
dec dword [rsi + 8]
jne 0x14003044f
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14003044f
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.140053aa0
jmp 0x1400303f5
lea rcx, [0x1400a3878]
call fcn.140082a00
ud2
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
mov rdi, rax
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
int3
Function at 0x1400304c0
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 [0x1400d5180]
test ecx, ecx
je 0x140030513
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14003052e
mov rax, qword [rsi]
cmp r14, rax
jne 0x14003053e
mov r9d, dword [rsi + 8]
cmp r9d, 0xffffffff
je 0x140030617
inc r9d
mov dword [rsi + 8], r9d
jmp 0x14003055d
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x1400304f4
call fcn.140026550
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x1400304fc
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x1400305fb
mov qword [rsi], r14
mov dword [rsi + 8], 1
mov r9d, 1
cmp qword [rsi + 0x10], 0
jne 0x140030609
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 0x1400305b6
mov r8d, dword [rdi + rax]
add rax, 0x10
test r8, r8
je 0x140030580
mov rdx, qword [rdi + rax - 8]
call fcn.14002d440
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 0x1400305f0
jmp 0x1400305c7
xor edx, edx
xor eax, eax
mov qword [rsi + 0x10], r10
dec r9d
mov dword [rsi + 8], r9d
jne 0x1400305f0
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x1400305f0
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.140053aa0
jmp 0x14003054d
lea rcx, [0x1400a3890]
call fcn.140082a00
ud2
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
mov rdi, rax
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
int3
Function at 0x140030660
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 [0x1400d5180]
test ecx, ecx
je 0x1400306a6
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
je 0x1400306c1
mov rax, qword [rsi]
cmp rdi, rax
jne 0x1400306d1
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x14003074b
inc eax
mov dword [rsi + 8], eax
jmp 0x1400306e6
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
jne 0x14003068b
call fcn.140026550
mov rdi, rax
mov rax, qword [rsi]
cmp rdi, rax
je 0x140030693
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x140030732
mov qword [rsi], rdi
mov dword [rsi + 8], 1
cmp qword [rsi + 0x10], 0
jne 0x14003073d
mov qword [rsi + 0x10], 0xffffffffffffffff
lea rcx, [rsi + 0x18]
call fcn.14002ceb0
inc qword [rsi + 0x10]
dec dword [rsi + 8]
jne 0x14003072a
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14003072a
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.140053aa0
jmp 0x1400306dc
lea rcx, [0x1400a38a8]
call fcn.140082a00
ud2
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
mov rdi, rax
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
int3

Function at 0x140030790
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 [0x1400d5180]
test ecx, ecx
je 0x1400307df
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x1400307fa
mov rax, qword [rsi]
cmp r14, rax
jne 0x14003080a
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x140030870
inc eax
mov dword [rsi + 8], eax
jmp 0x14003081f
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x1400307c4
call fcn.140026550
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x1400307cc
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x140030865
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.140030cf0
dec dword [rsi + 8]
jne 0x14003085a
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14003085a
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.140053aa0
jmp 0x140030815
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rdi, rax
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
int3
Function at 0x1400308a0
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 [0x1400d5180]
test ecx, ecx
je 0x1400308ef
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14003090a
mov rax, qword [rsi]
cmp r14, rax
jne 0x14003091a
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x140030980
inc eax
mov dword [rsi + 8], eax
jmp 0x14003092f
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x1400308d4
call fcn.140026550
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x1400308dc
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x140030975
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.140030eb0
dec dword [rsi + 8]
jne 0x14003096a
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x14003096a
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.140053aa0
jmp 0x140030925
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rdi, rax
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
int3
Function at 0x1400309b0
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 [0x1400d5180]
test ecx, ecx
je 0x1400309fc
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
je 0x140030a17
mov rax, qword [rbx]
cmp rdi, rax
jne 0x140030a27
mov eax, dword [rbx + 8]
cmp eax, 0xffffffff
je 0x140030b18
inc eax
mov dword [rbx + 8], eax
jmp 0x140030a40
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
test rax, rax
jne 0x1400309e1
call fcn.140026550
mov rdi, rax
mov rax, qword [rbx]
cmp rdi, rax
je 0x1400309e9
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 0xc], cl
jne 0x140030b0a
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, [0x1400a25f8]
lea rcx, [rbp - 0x18]
mov r8, rsi
call fcn.140089780
mov ecx, eax
mov rax, qword [rbp - 0x10]
test cl, cl
je 0x140030a89
test rax, rax
je 0x140030b30
mov rcx, qword [rbp - 8]
dec dword [rcx + 8]
jne 0x140030aff
jmp 0x140030adf
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x140030ad4
lea rsi, [rax - 1]
mov rdi, qword [rax - 1]
mov r14, qword [rax + 7]
mov rax, qword [r14]
test rax, rax
je 0x140030aac
mov rcx, rdi
call rax
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x140030ac1
mov r8, qword [r14 + 0x10]
mov rcx, rdi
call fcn.140003bc0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.140003bc0
xor eax, eax
mov rcx, qword [rbp - 8]
dec dword [rcx + 8]
jne 0x140030aff
mov qword [rcx], 0
xor edx, edx
xchg byte [rcx + 0xc], dl
cmp dl, 2
jne 0x140030aff
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.140053aa0
jmp 0x140030a36
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
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, [0x1400a3c50]
lea rcx, [rbp - 0x48]
call fcn.140085c50
ud2
Function at 0x140031360
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 rsi, r8
mov rbx, rdx
mov rax, qword [rcx]
mov rdi, qword [rax]
mov ecx, dword [0x1400d5180]
test ecx, ecx
je 0x1400313af
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x1400313ca
mov rax, qword [rdi]
cmp r14, rax
jne 0x1400313da
mov eax, dword [rdi + 8]
cmp eax, 0xffffffff
je 0x1400314ae
inc eax
mov dword [rdi + 8], eax
jmp 0x1400313f3
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x140031394
call fcn.140026550
mov r14, rax
mov rax, qword [rdi]
cmp r14, rax
je 0x14003139c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xc], cl
jne 0x140031492
mov qword [rdi], r14
mov dword [rdi + 8], 1
cmp qword [rdi + 0x10], 0
jne 0x1400314a0
mov qword [rdi + 0x10], 0xffffffffffffffff
lea r9, [rdi + 0x18]
mov ecx, 0xfffffff4
mov rdx, rbx
mov r8, rsi
call fcn.14004f730
inc qword [rdi + 0x10]
dec dword [rdi + 8]
jne 0x14003144c
mov qword [rdi], 0
xor ecx, ecx
xchg byte [rdi + 0xc], cl
cmp cl, 2
jne 0x14003144c
add rdi, 0xc
mov rcx, rdi
mov rdi, rdx
mov rbx, rax
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, rbx
mov rdx, rdi
movabs r8, 0xffffffff00000003
and r8, rdx
xor r9d, r9d
movabs r10, 0x600000002
cmp r8, r10
mov rcx, rax
cmove rcx, r9
test al, 1
cmove rcx, r9
cmove rsi, rdx
cmp r8, r10
cmovne rsi, rdx
mov rax, rcx
mov rdx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rdi + 0xc]
call fcn.140053aa0
jmp 0x1400313e9
lea rcx, [0x1400a3900]
call fcn.140082a00
ud2
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rsi, rax
inc qword [rdi + 0x10]
mov rcx, rdi
call fcn.140006550
mov rcx, rsi
call fcn.14009c890
mov rsi, rax
mov rcx, rdi
call fcn.140006550
mov rcx, rsi
call fcn.14009c890
int3
Function at 0x140031500
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 [0x1400d5180]
test ecx, ecx
je 0x14003154f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
je 0x14003156a
mov rax, qword [rsi]
cmp r14, rax
jne 0x14003157a
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x1400316eb
inc eax
mov dword [rsi + 8], eax
jmp 0x140031593
lea rcx, [0x1400d5168]
call fcn.140054600
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
mov r14, rax
test rax, rax
jne 0x140031534
call fcn.140026550
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x14003153c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x1400316cf
mov qword [rsi], r14
mov dword [rsi + 8], 1
cmp qword [rsi + 0x10], 0
jne 0x1400316dd
mov qword [rsi + 0x10], 0xffffffffffffffff
lea r9, [rsi + 0x18]
mov rax, rbx
shl rax, 4
xor ecx, ecx
nop word cs:[rax + rax]
cmp rax, rcx
je 0x1400315d9
mov r8d, dword [rdi + rcx]
add rcx, 0x10
test r8, r8
je 0x1400315c0
mov rdx, qword [rdi + rcx - 8]
jmp 0x1400315e1
mov edx, 1
xor r8d, r8d
mov ecx, 0xfffffff4
call fcn.14004f730
test al, 1
je 0x140031690
movabs rcx, 0xffffffff00000003
mov r8, rdx
and r8, rcx
movabs rcx, 0x600000002
cmp r8, rcx
jne 0x140031692
test rbx, rbx
je 0x14003162c
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x140031630
xor edx, edx
xor ecx, ecx
jmp 0x140031668
xor edx, edx
jmp 0x140031690
and rbx, 0xfffffffffffffffc
lea r8, [rdi + 0x30]
xor edx, edx
xor ecx, ecx
nop dword [rax]
mov r9d, dword [r8 - 0x30]
mov r10d, dword [r8 - 0x20]
add r9, rdx
mov r11d, dword [r8 - 0x10]
add r11, r10
add r11, r9
mov edx, dword [r8]
add rdx, r11
add rcx, 4
add r8, 0x40
cmp rbx, rcx
jne 0x140031640
test rax, rax
je 0x140031690
shl rcx, 4
add rdi, rcx
shl eax, 4
xor ecx, ecx
nop dword [rax]
mov r8d, dword [rdi + rcx]
add rdx, r8
add rcx, 0x10
cmp rax, rcx
jne 0x140031680
xor eax, eax
inc qword [rsi + 0x10]
dec dword [rsi + 8]
jne 0x1400316c4
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x1400316c4
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.140053aa0
jmp 0x140031589
lea rcx, [0x1400a3918]
call fcn.140082a00
ud2
lea rcx, [0x1400a45e0]
lea r8, [0x1400a4628]
mov edx, 0x26
call fcn.140085ae0
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
mov rdi, rax
mov rcx, rsi
call fcn.140006550
mov rcx, rdi
call fcn.14009c890
int3