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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm6
cmp qword [0x14006c8f8], 0
mov qword [rsp + 0x1a0], rcx
mov byte [rsp + 0x2f], 1
je 0x14000a2a6
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x20]
lea rcx, [rsp + 0x40]
xor edx, edx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rbx + 0x20], rax
call sym._setjmp
cdqe
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14000a2d0
xor r12d, r12d
cmp qword [rsp + 0x1a0], 0
je 0x14000a25c
mov rcx, qword [rsp + 0x1a0]
call sym.strlen
mov edx, 7
lea rcx, [0x14004c020]
cmp rax, rdx
movq xmm6, rax
mov rbx, rax
cmovge rdx, rax
movq xmm0, rdx
add rdx, 0x11
punpcklqdq xmm6, xmm0
call sym.newObjNoInit
mov rdx, qword [rsp + 0x1a0]
lea r8, [rbx + 1]
movups xmmword [rax], xmm6
lea rcx, [rax + 0x10]
mov r12, rax
call sym.memcpy
mov rcx, r12
call qword [0x14006c8f8]
mov r13d, dword [0x1400707a8]
mov byte [rsp + 0x2f], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x20]
cmp qword [rsp + 0x38], 0
mov rax, qword [rax]
mov qword [rbx + 0x20], rax
jne 0x14000a3b0
movzx eax, byte [rsp + 0x2f]
test al, al
jne 0x14000a3c2
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13d, dword [0x1400707a8]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbp
mov rdi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12d, eax
mov ecx, r13d
call rdi
mov ecx, r12d
mov rsi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rax
call rsi
mov rax, qword [rbx + 0x20]
mov r13d, dword [0x1400707a8]
mov rax, qword [rax]
mov qword [rsp + 0x38], 0
mov qword [rbx + 0x20], rax
call rbp
mov ecx, r13d
mov r12d, eax
call rdi
mov ecx, r12d
mov rbx, rax
call rsi
mov rax, qword [rbx + 0x28]
lea rcx, [rbx + 0x28]
mov r12, qword [rax + 0x28]
call sym.isOnStack__system_5894
test al, al
jne 0x14000a3a0
test r12, r12
je 0x14000a34b
add qword [r12 - 0x10], 8
mov rax, qword [rbx + 0x28]
cmp rax, 0xfff
jbe 0x14000a3a0
mov rdi, qword [rax - 0x10]
lea r14, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000a3a0
mov r15d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r13d
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsi + 0x50]
mov rdx, r14
call sym.addZCT__system_5862
nop
cmp qword [rsp + 0x38], 0
mov qword [rbx + 0x28], r12
je 0x14000a2a6
call sym.reraiseException
movzx eax, byte [rsp + 0x2f]
test al, al
je 0x14000a2b3
mov rdx, qword [rsp + 0x1a0]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x14000a2b3
Function at 0x14000a760
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r14d, dword [0x1400707a8]
mov rsi, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12, rcx
call rsi
mov ecx, r14d
mov rdi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r13d, eax
call rdi
mov ecx, r13d
mov r13, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rax
call r13
mov rax, qword [rbx]
test rax, rax
je 0x14000a7b7
mov rcx, r12
call rax
test al, al
je 0x14000a880
mov rax, qword [0x14006c910]
test rax, rax
je 0x14000a7d0
mov rcx, r12
call rax
test al, al
je 0x14000a880
cmp qword [rbx + 0x20], 0
je 0x14000a8f0
mov r14d, dword [0x1400707a8]
call rsi
mov r15d, eax
mov ecx, r14d
call rdi
mov ecx, r15d
mov r14, rax
call r13
mov rbp, qword [r14 + 0x28]
test rbp, rbp
je 0x14000a803
add qword [rbp - 0x10], 8
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000a852
mov rdx, qword [rax - 0x10]
lea r9, [rax - 0x10]
mov qword [rsp + 0x20], r9
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000a852
mov r15d, dword [0x1400707a8]
call rsi
mov dword [rsp + 0x2c], eax
mov ecx, r15d
call rdi
mov ecx, dword [rsp + 0x2c]
mov r15, rax
call r13
mov rdx, qword [rsp + 0x20]
lea rcx, [r15 + 0x50]
call sym.addZCT__system_5862
mov qword [r12 + 0x28], rbp
lea rcx, [r14 + 0x28]
call sym.isOnStack__system_5894
test al, al
je 0x14000a898
mov qword [r14 + 0x28], r12
mov rcx, qword [rbx + 0x20]
mov edx, 1
add rcx, 0x10
call qword [sym.imp.msvcrt.dll_longjmp]
nop
nop dword [rax]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add qword [r12 - 0x10], 8
mov rax, qword [r14 + 0x28]
cmp rax, 0xfff
jbe 0x14000a864
mov rdx, qword [rax - 0x10]
lea rbp, [rax - 0x10]
sub rdx, 8
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000a864
mov ecx, dword [0x1400707a8]
mov dword [rsp + 0x20], ecx
call rsi
mov ecx, dword [rsp + 0x20]
mov r15d, eax
call rdi
mov ecx, r15d
mov rsi, rax
call r13
lea rcx, [rsi + 0x50]
mov rdx, rbp
call sym.addZCT__system_5862
jmp 0x14000a864
mov rax, qword [0x14006c900]
test rax, rax
je 0x14000a901
mov rcx, r12
call rax
mov rcx, r12
call sym.reportUnhandledErrorAux__system_3237
mov ecx, 1
call sym.exit
nop
nop word cs:[rax + rax]
nop
Function at 0x14000a920
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
cmp qword [rcx + 0x10], 0
mov rbp, qword [rsp + 0x90]
mov r12, rcx
mov rbx, r8
mov rsi, r9
jne 0x14000a94c
mov qword [rcx + 0x10], rdx
test rbx, rbx
je 0x14000a9f5
test rsi, rsi
je 0x14000a9f5
mov rcx, qword [r12 + 0x20]
lea rdx, [0x140072180]
call sym.incrSeqV3
mov rdi, rax
test rax, rax
je 0x14000a97c
add qword [rax - 0x10], 8
mov rax, qword [r12 + 0x20]
test rax, rax
je 0x14000a9cd
mov rcx, qword [rax - 0x10]
lea r15, [rax - 0x10]
lea rdx, [rcx - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x14000a9cd
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r14d
mov r13, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [r13 + 0x50]
mov rdx, r15
call sym.addZCT__system_5862
mov qword [r12 + 0x20], rdi
mov rax, qword [rdi]
lea rdx, [rax + 1]
lea rax, [rax + rax*2]
mov qword [rdi], rdx
mov rdx, qword [r12 + 0x20]
lea rax, [rdx + rax*8]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rcx, r12
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseExceptionAux__system_3351
Function at 0x14000ac40
Capabilities:
Get thread local storage value

Disassembly:
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r12, rdx
test rdx, rdx
js 0x14000acef
call sym.dollar___systemZdollars_3
mov rcx, r12
mov r13, rax
call sym.dollar___systemZdollars_3
mov r14, rax
test r13, r13
je 0x14000ad4f
mov rbx, qword [r13]
test rax, rax
je 0x14000ad95
add rbx, qword [rax]
mov eax, 7
lea rcx, [0x14004c020]
add rbx, 0x13
cmp rbx, rax
cmovl rbx, rax
lea rdx, [rbx + 0x11]
call sym.newObj
lea rdx, [0x14004e140]
mov qword [rax + 8], rbx
mov rcx, rax
mov r12, rax
mov qword [rax], 0
call sym.appendString.part.0
mov rdx, r13
mov rcx, r12
call sym.appendString.part.0
lea rdx, [0x14004e120]
mov rcx, r12
call sym.appendString.part.0
mov rdx, r14
mov rcx, r12
call sym.appendString.part.0
mov rcx, r12
call sym.sysFatal__system_3524
mov r13d, dword [0x1400707a8]
lea rsi, [0x14004e170]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [0x14004c020]
lea r8, [rbx + 0x38]
mov edx, 0x3c
call sym.rawNewObj__system_6299
movdqa xmm0, xmmword [0x14004e370]
mov ecx, 0xb
mov r12, rax
lea rax, [rax + 0x10]
movups xmmword [rax - 0x10], xmm0
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
jmp 0x14000ace7
test rax, rax
je 0x14000adf1
mov rax, qword [r14]
lea rcx, [0x14004c020]
lea rbx, [rax + 0x13]
mov eax, 7
cmp rbx, rax
cmovl rbx, rax
lea rdx, [rbx + 0x11]
call sym.newObj
lea rdx, [0x14004e140]
mov qword [rax + 8], rbx
mov r12, rax
mov qword [rax], 0
jmp 0x14000acc5
mov eax, 7
add rbx, 0x13
lea rcx, [0x14004c020]
cmp rbx, rax
cmovl rbx, rax
lea rdx, [rbx + 0x11]
call sym.newObj
lea rdx, [0x14004e140]
mov qword [rax + 8], rbx
mov rcx, rax
mov r12, rax
mov qword [rax], 0
call sym.appendString.part.0
mov rdx, r13
mov rcx, r12
call sym.appendString.part.0
lea rdx, [0x14004e120]
mov rcx, r12
call sym.appendString.part.0
jmp 0x14000ace7
mov edx, 0x24
lea rcx, [0x14004c020]
call sym.newObj
lea rdx, [0x14004e140]
mov qword [rax + 8], 0x13
mov r12, rax
mov qword [rax], 0
jmp 0x14000add5
Function at 0x14000afa0
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x30
movaps xmmword [rsp + 0x20], xmm6
mov rbx, rcx
mov r13, rdx
test rcx, rcx
je 0x14000b0d8
movabs rdx, 0x3fffffffffffffff
mov rcx, qword [rcx + 8]
and rdx, rcx
cmp rdx, qword [rbx]
jg 0x14000b0c0
mov eax, 4
test rdx, rdx
je 0x14000affa
movabs r8, 0x3fffffffffff0000
lea rax, [rdx + rdx]
test rcx, r8
je 0x14000affa
add rax, rdx
sar rax, 1
mov rcx, qword [r13 + 0x18]
movq xmm6, rax
punpcklqdq xmm6, xmm6
mov rdx, qword [rcx + 8]
test rdx, rdx
jne 0x14000b098
mov edx, 0x10
imul rax, qword [rcx]
jo 0x14000b127
add rdx, rax
jo 0x14000b127
mov rcx, r13
call sym.newObj
movups xmmword [rax], xmm6
mov r8, qword [rbx]
mov r12, rax
mov qword [rax], r8
mov rax, qword [r13 + 0x18]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14000b0c8
sub rdx, 1
jo 0x14000b127
mov rcx, rdx
add rcx, 0x10
jo 0x14000b127
not rdx
and rdx, rcx
lea rcx, [r12 + rdx]
imul r8, qword [rax]
add rdx, rbx
call sym.memcpy
mov qword [rbx], 0
movaps xmm6, xmmword [rsp + 0x20]
mov rax, r12
add rsp, 0x30
pop rbx
pop r12
pop r13
ret
sub rdx, 1
jo 0x14000b127
mov r8, rdx
add r8, 0x10
jo 0x14000b127
not rdx
and rdx, r8
jmp 0x14000b019
mov r12, rbx
jmp 0x14000b081
lea rcx, [r12 + 0x10]
mov edx, 0x10
jmp 0x14000b06e
mov rax, qword [rdx + 0x18]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14000b120
sub rdx, 1
jo 0x14000b127
mov rcx, rdx
add rcx, 0x10
jo 0x14000b127
not rdx
and rdx, rcx
add rdx, qword [rax]
jo 0x14000b127
mov rcx, r13
call sym.newObj
movdqa xmm0, xmmword [0x14004e380]
mov r12, rax
movups xmmword [rax], xmm0
jmp 0x14000b081
mov edx, 0x10
jmp 0x14000b0fa
call sym.raiseOverflow
nop
nop dword [rax]

Function at 0x14000b130
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x30
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, r13d
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x14000b175
add rsp, 0x30
pop rbx
pop r12
pop r13
jmp sym.raiseExceptionAux__system_3351
mov edx, 0x30
lea rcx, [0x140071f00]
lea r13, str.ReraiseDefect
call sym.newObj
lea rcx, [0x14004e0a0]
mov r12, rax
lea rax, [0x140071f40]
mov qword [r12], rax
mov rbx, qword [r12 + 0x18]
mov qword [r12 + 0x10], r13
call sym.copyStringRC1
mov qword [r12 + 0x18], rax
test rbx, rbx
je 0x14000b1d6
mov rax, qword [rbx - 0x10]
lea rcx, [rbx - 0x10]
sub rax, 8
mov qword [rbx - 0x10], rax
cmp rax, 7
ja 0x14000b1d6
call sym.rtlAddZCT__system_5911
mov qword [rsp + 0x20], 0x35
lea r9, str.fatal.nim
mov rdx, r13
mov rcx, r12
lea r8, str.sysFatal
call sym.raiseExceptionEx
nop
nop dword [rax]
Function at 0x14000b270
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, rcx
mov rdi, rdx
test rcx, rcx
je 0x14000b470
cmp qword [rcx], 0
jle 0x14000b470
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebp, ebp
jmp 0x14000b2e7
mov rdx, qword [rbx + 0x88]
mov rax, qword [rbx + 0x80]
cmp rdx, rax
jle 0x14000b398
mov r15, qword [rbx + 0x90]
mov qword [r15 + rax*8], r10
add qword [rbx + 0x80], 1
add rbp, 1
cmp qword [rsi], rbp
jle 0x14000b470
mov rax, rbp
mov ebx, dword [0x1400707a8]
shl rax, 4
mov r15, qword [rsi + rax + 0x18]
call r13
mov ecx, ebx
mov r14d, eax
call r12
mov ecx, r14d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r15, r15
je 0x14000b2da
lea r10, [r15 - 0x10]
cmp dil, 2
je 0x14000b348
ja 0x14000b338
test dil, dil
jne 0x14000b2b0
lea rcx, [rbx + 0x38]
mov rdx, r10
call sym.markS__system_6371
jmp 0x14000b2da
cmp dil, 3
je 0x14000b2b0
jmp 0x14000b2da
mov rax, qword [r15 - 0x10]
mov qword [rsp + 0x28], r10
sub rax, 8
mov qword [r15 - 0x10], rax
cmp rax, 7
ja 0x14000b2da
mov r15d, dword [0x1400707a8]
call r13
mov r14d, eax
mov ecx, r15d
call r12
mov ecx, r14d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdx, qword [rsp + 0x28]
lea rcx, [rbx + 0x50]
call sym.addZCT__system_5862
jmp 0x14000b2da
lea rax, [rdx + rdx*2]
mov r14d, dword [0x1400707a8]
mov qword [rsp + 0x38], r10
mov r15, rax
shr r15, 0x3f
add r15, rax
sar r15, 1
mov qword [rbx + 0x88], r15
call r13
mov ecx, r14d
mov dword [rsp + 0x28], eax
call r12
mov ecx, dword [rsp + 0x28]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [r15*8 + 0x10]
lea rcx, [r14 + 0xa0]
call sym.rawAlloc__system_5138
mov qword [rax + 8], 1
mov r8, qword [rbx + 0x80]
lea r15, [rax + 0x10]
mov rdx, qword [rbx + 0x90]
mov rcx, r15
shl r8, 3
call sym.memcpy
mov rax, qword [rbx + 0x90]
mov r14d, dword [0x1400707a8]
mov qword [rsp + 0x28], rax
call r13
mov ecx, r14d
mov dword [rsp + 0x34], eax
call r12
mov ecx, dword [rsp + 0x34]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0x28]
lea rcx, [r14 + 0xa0]
lea rdx, [rax - 0x10]
call sym.rawDealloc__system_5267
mov qword [rbx + 0x90], r15
mov r10, qword [rsp + 0x38]
mov rax, qword [rbx + 0x80]
jmp 0x14000b2ce
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14000b490
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r13d, dword [0x1400707a8]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdi, rcx
mov rsi, rdx
call rbp
mov ecx, r13d
mov r13, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12d, eax
call r13
mov ecx, r12d
mov r12, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rax
call r12
test rdi, rdi
je 0x14000b516
lea r14, [rdi - 0x10]
cmp sil, 2
je 0x14000b610
ja 0x14000b530
test sil, sil
je 0x14000b540
mov rdx, qword [rbx + 0x88]
mov rax, qword [rbx + 0x80]
cmp rdx, rax
jle 0x14000b560
mov rsi, qword [rbx + 0x90]
mov qword [rsi + rax*8], r14
add qword [rbx + 0x80], 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp sil, 3
je 0x14000b4f0
jmp 0x14000b516
lea rcx, [rbx + 0x38]
mov rdx, r14
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.markS__system_6371
lea rax, [rdx + rdx*2]
mov edi, dword [0x1400707a8]
mov rsi, rax
shr rsi, 0x3f
add rsi, rax
sar rsi, 1
mov qword [rbx + 0x88], rsi
call rbp
mov ecx, edi
mov r15d, eax
call r13
mov ecx, r15d
mov rdi, rax
call r12
lea rdx, [rsi*8 + 0x10]
lea rcx, [rdi + 0xa0]
call sym.rawAlloc__system_5138
mov qword [rax + 8], 1
mov r8, qword [rbx + 0x80]
lea rsi, [rax + 0x10]
mov rdx, qword [rbx + 0x90]
mov rcx, rsi
shl r8, 3
call sym.memcpy
mov edi, dword [0x1400707a8]
mov r15, qword [rbx + 0x90]
call rbp
mov ebp, eax
mov ecx, edi
call r13
mov ecx, ebp
mov rdi, rax
call r12
lea rdx, [r15 - 0x10]
lea rcx, [rdi + 0xa0]
call sym.rawDealloc__system_5267
mov qword [rbx + 0x90], rsi
mov rax, qword [rbx + 0x80]
jmp 0x14000b50a
mov rax, qword [rdi - 0x10]
sub rax, 8
mov qword [rdi - 0x10], rax
cmp rax, 7
ja 0x14000b516
mov ebx, dword [0x1400707a8]
call rbp
mov r15d, eax
mov ecx, ebx
call r13
mov ecx, r15d
mov rbx, rax
call r12
lea rcx, [rbx + 0x50]
mov rdx, r14
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.addZCT__system_5862

Function at 0x14000bf90
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rsi
push rbx
sub rsp, 0x28
mov r13d, dword [0x1400707a8]
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, r13d
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x14000bfd7
cmp rax, rbx
je 0x14000bfdb
cmp rbx, rax
cmovl rbx, rax
mov qword [rsi + 0x38], rbx
add rsp, 0x28
pop rbx
pop rsi
pop r12
pop r13
ret
Function at 0x14000bff0
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rdi
sub rsp, 0x20
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, r13d
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rdi + 0xa0]
mov edx, 0x220
call sym.rawAlloc__system_5138
lea r8, [rax + 0x10]
lea rdi, [rax + 0x18]
mov qword [rax + 8], 1
and rdi, 0xfffffffffffffff8
mov rcx, r8
mov qword [rax + 0x10], 0
mov qword [rax + 0x218], 0
sub rcx, rdi
xor eax, eax
add ecx, 0x210
shr ecx, 3
rep stosq qword [rdi], rax
mov rax, r8
mov qword [r8 + 8], 0x1f
add rsp, 0x20
pop rdi
pop r12
pop r13
ret

Function at 0x14000ca10
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rdx, qword [rcx + 8]
add rdx, 1
mov rdi, rcx
jo 0x14000cb9d
imul r13, rdx, 2
jo 0x14000cb9d
imul r12, r13, 0x10
jo 0x14000cb9d
mov r15, r12
add r15, 0x10
jo 0x14000cb9d
test r15, r15
js 0x14000cbac
mov r14d, dword [0x1400707a8]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbp
mov rbx, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
mov ecx, r14d
call rbx
mov ecx, esi
mov rsi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, rax
call rsi
lea rdx, [r12 + 0x20]
lea rcx, [r14 + 0xa0]
call sym.rawAlloc__system_5138
xor edx, edx
mov r8, r15
mov qword [rax + 8], 1
lea r12, [rax + 0x10]
mov r14, rax
mov rcx, r12
call sym.memset
mov rax, qword [rdi]
mov rdx, r13
xor r8d, r8d
add rdx, 0xffffffffffffffff
mov qword [r14 + 0x10], rax
seto r8b
jo 0x14000cb9d
mov qword [r12 + 8], rdx
mov rcx, qword [rdi + 8]
lea r9, [rdi + 0x10]
test rcx, rcx
js 0x14000cb60
nop dword [rax]
mov rax, qword [r9]
test rax, rax
je 0x14000cb38
sar rax, 8
jmp 0x14000cb0a
add rax, 1
jo 0x14000cb9d
mov rcx, rdx
and rcx, rax
cmp rcx, 0xfffffe
ja 0x14000cba2
shl rcx, 4
add rcx, r12
cmp qword [rcx + 0x10], 0
jne 0x14000cb00
movdqu xmm0, xmmword [r9]
movups xmmword [rcx + 0x10], xmm0
mov rcx, qword [rdi + 8]
add r8, 1
cmp rcx, r8
jl 0x14000cb60
add r9, 0x10
cmp r8, 0xffffff
jne 0x14000cae8
mov edx, 0xfffffe
mov ecx, 0xffffff
call sym.raiseIndexError2
nop dword [rax]
mov r14d, dword [0x1400707a8]
call rbp
mov r13d, eax
mov ecx, r14d
call rbx
mov ecx, r13d
mov rbx, rax
call rsi
lea rdx, [rdi - 0x10]
lea rcx, [rbx + 0xa0]
call sym.rawDealloc__system_5267
mov rax, r12
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sym.raiseOverflow
mov edx, 0xfffffe
call sym.raiseIndexError2
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r15
call sym.raiseRangeErrorI
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x14000d8b0
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x150
mov r13d, dword [0x1400707a8]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x180], rcx
call rdi
mov rbx, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r13d
mov r12d, eax
call rbx
mov ecx, r12d
mov rsi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [rsp + 0x28], rax
call rsi
mov r13d, dword [0x1400707a8]
call rdi
mov r12d, eax
mov ecx, r13d
call rbx
mov ecx, r12d
mov rbx, rax
call rsi
mov rax, qword [rbx + 0x20]
lea rcx, [rsp + 0x50]
xor edx, edx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x40]
mov qword [rbx + 0x20], rax
call sym._setjmp
cdqe
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x14000da17
mov rsi, qword [rsp + 0x180]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
mov r8, qword [0x140053870]
mov qword [rsp + 0x30], 0
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x38], rax
call sym.genericDeepCopy
mov rdi, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x30]
call qword [rdi + 0x10]
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
mov qword [rbx + 0x20], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 8]
test rax, rax
je 0x14000da00
mov rbx, qword [rax]
sub rbx, 1
jns 0x14000d9e1
jmp 0x14000da00
call rax
sub rbx, 1
jb 0x14000da00
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 8]
mov rdx, rbx
shl rdx, 4
add rax, rdx
mov rcx, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
test rcx, rcx
jne 0x14000d9d0
call rax
sub rbx, 1
jae 0x14000d9d8
cmp qword [rsp + 0x48], 0
jne 0x14000da3b
add rsp, 0x150
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
mov ecx, dword [0x1400707a8]
call sym.threadVarGetValue__system_2243
mov rdx, qword [rax + 0x20]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], 0
mov qword [rax + 0x20], rdx
call sym.threadTrouble__system_2854
call sym.nimLeaveFinally
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x14000db80
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rdi, qword [rcx]
mov rdx, rdi
mov rbx, rcx
mov ecx, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x28], 0
call sym.nimGC_setStackBottom
call sym.initGC__system_2696
mov rcx, rbx
call sym.threadProcWrapDispatch__pureZconcurrencyZthreadpool_502
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
lea r12, [0x140069dc0]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsi + 0xa0]
call sym.deallocOsPages__system_5377
mov rcx, r12
mov qword [rbx], 0
mov qword [rbx + 0x10], 0
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rdi - 0x10]
lea rcx, [0x140069e00]
call sym.rawDealloc__system_5267
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret

Function at 0x14000dc40
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x20
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, r13d
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rbx + 0xa0]
add rsp, 0x20
pop rbx
pop r12
pop r13
jmp sym.deallocOsPages__system_5377

Function at 0x14000dc90
Capabilities:
Get thread local storage value

Disassembly:
push r13
push r12
push rbx
sub rsp, 0x30
mov qword [rsp + 0x28], 0
mov r12, rcx
lea rcx, [rsp + 0x28]
call sym.nimGC_setStackBottom
call sym.initGC__system_2696
mov rcx, r12
call sym.threadProcWrapDispatch__pureZconcurrencyZthreadpool_502
mov r13d, dword [0x1400707a8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rbx + 0xa0]
call sym.deallocOsPages__system_5377
nop
add rsp, 0x30
pop rbx
pop r12
pop r13
ret