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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012b79d
lea rcx, [rbx + 0x1b8]
cmp qword [rcx + 0x20], 0
je 0x14012b76e
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x148]
cmp byte [rcx + 0x38], 0
je 0x14012b78c
cmp qword [rcx + 0x20], 0
je 0x14012b78c
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x10]
call fcn.1400df380
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012b7e9
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012b7d9
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012b7d9
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012b7f4
inc ecx
inc rax
cmp rax, 6
jl 0x14012b7c7
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x1f8]
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 0x14012b820
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 0x14012b847
add rcx, 8
call fcn.1400e2900
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012b893
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012b883
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012b883
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012b89e
inc ecx
inc rax
cmp rax, 6
jl 0x14012b871
mov rcx, rbx
call fcn.1401c23c4
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 0x14012b8d0
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 0x14012b8f7
add rcx, 8
call fcn.1400e2970
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012b943
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012b933
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012b933
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012b94e
inc ecx
inc rax
cmp rax, 6
jl 0x14012b921
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x2b8]
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 0x14012b980
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 0x14012b9a7
add rcx, 8
call fcn.1400e29e0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012b9f3
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012b9e3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012b9e3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012b9fe
inc ecx
inc rax
cmp rax, 6
jl 0x14012b9d1
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x290]
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 0x14012ba30
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14012ba72
lea rbx, [rax + 8]
lea rcx, [rbx + 0xf8]
cmp qword [rcx + 0x20], 0
je 0x14012ba62
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
mov rcx, rbx
call fcn.1400df300
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012bac2
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012bab2
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012bab2
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14012bacd
inc ecx
inc rax
cmp rax, 6
jl 0x14012baa0
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x140]
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 0x14012baf0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14012bb32
lea rbx, [rax + 8]
lea rcx, [rbx + 0x138]
cmp qword [rcx + 0x20], 0
je 0x14012bb22
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
mov rcx, rbx
call fcn.1400df380
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012bb82
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012bb72
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012bb72
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14012bb8d
inc ecx
inc rax
cmp rax, 6
jl 0x14012bb60
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x180]
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 0x14012bbb0
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 0x14012bbd7
add rcx, 8
call fcn.1400e2ab0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012bc23
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012bc13
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012bc13
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012bc2e
inc ecx
inc rax
cmp rax, 6
jl 0x14012bc01
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x1d0]
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 0x14012bc60
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 0x14012bc87
add rcx, 8
call fcn.1400e2b20
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012bcd3
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012bcc3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012bcc3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012bcde
inc ecx
inc rax
cmp rax, 6
jl 0x14012bcb1
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x1a8]
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 0x14012bd10
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 0x14012bd37
add rcx, 8
call fcn.1400e2b90
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012bd83
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012bd73
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012bd73
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012bd8e
inc ecx
inc rax
cmp rax, 6
jl 0x14012bd61
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xa0]
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 0x14012bdc0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012be20
lea rcx, [rbx + 0x178]
cmp qword [rcx + 0x20], 0
je 0x14012bdee
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
mov rcx, qword [rbx + 0x120]
test rcx, rcx
je 0x14012be0f
mov eax, 0xffffffff
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x14012be0f
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rbx + 8]
call fcn.1400ddf00
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012be72
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012be62
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012be62
mov ecx, 4
mov eax, ecx
nop word [rax + rax]
cmp qword [rdx + rax*8], 0
je 0x14012be7d
inc ecx
inc rax
cmp rax, 6
jl 0x14012be50
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x1b8]
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 0x14012bea0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012befd
lea rcx, [rbx + 0x200]
cmp qword [rcx + 0x20], 0
je 0x14012bece
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x190]
cmp byte [rcx + 0x38], 0
je 0x14012beec
cmp qword [rcx + 0x20], 0
je 0x14012beec
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x10]
call fcn.1400e1fe0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012bf49
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012bf39
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012bf39
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012bf54
inc ecx
inc rax
cmp rax, 6
jl 0x14012bf27
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x240]
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 0x14012bf80
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012bfdd
lea rcx, [rbx + 0x1d8]
cmp qword [rcx + 0x20], 0
je 0x14012bfae
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x168]
cmp byte [rcx + 0x38], 0
je 0x14012bfcc
cmp qword [rcx + 0x20], 0
je 0x14012bfcc
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x10]
call fcn.1400e2070
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c029
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c019
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c019
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012c034
inc ecx
inc rax
cmp rax, 6
jl 0x14012c007
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x218]
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 0x14012c060
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 0x14012c087
add rcx, 8
call fcn.1400e2cf0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c0d3
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c0c3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c0c3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012c0de
inc ecx
inc rax
cmp rax, 6
jl 0x14012c0b1
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x138]
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 0x14012c110
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 0x14012c137
add rcx, 8
call fcn.1400e2d60
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c183
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c173
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c173
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14012c18e
inc ecx
inc rax
cmp rax, 6
jl 0x14012c161
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x140]
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 0x14012c1c0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c23b
mov rcx, qword [rbx + 0x180]
test rcx, rcx
je 0x14012c1e8
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
lea rcx, [rbx + 0x148]
cmp qword [rcx + 0x20], 0
je 0x14012c200
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0xd0]
call fcn.1400dca20
lea rcx, [rbx + 0x58]
call fcn.1400de2f0
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x14012c233
mov eax, 0xffffffff
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x14012c233
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c284
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c274
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c274
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c28f
inc ecx
inc rax
cmp rax, 2
jl 0x14012c262
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x188]
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 0x14012c2c0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c33b
mov rcx, qword [rbx + 0x158]
test rcx, rcx
je 0x14012c2e8
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
lea rcx, [rbx + 0x120]
cmp qword [rcx + 0x20], 0
je 0x14012c300
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0xd0]
call fcn.1400dcad0
lea rcx, [rbx + 0x58]
call fcn.1400de2f0
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x14012c333
mov eax, 0xffffffff
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x14012c333
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c384
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c374
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c374
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c38f
inc ecx
inc rax
cmp rax, 2
jl 0x14012c362
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x160]
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 0x14012c3c0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c3fc
lea rcx, [rbx + 0x78]
cmp qword [rcx + 0x20], 0
je 0x14012c3eb
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x50]
call fcn.1400dc360
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c445
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c435
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c435
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c450
inc ecx
inc rax
cmp rax, 2
jl 0x14012c423
mov rcx, rbx
call fcn.1401c23c4
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 qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14012c480
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c4bf
lea rcx, [rbx + 0xb0]
cmp qword [rcx + 0x20], 0
je 0x14012c4ae
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x50]
call fcn.1400dc6e0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c508
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c4f8
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c4f8
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c513
inc ecx
inc rax
cmp rax, 2
jl 0x14012c4e6
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0xe8]
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 0x14012c540
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c57f
lea rcx, [rbx + 0xf0]
cmp qword [rcx + 0x20], 0
je 0x14012c56e
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x50]
call fcn.1400dc780
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c5c8
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c5b8
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c5b8
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c5d3
inc ecx
inc rax
cmp rax, 2
jl 0x14012c5a6
mov rcx, rbx
call fcn.1401c23c4
mov qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rbx + 0x128]
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 0x14012c600
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c63f
lea rcx, [rbx + 0xc8]
cmp qword [rcx + 0x20], 0
je 0x14012c62e
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x50]
call fcn.1400dc820
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c688
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c678
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c678
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c693
inc ecx
inc rax
cmp rax, 2
jl 0x14012c666
mov rcx, rbx
call fcn.1401c23c4
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 qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14012c6c0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c6ff
lea rcx, [rbx + 0xc8]
cmp qword [rcx + 0x20], 0
je 0x14012c6ee
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x50]
call fcn.1400dc8c0
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c748
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c738
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c738
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c753
inc ecx
inc rax
cmp rax, 2
jl 0x14012c726
mov rcx, rbx
call fcn.1401c23c4
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 qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14012c780
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14012c7bf
lea rcx, [rbx + 0x88]
cmp qword [rcx + 0x20], 0
je 0x14012c7ae
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
call rdx
nop
lea rcx, [rbx + 0x50]
call fcn.1400dc960
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14012c808
mov ecx, dword [0x1403509d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14012c7f8
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14012c7f8
xor ecx, ecx
xor eax, eax
cmp qword [rdx + rax*8], 0
je 0x14012c813
inc ecx
inc rax
cmp rax, 2
jl 0x14012c7e6
mov rcx, rbx
call fcn.1401c23c4
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 qword [rdi + 8], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret