joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180058c80
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push r12
sub rsp, 0x28
mov rbp, r9
mov rbx, r8
mov r12d, edx
mov rsi, rcx
test rcx, rcx
je 0x180058ee1
test rbx, rbx
je 0x180058ee1
test r9, r9
je 0x180058ee1
mov qword [rsp + 0x58], r13
mov r13d, dword [rsp + 0x70]
mov ecx, r12d
mov edx, r13d
call fcn.180058bd0
cmp dword [rbp], eax
jge 0x180058ce0
xor eax, eax
mov r13, qword [rsp + 0x58]
add rsp, 0x28
pop r12
pop rsi
pop rbp
pop rbx
ret
xor r8d, r8d
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], r14
mov eax, 0x55555556
mov qword [rsp + 0x20], r15
mov edi, r8d
lea r10d, [r8 + 0x13]
mov r9d, r8d
imul r12d
mov r14d, edx
mov eax, 0x6bca1af3
shr r14d, 0x1f
add r14d, edx
lea r15d, [r14*4]
imul r15d
mov r11d, edx
sar r11d, 5
mov eax, r11d
shr eax, 0x1f
add r11d, eax
js 0x180058e25
and r13d, 2
cmp r8d, r11d
jne 0x180058d54
mov eax, r15d
mov ecx, r11d
imul ecx, ecx, 0x4c
sub eax, ecx
cdq
and edx, 3
lea r10d, [rdx + rax]
sar r10d, 2
test r10d, r10d
jle 0x180058de3
mov ebp, r10d
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789___e
nop word [rax + rax]
movzx eax, byte [rsi + 2]
movzx ecx, byte [rsi + 1]
movzx edx, byte [rsi]
shl edx, 8
add rbx, 4
add rsi, 3
or edx, ecx
shl edx, 8
or edx, eax
shl edx, 8
mov eax, edx
shl edx, 6
shr eax, 0x1a
movzx ecx, al
movzx eax, byte [rcx + r15]
mov byte [rbx - 4], al
mov eax, edx
shl edx, 6
shr eax, 0x1a
movzx ecx, al
movzx eax, byte [rcx + r15]
mov byte [rbx - 3], al
mov eax, edx
shr eax, 0x1a
movzx ecx, al
movzx eax, byte [rcx + r15]
mov byte [rbx - 2], al
mov eax, edx
shr eax, 0x14
and eax, 0x3f
dec rbp
movzx eax, byte [rax + r15]
mov byte [rbx - 1], al
jne 0x180058d70
lea r15d, [r14*4]
lea edi, [rdi + r10*4]
test r13d, r13d
jne 0x180058df8
mov word [rbx], 0xa0d
add rbx, 2
add edi, 2
inc r9d
cmp r9d, r11d
jle 0x180058d3b
mov rbp, qword [rsp + 0x68]
test edi, edi
je 0x180058e20
test r13d, r13d
mov r13d, dword [rsp + 0x70]
jne 0x180058e25
sub rbx, 2
sub edi, 2
jmp 0x180058e25
mov r13d, dword [rsp + 0x70]
mov r15, qword [rsp + 0x20]
lea eax, [r14 + r14*2]
mov r14, qword [rsp + 0x60]
sub r12d, eax
je 0x180058ec5
lea r9d, [r12 + 1]
test r9d, r9d
je 0x180058ec5
mov ecx, r8d
nop dword [rax]
cmp ecx, r12d
jge 0x180058e5e
movzx eax, byte [rsi]
or r8d, eax
inc rsi
inc ecx
shl r8d, 8
cmp ecx, 3
jl 0x180058e50
test r9d, r9d
jle 0x180058ea1
mov edx, r9d
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789___e
nop dword [rax + rax]
mov eax, r8d
inc rbx
shl r8d, 6
shr eax, 0x1a
dec rdx
movzx ecx, al
movzx eax, byte [rcx + rbp]
mov byte [rbx - 1], al
jne 0x180058e80
mov rbp, qword [rsp + 0x68]
add edi, r9d
test r13b, 1
jne 0x180058ec5
mov esi, 4
sub esi, r9d
test esi, esi
jle 0x180058ec3
mov r8d, esi
mov dl, 0x3d
mov rcx, rbx
call fcn.18011a1e0
add edi, esi
mov r13, qword [rsp + 0x58]
mov dword [rbp], edi
mov rdi, qword [rsp + 0x50]
mov eax, 1
add rsp, 0x28
pop r12
pop rsi
pop rbp
pop rbx
ret
xor eax, eax
add rsp, 0x28
pop r12
pop rsi
pop rbp
pop rbx
ret
Function at 0x18005b2b0
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x80], rbx
mov rsi, rdx
mov rbx, rcx
xor ebp, ebp
mov dword [rsp + 0x90], ebp
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp eax, 0xffffffff
je 0x18005b384
mov dword [rsp + 0x98], ebp
mov byte [rsp + 0x90], bpl
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rbp
mov edx, edi
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0x38]
call fcn.18004aaa0
nop
mov qword [rsp + 0x20], rbp
lea r9, [rsp + 0x98]
mov r8d, edi
mov rdi, qword [rsp + 0x38]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
test eax, eax
jne 0x18005b360
test rdi, rdi
je 0x18005b38f
mov rcx, rdi
call fcn.1801196dc
jmp 0x18005b38f
lea rax, [rsp + 0x38]
cmp rbx, rax
je 0x18005b382
mov qword [rbx], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
mov rdi, rbp
jmp 0x18005b351
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov rax, rbx
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x18005f6c0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0xc0], rbx
mov rbp, rdx
mov r12, rcx
mov ecx, dword [0x180205148]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov dword [rsp + 0x50], eax
lea edx, [rax + 1]
mov ecx, dword [0x180205148]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov dword [rsp + 0x54], eax
lea edx, [rax + 1]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea ecx, [rsi + rdi]
mov r13, qword [rsp + 0x100]
mov r14d, dword [rsp + 0xf8]
mov r15, qword [rsp + 0xf0]
test ecx, ecx
jne 0x18005f860
lea rdi, [r12 + 0x18]
mov qword [rsp + 0x70], rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
mov ecx, dword [rdi + 4]
cmp ecx, eax
jne 0x18005f77d
mov rbx, qword [rsp + 0x70]
inc dword [rbx]
jmp 0x18005f799
mov rcx, qword [rsp + 0x70]
add rcx, 8
call fcn.180035b50
xchg dword [rdi + 4], ebx
mov rbx, qword [rsp + 0x70]
mov dword [rbx], 1
mov byte [rsp + 0x78], 1
mov rcx, qword [r12 + 0x38]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x31], 0
jne 0x18005f7c8
nop dword [rax]
cmp qword [rax + 0x18], rbp
jae 0x18005f7bc
mov rax, qword [rax + 0x10]
jmp 0x18005f7c2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x31], 0
je 0x18005f7b0
mov qword [rsp + 0x58], rcx
mov rax, qword [r12 + 0x38]
cmp rcx, rax
je 0x18005f7e4
cmp rbp, qword [rcx + 0x18]
jb 0x18005f7e4
lea rdx, [rsp + 0x58]
jmp 0x18005f7ee
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
mov rdx, qword [rdx]
cmp rdx, rax
je 0x18005f81b
add rdx, 0x20
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, r15
mov rcx, r12
call fcn.18005ecd0
nop
dec dword [rbx]
jne 0x18005f858
xor eax, eax
xchg dword [rdi + 4], eax
mov rcx, qword [rsp + 0x70]
add rcx, 8
mov eax, 0x80000000
lock xadd dword [rcx], eax
bt eax, 0x1e
jb 0x18005f858
cmp eax, 0x80000000
jle 0x18005f858
lock bts dword [rcx], 0x1e
jb 0x18005f858
call fcn.180035ad0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov edi, dword [rsp + 0x50]
mov esi, dword [rsp + 0x54]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xd0]
mov rdx, rbp
mov rcx, qword [r12 + 0x10]
call fcn.1800785f0
mov ebx, eax
mov edx, esi
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, edi
mov ecx, dword [0x180205148]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, ebx
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x18007b220
Capabilities:
Set thread local storage value

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 4]
mov rbx, rcx
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, dword [rbx]
mov ecx, dword [0x1802052bc]
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_TlsSetValue]

Function at 0x180084930
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor r13d, r13d
mov dword [rsp + 0x88], r13d
mov ecx, dword [0x1802052bc]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov dword [rsp + 0x88], eax
lea edx, [rax + 1]
mov ecx, dword [0x1802052bc]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12, rax
mov dword [rsp + 0x8c], eax
lea edx, [rax + 1]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea ecx, [rbp + r12]
test ecx, ecx
je 0x1800849cb
mov qword [rbx + 0x18], 7
mov qword [rbx + 0x10], r13
mov word [rbx], r13w
jmp 0x180084a57
cmp rdi, 0xffffffffffffffff
je 0x180084a49
lea rdi, [rsi + 0x70]
mov qword [rsp + 0x30], rdi
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.180082a30
mov byte [rsp + 0x38], 1
lea rcx, [rsi + 0x38]
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x20]
call fcn.18007bee0
mov rdx, qword [rsp + 0x20]
cmp rdx, qword [rsi + 0x40]
je 0x180084a41
add rdx, 0x20
mov rcx, rbx
call fcn.180016ce0
nop
mov rcx, rdi
call fcn.18007b3b0
nop
lea rcx, [rsp + 0x88]
call fcn.18007b220
jmp 0x180084a74
mov rcx, rdi
call fcn.18007b3b0
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.180016a60
nop
mov edx, r12d
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, ebp
mov ecx, dword [0x1802052bc]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rax, rbx
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180085cc0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rbx, rdx
mov r12, rcx
mov ecx, dword [0x1802052bc]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov dword [rsp + 0x90], eax
lea edx, [rax + 1]
mov ecx, dword [0x1802052bc]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov dword [rsp + 0x94], eax
lea edx, [rax + 1]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
cmp rbx, 0xffffffffffffffff
je 0x180085df0
lea ecx, [rdi + rsi]
test ecx, ecx
jne 0x180085df0
lea rbx, [r12 + 0x70]
mov qword [rsp + 0x28], rbx
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.180082a30
mov byte [rsp + 0x30], 1
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x98]
lea rcx, [r12 + 0x38]
call fcn.18007bee0
mov r11, qword [r12 + 0x40]
cmp qword [rsp + 0x98], r11
je 0x180085de0
lea rcx, [rsp + 0x28]
call fcn.18007cce0
mov qword [rsp + 0x38], rbx
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x38]
call fcn.1800838c0
nop
lea rdx, [rsp + 0x88]
lea rcx, [r12 + 0x38]
call fcn.1800825b0
nop
cmp byte [rsp + 0x40], 0
je 0x180085ddb
mov rcx, qword [rsp + 0x38]
call fcn.18007b460
mov rbx, qword [rsp + 0x28]
cmp byte [rsp + 0x30], 0
je 0x180085df0
mov rcx, rbx
call fcn.18007b3b0
nop
mov edx, esi
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, edi
mov ecx, dword [0x1802052bc]
add rsp, 0x50
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [sym.imp.KERNEL32.dll_TlsSetValue]
Function at 0x18008e430
Capabilities:
Copy file
Delete file

Disassembly:
push rbx
sub rsp, 0x60
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rax, qword [0x1801fdc38]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, rcx
cmp byte [rcx + 0x30], 0
je 0x18008e4e1
mov byte [rcx + 0x30], 0
mov rdx, qword [rcx + 0x20]
add rdx, 0x58
lea r8, str..check
lea rcx, [rsp + 0x28]
call fcn.180007ee0
nop
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rdx, qword [rsp + 0x28]
mov rcx, qword [rbx + 0x20]
add rcx, 0x58
cmp qword [rcx + 0x18], 8
jb 0x18008e49c
mov rcx, qword [rcx]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x18008e4cf
lea rdx, [rsp + 0x28]
mov rcx, qword [rbx + 0x20]
call fcn.18008e0a0
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
cmp qword [rsp + 0x40], 8
jb 0x18008e4e1
mov rcx, qword [rsp + 0x28]
call fcn.1801196dc
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180119820
add rsp, 0x60
pop rbx
ret
push rbx
sub rsp, 0x30
mov rdx, qword [rcx + 0x18]
mov rbx, rcx
mov rcx, qword [rcx + 8]
xor eax, eax
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call fcn.180091500
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x18008e430

Function at 0x18008e500
Capabilities:
Copy file
Delete file

Disassembly:
push rbx
sub rsp, 0x60
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rax, qword [0x1801fdc38]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, rcx
cmp byte [rcx + 0x30], 0
je 0x18008e4e1
mov byte [rcx + 0x30], 0
mov rdx, qword [rcx + 0x20]
add rdx, 0x58
lea r8, str..check
lea rcx, [rsp + 0x28]
call fcn.180007ee0
nop
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rdx, qword [rsp + 0x28]
mov rcx, qword [rbx + 0x20]
add rcx, 0x58
cmp qword [rcx + 0x18], 8
jb 0x18008e49c
mov rcx, qword [rcx]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x18008e4cf
lea rdx, [rsp + 0x28]
mov rcx, qword [rbx + 0x20]
call fcn.18008e0a0
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
cmp qword [rsp + 0x40], 8
jb 0x18008e4e1
mov rcx, qword [rsp + 0x28]
call fcn.1801196dc
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180119820
add rsp, 0x60
pop rbx
ret
push rbx
sub rsp, 0x30
mov rdx, qword [rcx + 0x18]
mov rbx, rcx
mov rcx, qword [rcx + 8]
xor eax, eax
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call fcn.180091500
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp 0x18008e430
Function at 0x1800952f0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3f]
sub rsp, 0xc0
mov qword [rbp - 0x61], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r13, rdx
mov r12, rcx
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov dword [rbp - 0x69], eax
lea edx, [rax + 1]
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov dword [rbp - 0x65], eax
lea edx, [rax + 1]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea ecx, [rsi + rdi]
mov r14, qword [rbp + 0x87]
mov r15d, dword [rbp + 0x7f]
test ecx, ecx
jne 0x180095468
lea rcx, [r12 + 0x20]
mov qword [rbp - 0x59], rcx
mov byte [rbp - 0x51], 0
call fcn.1800944f0
mov byte [rbp - 0x51], 1
mov r8, r13
lea rdx, [rbp - 0x49]
mov rcx, r12
call fcn.180093d30
nop
cmp qword [rbp - 0x49], 0
je 0x1800953f4
lea rax, [rbp - 0x59]
mov qword [rbp - 0x39], rax
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x31]
call fcn.180093840
nop
mov r9, r14
mov r8d, r15d
mov rdx, qword [rbp + 0x77]
mov rcx, qword [rbp - 0x49]
call fcn.18008d610
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x1800953e5
lea rdx, [rbp - 0x31]
call fcn.180093a30
cmp byte [rbp - 0x29], 0
je 0x1800953f4
mov rcx, qword [rbp - 0x31]
call fcn.18007b460
cmp byte [rbp - 0x51], 0
jne 0x18009541f
lea rcx, [rbp - 0x21]
call fcn.180119da0
mov dword [rbp - 9], 0
lea rax, vtable.boost::lock_error.0
mov qword [rbp - 0x21], rax
lea rcx, [rbp - 0x21]
call fcn.180035490
nop
mov rcx, qword [rbp - 0x59]
call fcn.180093670
mov byte [rbp - 0x51], 0
mov rbx, qword [rbp - 0x41]
test rbx, rbx
je 0x180095459
lock dec dword [rbx + 8]
jne 0x180095453
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lock dec dword [rbx + 0xc]
jne 0x180095453
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov edi, dword [rbp - 0x69]
mov esi, dword [rbp - 0x65]
cmp byte [rbp - 0x51], 0
je 0x180095468
mov rcx, qword [rbp - 0x59]
call fcn.180093670
mov rax, qword [rbp + 0x8f]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], r15d
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x6f]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x5f]
mov r8, qword [rbp + 0x57]
mov rdx, r13
mov rcx, qword [r12 + 0x60]
call fcn.180078570
mov ebx, eax
mov edx, esi
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, edi
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, ebx
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1800956a0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0xa0
mov qword [rbp - 0x41], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov r14, r9
mov r13, rdx
mov r12, rcx
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov dword [rbp - 0x49], eax
lea edx, [rax + 1]
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov dword [rbp - 0x45], eax
lea edx, [rax + 1]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea ecx, [rsi + rdi]
mov r15d, dword [rbp + 0x7f]
test ecx, ecx
jne 0x180095816
lea rcx, [r12 + 0x20]
mov qword [rbp - 0x39], rcx
mov byte [rbp - 0x31], 0
call fcn.1800944f0
mov byte [rbp - 0x31], 1
mov r8, r13
lea rdx, [rbp - 0x29]
mov rcx, r12
call fcn.180093d30
nop
cmp qword [rbp - 0x29], 0
je 0x1800957a2
lea rax, [rbp - 0x39]
mov qword [rbp - 0x19], rax
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x11]
call fcn.180093840
nop
mov r9d, r15d
mov r8d, dword [rbp + 0x77]
mov rdx, r14
mov rcx, qword [rbp - 0x29]
call fcn.18008d660
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x180095793
lea rdx, [rbp - 0x11]
call fcn.180093a30
cmp byte [rbp - 9], 0
je 0x1800957a2
mov rcx, qword [rbp - 0x11]
call fcn.18007b460
cmp byte [rbp - 0x31], 0
jne 0x1800957cd
lea rcx, [rbp - 1]
call fcn.180119da0
mov dword [rbp + 0x17], 0
lea rax, vtable.boost::lock_error.0
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
call fcn.180035490
nop
mov rcx, qword [rbp - 0x39]
call fcn.180093670
mov byte [rbp - 0x31], 0
mov rbx, qword [rbp - 0x21]
test rbx, rbx
je 0x180095807
lock dec dword [rbx + 8]
jne 0x180095801
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lock dec dword [rbx + 0xc]
jne 0x180095801
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov edi, dword [rbp - 0x49]
mov esi, dword [rbp - 0x45]
cmp byte [rbp - 0x31], 0
je 0x180095816
mov rcx, qword [rbp - 0x39]
call fcn.180093670
mov dword [rsp + 0x28], r15d
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x20], eax
mov r9, r14
mov r8, qword [rbp + 0x67]
mov rdx, r13
mov rcx, qword [r12 + 0x60]
call fcn.180091510
mov ebx, eax
mov edx, esi
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, edi
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, ebx
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
Function at 0x180095880
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3f]
sub rsp, 0xd0
mov qword [rbp - 0x61], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r13, rdx
mov r12, rcx
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov dword [rbp - 0x69], eax
lea edx, [rax + 1]
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov dword [rbp - 0x65], eax
lea edx, [rax + 1]
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
lea ecx, [rsi + rdi]
movzx r14d, byte [rbp + 0x97]
mov r15, qword [rbp + 0x7f]
test ecx, ecx
jne 0x1800959fa
lea rcx, [r12 + 0x20]
mov qword [rbp - 0x59], rcx
mov byte [rbp - 0x51], 0
call fcn.1800944f0
mov byte [rbp - 0x51], 1
mov r8, r13
lea rdx, [rbp - 0x49]
mov rcx, r12
call fcn.180093d30
nop
cmp qword [rbp - 0x49], 0
je 0x180095986
lea rax, [rbp - 0x59]
mov qword [rbp - 0x39], rax
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x31]
call fcn.180093840
nop
movzx r9d, r14b
mov r8, r15
mov rdx, qword [rbp + 0x77]
mov rcx, qword [rbp - 0x49]
call fcn.18008d6a0
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x180095977
lea rdx, [rbp - 0x31]
call fcn.180093a30
cmp byte [rbp - 0x29], 0
je 0x180095986
mov rcx, qword [rbp - 0x31]
call fcn.18007b460
cmp byte [rbp - 0x51], 0
jne 0x1800959b1
lea rcx, [rbp - 0x21]
call fcn.180119da0
mov dword [rbp - 9], 0
lea rax, vtable.boost::lock_error.0
mov qword [rbp - 0x21], rax
lea rcx, [rbp - 0x21]
call fcn.180035490
nop
mov rcx, qword [rbp - 0x59]
call fcn.180093670
mov byte [rbp - 0x51], 0
mov rbx, qword [rbp - 0x41]
test rbx, rbx
je 0x1800959eb
lock dec dword [rbx + 8]
jne 0x1800959e5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lock dec dword [rbx + 0xc]
jne 0x1800959e5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov edi, dword [rbp - 0x69]
mov esi, dword [rbp - 0x65]
cmp byte [rbp - 0x51], 0
je 0x1800959fa
mov rcx, qword [rbp - 0x59]
call fcn.180093670
mov byte [rsp + 0x50], r14b
movzx eax, byte [rbp + 0x8f]
mov byte [rsp + 0x48], al
mov rax, qword [rbp + 0x87]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov rax, qword [rbp + 0x77]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x6f]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x5f]
mov r8, qword [rbp + 0x57]
mov rdx, r13
mov rcx, qword [r12 + 0x60]
call fcn.180091550
mov ebx, eax
mov edx, esi
mov ecx, dword [0x180209190]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, edi
mov ecx, dword [0x180205394]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, ebx
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret