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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x140
mov rbx, rdx
mov rdi, rcx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
xor r14d, r14d
mov qword [rsp + 0x78], r14
mov rcx, qword [rdx + 0x48]
test rcx, rcx
je 0x140182c35
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax]
mov qword [rsp + 0x78], rax
mov rdx, rdi
lea rcx, [rsp + 0x80]
call fcn.140181150
nop
mov rbp, qword [rbx]
lea rsi, [rbx + 8]
mov rbx, qword [rsi]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140182c73
cmp qword [rax], rbx
je 0x140182d53
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140182c61
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xd0]
mov ecx, 0x128
call fcn.140131790
mov rdi, rax
mov qword [rax + 0x20], r14
lea rax, [0x1401873a0]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x38]
call fcn.140151ee0
lea rcx, [rdi + 0x78]
lea rdx, [rsp + 0x80]
call fcn.140181150
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140138550
nop
lea rcx, [rsp + 0x20]
call fcn.140187300
nop
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x140182d20
mov rax, qword [rcx]
lea rdx, [rsp + 0xd0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rsp + 0x108], r14
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140182d3b
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
cmp qword [rax + 8], 0
je 0x140182c73
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140189c00
nop
jmp 0x140182cf7
Function at 0x140182d80
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x140
mov rbx, rdx
mov rdi, rcx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
xor r14d, r14d
mov qword [rsp + 0x78], r14
mov rcx, qword [rdx + 0x48]
test rcx, rcx
je 0x140182dc5
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax]
mov qword [rsp + 0x78], rax
mov rdx, rdi
lea rcx, [rsp + 0x80]
call fcn.1401810b0
nop
mov rbp, qword [rbx]
lea rsi, [rbx + 8]
mov rbx, qword [rsi]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140182e03
cmp qword [rax], rbx
je 0x140182ee3
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140182df1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xd0]
mov ecx, 0x130
call fcn.140131790
mov rdi, rax
mov qword [rax + 0x20], r14
lea rax, [0x140187130]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x38]
call fcn.140151ee0
lea rcx, [rdi + 0x78]
lea rdx, [rsp + 0x80]
call fcn.1401810b0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140138550
nop
lea rcx, [rsp + 0x20]
call fcn.140187090
nop
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x140182eb0
mov rax, qword [rcx]
lea rdx, [rsp + 0xd0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rsp + 0x108], r14
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140182ecb
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
cmp qword [rax + 8], 0
je 0x140182e03
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140189c50
nop
jmp 0x140182e87

Function at 0x140183050
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 0x14018308f
lea rbx, [rax + 0x48]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140183087
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 0x1401830e2
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1401830d2
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1401830d2
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x1401830ed
inc ecx
inc rax
cmp rax, 6
jl 0x1401830c0
mov rcx, rbx
call fcn.14035b978
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 0x140183110
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 0x14018314f
lea rbx, [rax + 0x48]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140183147
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 0x1401831a2
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183192
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183192
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x1401831ad
inc ecx
inc rax
cmp rax, 6
jl 0x140183180
mov rcx, rbx
call fcn.14035b978
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 0x1401831d0
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 0x14018320f
lea rbx, [rax + 0x58]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140183207
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 0x140183262
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183252
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183252
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14018326d
inc ecx
inc rax
cmp rax, 6
jl 0x140183240
mov rcx, rbx
call fcn.14035b978
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 0x140183290
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 0x1401832cf
lea rbx, [rax + 0x58]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1401832c7
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 0x140183322
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183312
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183312
mov ecx, 4
mov eax, ecx
nop dword [rax]
cmp qword [rdx + rax*8], 0
je 0x14018332d
inc ecx
inc rax
cmp rax, 6
jl 0x140183300
mov rcx, rbx
call fcn.14035b978
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 0x140183350
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 0x140183377
add rcx, 0x50
call fcn.14013b150
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1401833c3
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1401833b3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1401833b3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x1401833ce
inc ecx
inc rax
cmp rax, 6
jl 0x1401833a1
mov rcx, rbx
call fcn.14035b978
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 0x140183400
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 0x140183427
add rcx, 0x50
call fcn.14013b150
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140183473
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183463
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183463
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14018347e
inc ecx
inc rax
cmp rax, 6
jl 0x140183451
mov rcx, rbx
call fcn.14035b978
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 0x1401834b0
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 0x1401834d7
add rcx, 0x60
call fcn.14013b150
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140183523
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183513
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183513
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14018352e
inc ecx
inc rax
cmp rax, 6
jl 0x140183501
mov rcx, rbx
call fcn.14035b978
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 0x140183560
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 0x140183587
add rcx, 0x60
call fcn.14013b150
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1401835d3
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1401835c3
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1401835c3
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x1401835de
inc ecx
inc rax
cmp rax, 6
jl 0x1401835b1
mov rcx, rbx
call fcn.14035b978
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 0x140183610
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 0x140183637
add rcx, 8
call fcn.14016ac20
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140183683
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183673
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183673
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x14018368e
inc ecx
inc rax
cmp rax, 6
jl 0x140183661
mov rcx, rbx
call fcn.14035b978
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 0x1401839d0
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 0x1401839f7
add rcx, 8
call fcn.140172f20
mov qword [rdi + 0x10], 0
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140183a43
mov ecx, dword [0x14049b838]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140183a33
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140183a33
mov ecx, 4
mov eax, ecx
cmp qword [rdx + rax*8], 0
je 0x140183a4e
inc ecx
inc rax
cmp rax, 6
jl 0x140183a21
mov rcx, rbx
call fcn.14035b978
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 0x140183a80
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xe0
mov rsi, rdx
mov rbx, rcx
xor ebp, ebp
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x40], rax
lea rdx, [rcx + 0x18]
lea rcx, [rsp + 0x48]
call fcn.14016ada0
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xa0], xmm0
mov rax, qword [rbx + 0x78]
test rax, rax
je 0x14017ea7f
lock inc dword [rax + 8]
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xb0], xmm0
movsd xmm1, qword [rsi + 0x10]
movsd qword [rsp + 0xc0], xmm1
mov rsi, qword [rbx]
lea rdi, [rbx + 8]
mov rbx, qword [rdi]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14017eae2
nop dword [rax + rax]
cmp qword [rax], rbx
je 0x14017ebd6
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14017ead0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x40]
mov ecx, 0xc8
call fcn.140131790
mov rbx, rax
mov qword [rax + 0x20], rbp
lea rax, [0x140185d20]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x38], rax
lea rcx, [rbx + 0x40]
lea rdx, [rsp + 0x48]
call fcn.140151e60
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0xa8], xmm0
movsd xmm1, qword [rsp + 0xc0]
movsd qword [rbx + 0xb8], xmm1
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.140138550
nop
lea rcx, [rsp + 0x28]
call fcn.140185c80
nop
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x14017ebb3
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14017ebb3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14017ebb3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x48]
call fcn.14013b150
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
cmp qword [rax + 8], 0
je 0x14017eae2
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140178570
nop
jmp 0x14017eb7a
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
add rcx, 0x70
lea rdx, [rcx + 0x80]
add rsp, 0x28
jmp 0x14017ea30
Function at 0x140183ab0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x100
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor ebp, ebp
lea rdx, [rcx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.140178f20
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0xb8], xmm0
movsd xmm1, qword [rbx + 0x10]
movsd qword [rsp + 0xc8], xmm1
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xd0], xmm0
mov rax, qword [rdi + 8]
test rax, rax
je 0x14017e8ca
lock inc dword [rax + 8]
mov rax, qword [rdi]
mov qword [rsp + 0xd0], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0xe0], rax
mov rdi, qword [rsi]
mov rbx, qword [rsi + 8]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14017e917
cmp qword [rax], rbx
je 0x14017ea08
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14017e905
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x40]
mov ecx, 0xe8
call fcn.140131790
mov rbx, rax
mov qword [rax + 0x20], rbp
lea rax, [0x140185ee0]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x40]
call fcn.14017aad0
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
mov r8, rbx
lea rdx, [rsi + 8]
mov rcx, rdi
call fcn.140138550
nop
mov edi, 0xffffffff
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
je 0x14017e9b7
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14017e9b7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14017e9b7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x14017e9eb
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14017e9eb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14017e9eb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x48]
call fcn.14013b150
mov rbx, qword [rsp + 0x128]
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret
cmp qword [rax + 8], 0
je 0x14017e917
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.140178590
nop
jmp 0x14017e97c
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
add rcx, 0x78
lea r8, [rcx + 0xa0]
lea rdx, [rcx + 0x88]
add rsp, 0x28
jmp 0x14017e870
Function at 0x1401862e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x40
lea rbx, [rcx + 0x50]
mov rbp, qword [rcx + 0x40]
lea rsi, [rcx + 0x48]
mov rdi, qword [rsi]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14018632e
nop dword [rax]
cmp qword [rax], rdi
je 0x1401863a2
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140186320
mov qword [rsp + 0x20], rbx
mov rdx, rbx
mov ecx, 0x80
call fcn.140131790
mov rdi, rax
xor r14d, r14d
mov qword [rax + 0x20], r14
lea rax, [0x140173870]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rcx, [rdi + 0x38]
mov rdx, rbx
call fcn.140151ee0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140138550
nop
lea rcx, [rsp + 0x20]
call fcn.140173800
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp qword [rax + 8], 0
je 0x14018632e
mov rdx, rbx
mov rcx, rbx
call fcn.14017a2f0
nop
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1401868e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x1c0
mov rdi, rdx
mov rbx, rcx
mov rax, qword [rdx + 0x88]
mov qword [rsp + 0x40], rax
add rdx, 0x90
lea rcx, [rsp + 0x48]
call fcn.14016ae30
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.1401861b0
movups xmm0, xmmword [rbx + 0xf0]
movups xmmword [rsp + 0x198], xmm0
movsd xmm1, qword [rbx + 0x100]
movsd qword [rsp + 0x1a8], xmm1
mov rbp, qword [rdi + 0x78]
lea rsi, [rdi + 0x80]
mov rbx, qword [rsi]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140186975
cmp qword [rax], rbx
je 0x140186999
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140186967
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rdi, qword [rsp + 0x130]
cmp byte [rdi + 0x400], 0
jne 0x1401869b5
mov byte [rdi + 0x400], 1
jmp 0x1401869c2
cmp qword [rax + 8], 0
je 0x140186975
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.14018b820
nop
jmp 0x140186a4d
mov ecx, 0x1b0
call fcn.14035b61c
mov rdi, rax
xor r14d, r14d
mov qword [rdi + 0x20], r14
lea rax, [0x14018b460]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x38]
call fcn.14016d420
lea rdx, [rsp + 0xa8]
lea rcx, [rdi + 0xa0]
call fcn.1401861b0
movups xmm0, xmmword [rsp + 0x198]
movups xmmword [rdi + 0x190], xmm0
movsd xmm1, qword [rsp + 0x1a8]
movsd qword [rdi + 0x1a0], xmm1
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140138550
nop
lea rcx, [rsp + 0x20]
call fcn.14018b260
nop
lea rcx, [rsp + 0x140]
call fcn.14013b150
lea rcx, [rsp + 0x50]
call fcn.14013b150
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x140186a80
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x1d0
mov rdi, rdx
mov rbx, rcx
mov rax, qword [rdx + 0x88]
mov qword [rsp + 0x40], rax
add rdx, 0x90
lea rcx, [rsp + 0x48]
call fcn.14016ae30
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.1401861b0
movups xmm0, xmmword [rbx + 0xf0]
movups xmmword [rsp + 0x198], xmm0
movsd xmm1, qword [rbx + 0x100]
movsd qword [rsp + 0x1a8], xmm1
mov rax, qword [rbx + 0x108]
mov qword [rsp + 0x1b0], rax
mov rbp, qword [rdi + 0x78]
lea rsi, [rdi + 0x80]
mov rbx, qword [rsi]
mov ecx, dword [0x14049b880]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140186b24
cmp qword [rax], rbx
je 0x140186b48
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140186b16
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rdi, qword [rsp + 0x130]
cmp byte [rdi + 0x400], 0
jne 0x140186b64
mov byte [rdi + 0x400], 1
jmp 0x140186b71
cmp qword [rax + 8], 0
je 0x140186b24
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x40]
call fcn.14018b870
nop
jmp 0x140186c0b
mov ecx, 0x1b8
call fcn.14035b61c
mov rdi, rax
xor r14d, r14d
mov qword [rdi + 0x20], r14
lea rax, [0x14018b2e0]
mov qword [rdi + 0x28], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
mov dword [rdi + 0x30], r14d
lea rdx, [rsp + 0x40]
lea rcx, [rdi + 0x38]
call fcn.14016d420
lea rdx, [rsp + 0xa8]
lea rcx, [rdi + 0xa0]
call fcn.1401861b0
movups xmm0, xmmword [rsp + 0x198]
movups xmmword [rdi + 0x190], xmm0
movsd xmm1, qword [rsp + 0x1a8]
movsd qword [rdi + 0x1a0], xmm1
mov rax, qword [rsp + 0x1b0]
mov qword [rdi + 0x1a8], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.140138550
nop
lea rcx, [rsp + 0x20]
call fcn.14018b260
nop
lea rcx, [rsp + 0x140]
call fcn.14013b150
lea rcx, [rsp + 0x50]
call fcn.14013b150
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret