joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140007450
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 rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rsi, qword [rcx + 0x10]
mov r13, rcx
test rsi, rsi
je 0x1400074bc
nop dword [rax]
mov ebx, dword [0x1400af708]
mov rdi, rsi
mov rsi, qword [rsi]
call rbp
mov r15d, eax
mov ecx, ebx
call r12
mov ecx, r15d
mov rbx, rax
call r14
lea rdx, [rdi - 0x10]
lea rcx, [rbx + 0xa0]
call sym.rawDealloc__system_5218
test rsi, rsi
jne 0x140007488
mov ebx, dword [0x1400af708]
mov rsi, qword [r13 + 0x18]
mov qword [r13 + 0x10], 0
call rbp
mov edi, eax
mov ecx, ebx
call r12
mov ecx, edi
mov rbx, rax
call r14
lea rdx, [rsi - 0x10]
lea rcx, [rbx + 0xa0]
call sym.rawDealloc__system_5218
mov ebx, dword [0x1400af708]
mov qword [r13 + 0x18], 0
mov qword [r13], 0
call rbp
mov ecx, ebx
mov esi, eax
call r12
mov ecx, esi
mov rbx, rax
call r14
lea rcx, [rbx + 0xa0]
mov edx, 0x2010
call sym.rawAlloc__system_5089
movdqu xmm0, xmmword [0x1400693c0]
lea rdx, [rax + 0x10]
lea rdi, [rax + 0x18]
mov qword [rax + 8], 1
and rdi, 0xfffffffffffffff8
mov rcx, rdx
mov qword [rax + 0x10], 0
mov qword [rax + 0x2008], 0
sub rcx, rdi
xor eax, eax
add ecx, 0x2000
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x10], 0
movups xmmword [r13], xmm0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x140007640
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov ebx, dword [0x1400af708]
mov rdi, rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rdi + 8]
cmp qword [rax + 0x28], 0
je 0x140007691
add qword [rbx + 0x98], 1
lea rcx, [rdi + 0x10]
call qword [rax + 0x28]
sub qword [rbx + 0x98], 1
lea rcx, [rsi + 0x68]
mov rdx, rdi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.rawDealloc__system_5218
Function at 0x140007a10
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov ebx, dword [0x1400af708]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov esi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x2138]
add rsp, 0x28
pop rbx
pop rsi
ret

Function at 0x140007a50
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
xor ebx, ebx
mov r12, qword [rcx + 0x30]
mov r13, qword [rcx + 0x40]
mov rbp, rcx
test r12, r12
jle 0x140007aca
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov rsi, qword [r13 + rbx*8]
mov rax, qword [rsi]
sub rax, 8
mov qword [rsi], rax
cmp rax, 7
ja 0x140007ac1
mov edi, dword [0x1400af708]
call r14
mov r15d, eax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r15d
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rdi + 0x50]
mov rdx, rsi
call sym.addZCT__system_5813
add rbx, 1
cmp r12, rbx
jne 0x140007a80
mov qword [rbp + 0x30], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x140007af0
Capabilities:
Get thread local storage value

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
mov edi, dword [0x1400af708]
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, edi
mov esi, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rax, [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
xor eax, eax
cmp rbx, rdx
jb 0x140007b38
cmp qword [rdi + 0x38], rbx
setae al
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret

Function at 0x140007b40
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rsi, rdx
call sym.isOnStack__system_5845
test al, al
jne 0x140007b84
test rsi, rsi
je 0x140007b63
add qword [rsi - 0x10], 8
mov rax, qword [rbx]
cmp rax, 0xfff
jbe 0x140007b84
mov rdi, qword [rax - 0x10]
lea r12, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
jbe 0x140007b98
mov qword [rbx], rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov edi, dword [0x1400af708]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rdi + 0x50]
mov rdx, r12
call sym.addZCT__system_5813
mov qword [rbx], rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret

Function at 0x140007bf0
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov ecx, 2
call qword [dbg.__acrt_iob_func]
mov rcx, rsi
mov r8, rdi
mov edx, 1
mov rbx, rax
mov r9, rax
call sym.fwrite
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.fflush
Function at 0x140007ce0
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 ebx, dword [0x1400af708]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rbp, rcx
mov esi, edx
call r13
mov ecx, ebx
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
call r12
mov ecx, edi
mov rdi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rax
call rdi
test rbp, rbp
je 0x140007d65
lea r14, [rbp - 0x10]
cmp sil, 2
je 0x140007e68
ja 0x140007d80
test sil, sil
je 0x140007e48
mov rdx, qword [rbx + 0x88]
mov rax, qword [rbx + 0x80]
cmp rdx, rax
jle 0x140007d90
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 0x140007d3f
jmp 0x140007d65
lea rax, [rdx + rdx*2]
mov ebp, dword [0x1400af708]
mov rsi, rax
shr rsi, 0x3f
add rsi, rax
sar rsi, 1
mov qword [rbx + 0x88], rsi
call r13
mov ecx, ebp
mov r15d, eax
call r12
mov ecx, r15d
mov rbp, rax
call rdi
lea rdx, [rsi*8 + 0x10]
lea rcx, [rbp + 0xa0]
call sym.rawAlloc__system_5089
mov qword [rax + 8], 1
lea rsi, [rax + 0x10]
mov rax, qword [rbx + 0x80]
mov rdx, qword [rbx + 0x90]
mov rcx, rsi
lea r8, [rax*8]
call sym.memcpy
mov ebp, dword [0x1400af708]
mov r15, qword [rbx + 0x90]
call r13
mov r13d, eax
mov ecx, ebp
call r12
mov ecx, r13d
mov rbp, rax
call rdi
lea rdx, [r15 - 0x10]
lea rcx, [rbp + 0xa0]
call sym.rawDealloc__system_5218
mov qword [rbx + 0x90], rsi
mov rax, qword [rbx + 0x80]
jmp 0x140007d59
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_6322
mov rax, qword [rbp - 0x10]
sub rax, 8
mov qword [rbp - 0x10], rax
cmp rax, 7
ja 0x140007d65
mov ebx, dword [0x1400af708]
call r13
mov esi, eax
mov ecx, ebx
call r12
mov ecx, esi
mov rbx, rax
call rdi
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_5813

Function at 0x140007ec0
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rbx, rdx
test rcx, rcx
je 0x140007f20
test byte [rdx + 0x11], 1
jne 0x140007f20
movzx ecx, byte [rdx + 0x10]
cmp cl, 0x1c
ja 0x140007f20
mov eax, 1
shl rax, cl
test eax, 0x8010010
jne 0x140007f50
test eax, 0x11400000
jne 0x140007f30
test eax, 0x60000
je 0x140007f20
mov rdx, qword [rdx + 0x20]
movzx r8d, r8b
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.forAllSlotsAux__system_6138
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, qword [rsi]
movzx edx, r8b
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.doOperation__system_5850
mov r9, qword [rdx + 0x18]
mov rax, qword [rdx]
mov rcx, qword [r9]
cqo
idiv rcx
mov rbp, rax
test rax, rax
jle 0x140007f20
movzx edi, r8b
xor r12d, r12d
imul rcx, r12
mov r8d, edi
mov rdx, r9
add r12, 1
add rcx, rsi
call sym.forAllChildrenAux__system_5853
cmp rbp, r12
je 0x140007f20
mov r9, qword [rbx + 0x18]
mov rcx, qword [r9]
jmp 0x140007f6e
Function at 0x140008610
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 r14, rcx
call sym.stackSize__system_5979
mov rdx, rax
mov rax, qword [r14 + 0x2b70]
cmp rax, rdx
cmovl rax, rdx
mov qword [r14 + 0x2b70], rax
mov rax, qword [r14 + 0x2910]
mov rdx, qword [rax]
mov r8, rax
cmp rax, rdx
jne 0x140008663
jmp 0x1400087c0
mov r8, rcx
mov rcx, rdx
mov rdx, qword [rdx]
cmp rdx, rcx
jne 0x140008660
mov rdx, qword [r8 + 0x10]
mov qword [r14 + 0x68], rdx
cmp rax, qword [rax]
je 0x1400087d0
nop
mov rdx, rax
mov rax, qword [rax + 8]
cmp qword [rax], rax
jne 0x140008680
mov rax, qword [rdx + 0x18]
mov qword [r14 + 0x70], rax
mov rcx, r14
call sym.markStackAndRegisters__system_6403
mov rax, qword [r14 + 0x2b78]
mov rdx, qword [r14 + 0x30]
mov rcx, r14
cmp rax, rdx
cmovl rax, rdx
add qword [r14 + 0x2b58], 1
mov qword [r14 + 0x2b78], rax
call sym.collectZCT__system_6361
test al, al
je 0x1400086da
mov rax, qword [r14 + 0x2100]
cmp qword [r14 + 8], rax
jle 0x140008758
mov r12, qword [r14 + 0x30]
mov rbp, qword [r14 + 0x40]
xor ebx, ebx
test r12, r12
jle 0x14000873a
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rsi, qword [rbp + rbx*8]
mov rax, qword [rsi]
sub rax, 8
mov qword [rsi], rax
cmp rax, 7
ja 0x140008731
mov edi, dword [0x1400af708]
call r13
mov r15d, eax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r15d
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rdi + 0x50]
mov rdx, rsi
call sym.addZCT__system_5813
add rbx, 1
cmp r12, rbx
jne 0x1400086f0
mov qword [r14 + 0x30], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r14
call sym.collectCycles__system_6363
mov ebx, dword [0x1400af708]
add qword [r14 + 0x2b60], 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x2138]
mov edx, 0x400000
add rax, rax
cmp rax, rdx
cmovl rax, rdx
mov rdx, qword [r14 + 0x2b68]
cmp rdx, rax
mov qword [r14 + 8], rax
cmovl rdx, rax
mov qword [r14 + 0x2b68], rdx
jmp 0x1400086da
xor edx, edx
mov qword [r14 + 0x68], rdx
cmp rax, qword [rax]
jne 0x140008680
nop
mov rax, 0xffffffffffffffff
jmp 0x140008690
Function at 0x140008840
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov ebx, dword [0x1400af708]
mov rsi, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rbx + 0x50]
cmp qword [rbx + 0x48], rax
jle 0x1400088c0
mov rax, qword [rbx + 0x40]
cmp qword [rbx + 0x2138], rax
jge 0x1400088c0
lea rdx, [rsi + 0x10]
lea rcx, [rbx + 0xa0]
call sym.rawAlloc__system_5089
mov r8, rsi
xor edx, edx
mov qword [rax + 8], rdi
lea rcx, [rax + 0x10]
mov qword [rax], 8
call sym.memset
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
cmp qword [rbx + 0x98], 0
jne 0x140008886
lea rcx, [rbx + 0x38]
call sym.collectCTBody__system_6457
mov rax, qword [rbx + 0x50]
mov edx, 0x1f4
add rax, rax
cmp rax, rdx
cmovl rax, rdx
mov qword [rbx + 0x48], rax
jmp 0x140008886
Function at 0x140008f00
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov edi, dword [0x1400af708]
mov rbx, rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, edi
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rdi + 0x38]
mov rdx, rbx
mov rcx, rsi
call sym.rawNewObj__system_6250
mov r8, rbx
xor edx, edx
mov rcx, rax
call sym.memset
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret

Function at 0x140008fe0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov eax, 7
mov ebx, dword [0x1400af708]
mov rdi, qword [rcx]
cmp rdi, rax
cmovl rdi, rax
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rdi + 0x11]
lea r8, [rbx + 0x38]
lea rcx, section..data
call sym.rawNewObj__system_6250
lea rdx, [rsi + 0x10]
mov rbx, rax
mov qword [rax + 8], rdi
mov qword [rax], 0
mov rax, qword [rsi]
lea rcx, [rbx + 0x10]
mov qword [rbx], rax
lea r8, [rax + 1]
call sym.memcpy
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret

Function at 0x140009060
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov edi, 7
mov ebx, dword [0x1400af708]
cmp rdx, rdi
mov rsi, rdx
mov rbp, rcx
cmovge rdi, rdx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rdi + 0x11]
lea r8, [rbx + 0x38]
lea rcx, section..data
call sym.rawNewObj__system_6250
lea r8, [rsi + 1]
mov rdx, rbp
mov qword [rax + 8], rdi
mov rbx, rax
lea rcx, [rax + 0x10]
mov qword [rax], rsi
call sym.memcpy
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret

Function at 0x1400090e0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
test rcx, rcx
je 0x140009163
cmp qword [rcx + 8], 0
js 0x140009163
mov rdi, qword [rcx]
mov eax, 7
mov esi, dword [0x1400af708]
cmp rdi, rax
cmovl rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, esi
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebp
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsi + 0x38]
lea rdx, [rdi + 0x11]
lea rcx, section..data
call sym.rawNewObj__system_6250
lea rdx, [rbx + 0x10]
mov rsi, rax
mov qword [rax + 8], rdi
mov qword [rax], 0
mov rax, qword [rbx]
lea rcx, [rsi + 0x10]
mov rbx, rsi
mov qword [rsi], rax
lea r8, [rax + 1]
call sym.memcpy
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x140009170
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
xor ebx, ebx
mov rsi, rcx
test rcx, rcx
je 0x1400091e9
call sym.strlen
mov ebp, 7
mov ebx, dword [0x1400af708]
cmp rax, rbp
mov rdi, rax
cmovge rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r12d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rbx + 0x38]
lea rdx, [rbp + 0x11]
lea rcx, section..data
call sym.rawNewObj__system_6250
lea r8, [rdi + 1]
mov rdx, rsi
mov qword [rax + 8], rbp
lea rcx, [rax + 0x10]
mov rbx, rax
mov qword [rax], rdi
call sym.memcpy
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x140009200
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 r13, rcx
test rdx, rdx
je 0x1400093f8
movzx r15d, byte [rdx]
test r15b, r15b
je 0x1400093f8
mov rbx, qword [rcx]
lea r12, [rdx + 1]
test rbx, rbx
jne 0x140009317
mov ebx, dword [0x1400af708]
mov r14d, 1
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, esi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rbx + 0x38]
mov edx, 0x18
lea rcx, section..data
call sym.rawNewObj__system_6250
movdqu xmm0, xmmword [0x1400693f0]
mov rbx, rax
movups xmmword [rax], xmm0
nop dword [rax]
mov byte [rbx + rdi + 0x10], r15b
mov rcx, r13
mov byte [rbx + r14 + 0x10], 0
mov qword [rbx], r14
call sym.isOnStack__system_5845
test al, al
jne 0x140009300
add qword [rbx - 0x10], 8
mov rax, qword [r13]
cmp rax, 0xfff
jbe 0x140009300
mov rdi, qword [rax - 0x10]
lea rbp, [rax - 0x10]
lea rdx, [rdi - 8]
mov qword [rax - 0x10], rdx
cmp rdx, 7
ja 0x140009300
mov esi, dword [0x1400af708]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, edi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsi + 0x50]
mov rdx, rbp
call sym.addZCT__system_5813
nop word cs:[rax + rax]
add r12, 1
mov qword [r13], rbx
movzx r15d, byte [r12 - 1]
test r15b, r15b
je 0x1400093f8
mov rdx, qword [rbx + 8]
mov rdi, qword [rbx]
movabs rax, 0x3fffffffffffffff
and rax, rdx
lea r14, [rdi + 1]
cmp rax, rdi
jg 0x140009288
test rax, rax
je 0x140009410
movabs rcx, 0x3fffffffffff0000
test rdx, rcx
je 0x1400093d8
lea rax, [rax + rax*2]
sar rax, 1
mov rbp, rax
lea rdx, [rax + 0x11]
mov r14, rax
mov esi, dword [0x1400af708]
mov qword [rsp + 0x28], rdx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, edi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdx, qword [rsp + 0x28]
lea r8, [rsi + 0x38]
lea rcx, section..data
call sym.rawNewObj__system_6250
lea rdx, [rbx + 0x10]
mov qword [rax + 8], r14
mov rsi, rax
lea rcx, [rax + 0x10]
mov qword [rax], 0
mov rdi, qword [rbx]
mov rbx, rsi
mov qword [rax], rdi
lea r14, [rdi + 1]
mov r8, r14
call sym.memcpy
mov qword [rsi + 8], rbp
jmp 0x140009288
lea rbp, [rax + rax]
mov r14d, 7
cmp rbp, r14
cmovge r14, rbp
lea rdx, [r14 + 0x11]
jmp 0x140009365
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0x18
mov r14d, 7
mov ebp, 4
jmp 0x140009365
Function at 0x140009430
Capabilities:
Get thread local storage value

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
xor ebp, ebp
test rdx, rdx
mov rdi, rcx
mov rsi, rdx
cmovns rbp, rdx
test rcx, rcx
je 0x140009540
mov rcx, qword [rcx + 8]
mov rbx, rdi
movabs rax, 0x3fffffffffffffff
and rax, rcx
cmp rax, rbp
jge 0x140009522
mov edx, 4
test rax, rax
je 0x140009496
movabs r8, 0x3fffffffffff0000
lea rdx, [rax + rax]
test rcx, r8
je 0x140009496
add rdx, rax
sar rdx, 1
cmp rsi, rdx
mov r13d, 7
mov ebx, dword [0x1400af708]
cmovge rdx, rsi
cmp rdx, r13
mov r12, rdx
cmovge r13, rdx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, r14d
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rbx + 0x38]
lea rdx, [r13 + 0x11]
lea rcx, section..data
call sym.rawNewObj__system_6250
lea rdx, [rdi + 0x10]
mov rbx, rax
mov qword [rax + 8], r13
mov qword [rax], 0
mov rax, qword [rdi]
lea rcx, [rbx + 0x10]
mov qword [rbx], rax
lea r8, [rax + 1]
call sym.memcpy
mov rax, qword [rdi]
xor edx, edx
sub rsi, rax
lea rcx, [rbx + rax + 0x10]
mov r8, rsi
call sym.memset
mov qword [rbx + 8], r12
mov rax, rbx
mov qword [rbx], rbp
mov byte [rbx + rbp + 0x10], 0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov edi, 7
lea rcx, section..data
cmp rdx, rdi
cmovge rdi, rdx
lea rdx, [rdi + 0x11]
call sym.newObj
mov qword [rax + 8], rdi
mov rbx, rax
mov qword [rax], rsi
jmp 0x140009522
Function at 0x140009570
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 eax, 7
mov ebx, dword [0x1400af708]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
cmp rcx, rax
cmovge rax, rcx
mov rdi, rax
call rbp
mov ecx, ebx
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
call r12
mov r13, qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, esi
mov rbx, rax
call r13
mov rax, qword [rbx + 0x50]
cmp qword [rbx + 0x48], rax
jle 0x140009658
mov rax, qword [rbx + 0x40]
cmp qword [rbx + 0x2138], rax
jge 0x140009658
lea rdx, [rdi + 0x21]
lea rcx, [rbx + 0xa0]
call sym.rawAlloc__system_5089
mov rsi, rax
lea rax, section..data
mov qword [rsi + 8], rax
mov qword [rsi], 4
mov rax, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x60]
cmp rax, 8
jle 0x140009730
lea r8, [rax*8]
lea r9, [rdx + r8 - 8]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
jbe 0x140009690
and rcx, 0xfffffffffffffffb
mov qword [r10], rcx
mov qword [r9], rsi
lea rax, [rsi + 0x10]
mov qword [rax + 8], rdi
mov qword [rsi + 0x10], 0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rbx + 0x98], 0
jne 0x1400095da
lea rcx, [rbx + 0x38]
call sym.collectCTBody__system_6457
mov rax, qword [rbx + 0x50]
mov edx, 0x1f4
add rax, rax
cmp rax, rdx
cmovl rax, rdx
mov qword [rbx + 0x48], rax
jmp 0x1400095da
lea r9, [rdx + r8 - 0x10]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
ja 0x14000962a
lea r9, [rdx + r8 - 0x18]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
ja 0x14000962a
lea r9, [rdx + r8 - 0x20]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
ja 0x14000962a
lea r9, [rdx + r8 - 0x28]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
ja 0x14000962a
lea r9, [rdx + r8 - 0x30]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
ja 0x14000962a
lea r9, [rdx + r8 - 0x38]
mov r10, qword [r9]
mov rcx, qword [r10]
cmp rcx, 7
ja 0x14000962a
lea rcx, [rdx + r8 - 0x40]
mov r8, qword [rcx]
mov rdx, qword [r8]
cmp rdx, 7
jbe 0x14000973e
and rdx, 0xfffffffffffffffb
mov qword [r8], rdx
mov qword [rcx], rsi
jmp 0x140009634
mov qword [rdx + rax*8], rsi
add qword [rbx + 0x50], 1
jmp 0x140009634
mov r15, qword [rbx + 0x58]
cmp rax, r15
jl 0x1400097f1
lea r15, [r15 + r15*2]
mov ecx, 2
mov r14d, dword [0x1400af708]
mov rax, r15
cqo
idiv rcx
mov r15, rax
mov qword [rbx + 0x58], rax
call rbp
mov ecx, r14d
mov dword [rsp + 0x2c], eax
call r12
mov ecx, dword [rsp + 0x2c]
mov r14, rax
call r13
lea rdx, [r15*8 + 0x10]
lea rcx, [r14 + 0xa0]
call sym.rawAlloc__system_5089
mov qword [rax + 8], 1
mov r14, rax
mov rax, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x60]
add r14, 0x10
lea r8, [rax*8]
mov rcx, r14
call sym.memcpy
mov ecx, dword [0x1400af708]
mov r15, qword [rbx + 0x60]
mov dword [rsp + 0x2c], ecx
call rbp
mov ecx, dword [rsp + 0x2c]
mov ebp, eax
call r12
mov ecx, ebp
mov r12, rax
call r13
lea rdx, [r15 - 0x10]
lea rcx, [r12 + 0xa0]
call sym.rawDealloc__system_5218
mov qword [rbx + 0x60], r14
mov rdx, qword [rbx + 0x50]
mov rax, qword [rbx + 0x60]
mov qword [rax + rdx*8], rsi
add qword [rbx + 0x50], 1
jmp 0x140009634