joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14019c260
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
cmp byte [rcx + 0x19], 0
mov r12, r9
mov rdi, r8
mov r10, rdx
mov rbp, rcx
jge 0x14019c2e8
mov r9, qword [rcx + 0x80]
xor ecx, ecx
mov r8, qword [r9 + 0x10]
mov dword [rsp + 0x20], r8d
test rdi, rdi
je 0x14019c2bd
nop dword [rax + rax]
mov rax, rcx
and eax, 3
movzx eax, byte [rsp + rax + 0x20]
xor byte [rdx + rcx], al
inc rcx
cmp rcx, rdi
jb 0x14019c2a0
mov r9, qword [rbp + 0x80]
mov rdx, rdi
and edx, 3
je 0x14019c2e4
mov rax, r8
lea rdx, [rdx*8]
mov ecx, 0x40
sub rcx, rdx
shl rax, cl
mov rcx, rdx
shr r8, cl
or r8, rax
mov qword [r9 + 0x10], r8
mov rax, qword [rbp + 0x80]
mov r8, rdi
mov rdx, r10
mov rbx, qword [rax]
add rbx, 0x50
mov r15, qword [rbx + 0x10]
lea r14, [rbx + 0x10]
mov rcx, rbx
call fcn.14012cd60
mov r10, qword [rbp + 0x80]
mov rax, qword [r10]
cmp dword [rax + 0x70], 1
jne 0x14019c3aa
cmp qword [rbx + 0x18], 0x10
jb 0x14019c332
mov rdx, qword [rbx]
mov rbx, rdx
add rdx, qword [r14]
jmp 0x14019c338
mov rdx, qword [r14]
add rdx, rbx
lea rax, [r15 + rbx]
cmp rax, rdx
je 0x14019c3aa
lea rbx, [0x1403c4e50]
nop dword [rax + rax]
cmp dword [r10 + 0x18], 0
movzx r8d, byte [rax]
mov r9d, r8d
movzx r11d, byte [r8 + rbx]
je 0x14019c373
mov ecx, dword [r10 + 0x1c]
and r9d, 0x3f
shl ecx, 6
or r9d, ecx
jmp 0x14019c382
mov r8d, 0xff
mov ecx, r11d
sar r8d, cl
and r9d, r8d
mov dword [r10 + 0x1c], r9d
mov ecx, dword [r10 + 0x18]
add ecx, 0x10
shl ecx, 4
add ecx, r11d
movzx r8d, byte [rcx + rbx]
mov dword [r10 + 0x18], r8d
cmp r8d, 1
je 0x14019c3c0
inc rax
cmp rax, rdx
jne 0x14019c350
sub qword [rbp + 0x30], rdi
mov rax, rdi
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
call fcn.1401824b0
mov qword [rsp + 0x30], rax
xor eax, eax
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [r12], xmm0
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14019eaa0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019eacf
mov rcx, qword [rcx + 0x38]
test rcx, rcx
je 0x14019eac7
mov rax, qword [rcx]
xor edx, edx
call rax
nop
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019eb18
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019eb08
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019eb08
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14019eb23
inc ecx
inc rax
cmp rax, 2
jl 0x14019eaf6
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x48]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14019eb50
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019eb77
add rcx, 8
call fcn.14015d0b0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019ebc3
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019ebb3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019ebb3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019ebce
inc ecx
inc rax
cmp rax, 6
jl 0x14019eba1
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xf8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019ec00
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019ec2a
add rcx, 0xa0
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019ec76
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019ec66
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019ec66
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019ec81
inc ecx
inc rax
cmp rax, 6
jl 0x14019ec54
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x118]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019ecb0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019ecda
add rcx, 0x148
call fcn.14015df10
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019ed26
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019ed16
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019ed16
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019ed31
inc ecx
inc rax
cmp rax, 6
jl 0x14019ed04
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x230]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019ed60
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019ed87
add rcx, 0x50
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019edd3
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019edc3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019edc3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019edde
inc ecx
inc rax
cmp rax, 6
jl 0x14019edb1
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xc8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019ee10
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019ee37
add rcx, 0x60
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019ee83
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019ee73
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019ee73
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019ee8e
inc ecx
inc rax
cmp rax, 6
jl 0x14019ee61
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xd8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019eec0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019eeff
lea rbx, [rax + 0x48]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14019eef7
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], 0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019ef52
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019ef42
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019ef42
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019ef5d
inc ecx
inc rax
cmp rax, 6
jl 0x14019ef30
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xa8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019ef80
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019efbf
lea rbx, [rax + 0x58]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14019efb7
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], 0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f012
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f002
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f002
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019f01d
inc ecx
inc rax
cmp rax, 6
jl 0x14019eff0
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xb8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019f040
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019f0b3
mov qword [rsp + 0x30], rbp
lea rbp, [rax + 0x20]
mov rbx, qword [rbp + 0x60]
test rbx, rbx
je 0x14019f09e
mov qword [rsp + 0x38], rsi
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14019f099
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x14019f099
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rsp + 0x38]
mov rcx, rbp
call fcn.14015da70
mov rbp, qword [rsp + 0x30]
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f102
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f0f2
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f0f2
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019f10d
inc ecx
inc rax
cmp rax, 6
jl 0x14019f0e0
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xa8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x40]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f130
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f15a
add rcx, 0xa0
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f1a6
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f196
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f196
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f1b1
inc ecx
inc rax
cmp rax, 6
jl 0x14019f184
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x120]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f1e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f20a
add rcx, 0x148
call fcn.14015df10
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f256
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f246
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f246
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f261
inc ecx
inc rax
cmp rax, 6
jl 0x14019f234
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x238]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019f290
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f2b7
add rcx, 0x50
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f303
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f2f3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f2f3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f30e
inc ecx
inc rax
cmp rax, 6
jl 0x14019f2e1
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xd0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f340
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f367
add rcx, 0x60
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f3b3
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f3a3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f3a3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f3be
inc ecx
inc rax
cmp rax, 6
jl 0x14019f391
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xe0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f3f0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019f42f
lea rbx, [rax + 0x48]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14019f427
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], 0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f482
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f472
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f472
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019f48d
inc ecx
inc rax
cmp rax, 6
jl 0x14019f460
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xb0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019f4b0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019f4ef
lea rbx, [rax + 0x58]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14019f4e7
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], 0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f542
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f532
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f532
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019f54d
inc ecx
inc rax
cmp rax, 6
jl 0x14019f520
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xc0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f570
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f597
add rcx, 8
call fcn.14015d3e0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f5e3
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f5d3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f5d3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f5ee
inc ecx
inc rax
cmp rax, 6
jl 0x14019f5c1
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xe0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f620
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f647
add rcx, 8
call fcn.14015bee0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f693
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f683
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f683
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f69e
inc ecx
inc rax
cmp rax, 6
jl 0x14019f671
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xc8]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019f6d0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f6f7
add rcx, 8
call fcn.14015dea0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f743
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f733
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f733
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f74e
inc ecx
inc rax
cmp rax, 6
jl 0x14019f721
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xf0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f780
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f7aa
add rcx, 0xd0
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f7f6
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f7e6
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f7e6
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f801
inc ecx
inc rax
cmp rax, 6
jl 0x14019f7d4
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x150]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f830
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f85a
add rcx, 0x178
call fcn.14015df10
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f8a6
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f896
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f896
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f8b1
inc ecx
inc rax
cmp rax, 6
jl 0x14019f884
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x268]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019f8e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f907
sub rcx, 0xffffffffffffff80
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019f953
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f943
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f943
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019f95e
inc ecx
inc rax
cmp rax, 6
jl 0x14019f931
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x100]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019f990
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14019f9ba
add rcx, 0x90
call fcn.14015da70
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019fa06
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019f9f6
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019f9f6
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14019fa11
inc ecx
inc rax
cmp rax, 6
jl 0x14019f9e4
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x110]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret

Function at 0x14019fa40
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019fa7f
lea rbx, [rax + 0x78]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14019fa77
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], 0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019fad2
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019fac2
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019fac2
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019fadd
inc ecx
inc rax
cmp rax, 6
jl 0x14019fab0
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xe0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret
Function at 0x14019fb00
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
mov rdi, rcx
test rax, rax
je 0x14019fb42
lea rbx, [rax + 0x88]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14019fb3a
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], 0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14019fb92
mov ecx, dword [0x1404dc774]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14019fb82
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14019fb82
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14019fb9d
inc ecx
inc rax
cmp rax, 6
jl 0x14019fb70
mov rcx, rbx
call fcn.1403831a0
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xf0]
mov byte [rbx], al
movsxd rax, ecx
mov qword [rdx + rax*8], rbx
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 8], 0
add rsp, 0x20
pop rdi
ret