joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4177c0
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str._pthread_key_dest_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x4177e0
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str._pthread_cancelling_shmem
xor r8d, r8d
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x417800
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str._pthread_concur_shmem
xor r8d, r8d
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x417820
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str._pthread_tls_once_shmem
xor r8d, r8d
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x417840
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init__pthread_tls_shmem]
lea rcx, str._pthread_tls_shmem
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x417860
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init__pthread_key_lock_shmem]
lea rcx, str._pthread_key_lock_shmem
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x417880
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str._pthread_key_max_shmem
xor r8d, r8d
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x4178a0
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str._pthread_key_sch_shmem
xor r8d, r8d
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x4178c0
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.pthr_root_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x4178e0
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.pthr_last_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x417900
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_mtx_pthr_locked_shmem]
lea rcx, str.mtx_pthr_locked_shmem
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x417920
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.idList_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x417940
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.idListCnt_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x417960
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.idListMax_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x417980
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.idListNextId_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab
Function at 0x417c20
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor edi, edi
movabs rsi, 0x1feedbab1
cmp edx, 3
je 0x417c50
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, qword [0x0049d468]
test rax, rax
je 0x417dc0
cmp dword [rax], 0xffffffff
je 0x417c39
mov rax, qword [0x0049d468]
test rax, rax
je 0x417e05
mov ecx, dword [rax]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
mov rbx, rax
je 0x417c39
test byte [rax + 0x40], 0x30
je 0x417d13
mov rcx, qword [rax + 0x1d8]
test rcx, rcx
jne 0x417db0
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x417ccc
mov rbp, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbp
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x417cbc
call rbp
mov qword [rbx + 0x30], 0
mov qword [rbx + 0x28], 0
lea rcx, [rbx + 0x38]
call sym.pthread_mutex_destroy
cmp qword [rbx + 0x1d0], 0
mov qword [rbx + 0x60], rdi
mov qword [rbx + 0x68], rsi
je 0x417e29
mov rax, qword [0x0049d468]
test rax, rax
je 0x417de1
mov ecx, dword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov r9d, dword [rax + 0xbc]
mov rcx, qword [rax + 0x30]
test r9d, r9d
jne 0x417d70
test rcx, rcx
je 0x417d2e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x1d8]
mov qword [rbx + 0x30], 0
mov dword [rbx + 0xbc], 1
test rcx, rcx
jne 0x417da0
test byte [rbx + 0x44], 4
je 0x417d83
mov rcx, qword [rbx + 0x28]
mov dword [rbx], 0xdeadbeef
test rcx, rcx
je 0x417cc4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x417cc4
test rcx, rcx
je 0x417d7b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x30], 0
lea rcx, [rbx + 0x38]
call sym.pthread_mutex_destroy
mov qword [rbx + 0x60], rdi
mov qword [rbx + 0x68], rsi
jmp 0x417c39
call sym._pthread_cleanup_dest.part.2
jmp 0x417d4c
call sym._pthread_cleanup_dest.part.2
jmp 0x417c9f
lea r8, [sym.__shmem_winpthreads_init__pthread_tls_shmem]
lea rcx, str._pthread_tls_shmem
mov dl, 4
call sym.__shmem_winpthreads_grab
mov qword [0x0049d468], rax
jmp 0x417c60
lea r8, [sym.__shmem_winpthreads_init__pthread_tls_shmem]
lea rcx, str._pthread_tls_shmem
mov edx, 4
call sym.__shmem_winpthreads_grab
mov qword [0x0049d468], rax
jmp 0x417cfb
lea r8, [sym.__shmem_winpthreads_init__pthread_tls_shmem]
lea rcx, str._pthread_tls_shmem
mov edx, 4
call sym.__shmem_winpthreads_grab
mov qword [0x0049d468], rax
jmp 0x417c75
mov rcx, rbx
call sym.push_pthread_mem.part.0
jmp 0x417ceb
Function at 0x418230
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.once_obj_shmem
xor r8d, r8d
mov edx, 8
jmp sym.__shmem_winpthreads_grab

Function at 0x418250
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_once_global_shmem]
lea rcx, str.once_global_shmem
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab
Function at 0x419530
Capabilities:
Hijack thread execution

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x4f8
mov rsi, rcx
call sym.__pth_gpointer_locked
test rax, rax
mov rbx, rax
je 0x419559
mov rcx, qword [rax + 0x28]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x419570
mov eax, 3
add rsp, 0x4f8
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rdi, [rsp + 0x20]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x419559
lea rbp, [rbx + 0x38]
mov rcx, rbp
call sym.pthread_mutex_lock
call sym.__pthread_self_lite
test rax, rax
je 0x419715
mov rax, qword [rax + 0x1d8]
cmp rsi, rax
je 0x419613
mov eax, dword [rbx + 0x44]
and eax, 3
cmp eax, 3
movzx eax, byte [rbx + 0x40]
je 0x419670
test al, 3
jne 0x4195fa
and eax, 0xfffffffc
or eax, 1
mov byte [rbx + 0x40], al
mov rax, qword [0x0049d480]
test rax, rax
je 0x41971c
lock add dword [rax], 1
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x4195eb
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rbp
call sym.pthread_mutex_unlock
xor eax, eax
jmp 0x41955e
mov rcx, rbp
call sym.pthread_mutex_unlock
test byte [rbx + 0x40], 0xc
jne 0x419559
xor eax, eax
jmp 0x41955e
movzx eax, byte [rbx + 0x40]
test al, 3
jne 0x4195fa
and eax, 0xfffffffc
or eax, 1
mov byte [rbx + 0x40], al
mov rax, qword [0x0049d480]
test rax, rax
je 0x41973c
lock add dword [rax], 1
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x419647
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [rbx + 0x44]
and eax, 3
cmp eax, 3
jne 0x4195eb
movzx eax, byte [rbx + 0x40]
and dword [rbx + 0x44], 0xfffffffe
mov rcx, rbp
and eax, 0xfffffff3
or eax, 4
mov byte [rbx + 0x40], al
call sym.pthread_mutex_unlock
call sym._pthread_invoke_cancel
test al, 0xc
jne 0x4195fa
test al, 0xf
jne 0x419559
mov rcx, qword [rbx + 0x28]
mov dword [rsp + 0x50], 0x100001
call qword [sym.imp.KERNEL32.dll_SuspendThread]
xor edx, edx
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4195eb
mov rcx, qword [rbx + 0x28]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
lea rax, [sym._pthread_invoke_cancel]
mov rcx, qword [rbx + 0x28]
mov rdx, rdi
mov qword [rsp + 0x118], rax
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
movzx eax, byte [rbx + 0x40]
and dword [rbx + 0x44], 0xfffffffe
and eax, 0xfffffff0
or eax, 5
mov byte [rbx + 0x40], al
mov rax, qword [0x0049d480]
test rax, rax
je 0x41975c
lock add dword [rax], 1
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x4196fe
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rbp
call sym.pthread_mutex_unlock
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
jmp 0x4195eb
xor eax, eax
jmp 0x4195a3
lea rcx, str._pthread_cancelling_shmem
xor r8d, r8d
mov edx, 4
call sym.__shmem_winpthreads_grab
mov qword [0x0049d480], rax
jmp 0x4195d8
lea rcx, str._pthread_cancelling_shmem
xor r8d, r8d
mov edx, 4
call sym.__shmem_winpthreads_grab
mov qword [0x0049d480], rax
jmp 0x419634
lea rcx, str._pthread_cancelling_shmem
xor r8d, r8d
mov edx, 4
call sym.__shmem_winpthreads_grab
mov qword [0x0049d480], rax
jmp 0x4196eb
Function at 0x419780
Capabilities:
Hijack thread execution
Resume thread
Suspend thread

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [0x0049d438]
mov edi, edx
test rcx, rcx
je 0x419860
call sym.pthread_mutex_lock
mov rcx, rbx
call sym.__pthread_get_pointer
test rax, rax
je 0x4197ba
mov rsi, qword [rax + 0x1d8]
cmp rsi, rbx
je 0x4197e0
mov rcx, qword [0x0049d438]
test rcx, rcx
je 0x419830
mov ebx, 3
call sym.pthread_mutex_unlock
mov eax, ebx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
test byte [rax + 0x40], 0xc
jne 0x4197ba
mov ebx, dword [rax + 0xbc]
test ebx, ebx
jne 0x4197ba
mov rax, qword [rax + 0x28]
test rax, rax
je 0x4197ba
cmp rax, 0xffffffffffffffff
je 0x4197ba
mov rcx, qword [0x0049d438]
test rcx, rcx
je 0x419887
call sym.pthread_mutex_unlock
test edi, edi
je 0x4197d0
sub edi, 2
mov ebx, 0x16
cmp edi, 0x15
ja 0x4197d0
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.pthread_cancel
lea rcx, str.mtx_pthr_locked_shmem
lea r8, [sym.__shmem_winpthreads_init_mtx_pthr_locked_shmem]
mov edx, 8
call sym.__shmem_winpthreads_grab
mov qword [0x0049d438], rax
mov rcx, rax
jmp 0x4197c6
lea rcx, str.mtx_pthr_locked_shmem
lea r8, [sym.__shmem_winpthreads_init_mtx_pthr_locked_shmem]
mov edx, 8
call sym.__shmem_winpthreads_grab
mov qword [0x0049d438], rax
mov rcx, rax
jmp 0x41979c
lea rcx, str.mtx_pthr_locked_shmem
lea r8, [sym.__shmem_winpthreads_init_mtx_pthr_locked_shmem]
mov edx, 8
call sym.__shmem_winpthreads_grab
mov qword [0x0049d438], rax
mov rcx, rax
jmp 0x41980b
Function at 0x419b00
Capabilities:
Create thread
Resume thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
xor r15d, r15d
movabs r14, 0x1feedbab1
mov r12, rcx
mov rdi, rdx
mov rbx, r8
mov rsi, r9
call sym.pop_pthread_mem
test rax, rax
mov rbp, rax
je 0x419cc3
test r12, r12
je 0x419b4a
mov rax, qword [rax + 0x1d8]
mov qword [r12], rax
mov qword [rbp + 8], rsi
mov r13, qword [sym.imp.KERNEL32.dll_Sleep]
mov rsi, qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rbp + 0x10], rbx
mov ebx, 1
mov dword [rbp + 0xbc], 0
mov dword [rbp + 0x44], 1
mov qword [rbp + 0x28], 0xffffffffffffffff
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov edx, 1
call rsi
test rax, rax
mov qword [rbp + 0x30], rax
jne 0x419d60
cmp ebx, 1
je 0x419bb1
mov ecx, 0x14
call r13
cmp ebx, 5
je 0x419bc0
add ebx, 1
jmp 0x419b7e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x419bac
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x38], 0xffffffffffffffff
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r14
mov dword [rbp], 0xbab1f00d
mov dword [rbp + 0xc0], 0
test rax, rax
mov dword [rbp + 0xb8], 0
je 0x419ca8
test rdi, rdi
je 0x419da0
mov eax, dword [rdi]
mov rbx, qword [rdi + 0x10]
test al, 8
mov dword [rbp + 0x44], eax
jne 0x419d33
mov eax, dword [rdi + 0x18]
mov edx, ebx
mov dword [rbp + 0xc0], eax
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 4
mov r9, rbp
lea r8, [sym.pthread_create_wrapper]
call qword [sym.imp.msvcrt.dll__beginthreadex]
cmp rax, 0xffffffffffffffff
mov rbx, rax
je 0x419c80
test rax, rax
je 0x419c80
mov edx, dword [rbp + 0xc0]
cmp edx, 0xfffffff2
jl 0x419ce0
cmp edx, 0xffffffff
jl 0x419d50
cmp edx, 0xe
jg 0x419d90
cmp edx, 2
mov eax, 2
cmovge edx, eax
jmp 0x419ce5
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x419c8f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x38]
call sym.pthread_mutex_destroy
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x30], 0
test r12, r12
je 0x419cb5
mov qword [r12], 0
cmp qword [rbp + 0x1d0], 0
je 0x419da7
mov eax, 0xb
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0xfffffff1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test byte [rbp + 0x44], 4
je 0x419d24
mov rcx, rbx
mov qword [rbp + 0x28], 0
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x419cc8
mov qword [rbp + 0x28], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ResumeThread]
jmp 0x419d18
call sym.__pthread_self_lite
mov eax, dword [rax + 0xc0]
mov edx, ebx
mov dword [rbp + 0xc0], eax
jmp 0x419c1d
mov edx, 0xfffffffe
jmp 0x419ce5
mov qword [rbp + 0x38], 0xffffffffffffffff
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r14
mov dword [rbp], 0xbab1f00d
mov dword [rbp + 0xc0], 0
mov dword [rbp + 0xb8], 0
jmp 0x419bf8
mov edx, 0xf
jmp 0x419ce5
xor edx, edx
jmp 0x419c1d
mov rcx, rbp
call sym.push_pthread_mem.part.0
nop
jmp 0x419cc3
Function at 0x41a320
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.dummy_concurrency_level_shmem
xor r8d, r8d
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x41a850
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_mutex_global_shmem]
lea rcx, str.mutex_global_shmem
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab

Function at 0x41a870
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_mutex_global_static_shmem]
lea rcx, str.mutex_global_static_shmem
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab

Function at 0x41a970
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_mxattr_recursive_shmem]
lea rcx, str.mxattr_recursive_shmem
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x41a990
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_mxattr_errorcheck_shmem]
lea rcx, str.mxattr_errorcheck_shmem
mov edx, 4
jmp sym.__shmem_winpthreads_grab

Function at 0x41b3e0
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_cond_locked_shmem_cond]
lea rcx, str.cond_locked_shmem_cond
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab
Function at 0x41c3c0
Capabilities:
Check mutex on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x80]
mov r15, rcx
movsxd r12, edx
mov r13, r8
call sym.strlen
mov r14, rax
lea ebx, [rax + 0xf]
lea eax, [rax + 0x51]
cdqe
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.0040aef0
sub rsp, rax
movsxd rdi, r14d
movabs rax, 0x656d68732d636367
lea rsi, [rsp + 0x20]
lea rcx, [rsp + 0x2f]
mov r8, rdi
mov rdx, r15
mov qword [rsp + 0x20], rax
mov eax, 0x326d
mov dword [rsp + 0x28], 0x64742d6d
mov word [rsp + 0x2c], ax
lea r15d, [r14 + 0x50]
mov byte [rsp + 0x2e], 0x2d
movsxd rbx, ebx
call sym.memcpy
lea rax, [rsi + rdi + 0x10]
movabs rdx, 0x6161616161616161
xor ecx, ecx
mov r8, rsi
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], rdx
mov qword [rax + 0x28], rdx
mov qword [rax + 0x30], rdx
mov qword [rax + 0x38], rdx
movsxd rax, r15d
xor edx, edx
mov byte [rsp + rax + 0x20], 0
mov byte [rsp + rbx + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov byte [rsp + rbx + 0x20], 0x2d
mov rdi, rax
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x41c4a9
int3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindAtomA]
test ax, ax
jne 0x41c542
mov rcx, r12
add r14d, 0x10
call sym.malloc
mov r10d, 0x40
mov rbx, rax
bt rbx, r10
jae 0x41c4e4
mov r11d, r15d
sub r11d, r10d
movsxd r11, r11d
mov byte [rsi + r11], 0x41
sub r10d, 1
jne 0x41c4d0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AddAtomA]
test ax, ax
je 0x41c53f
mov rdx, rsi
movzx ecx, ax
mov r9d, r14d
mov r8d, r15d
call sym.get_ptr_from_atom_1
cmp rax, rbx
mov rsi, rax
je 0x41c559
mov rcx, rbx
call sym.free
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rsi
lea rsp, [rbp - 0x58]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
int3
lea r9d, [r14 + 0x10]
mov rdx, rsi
movzx ecx, ax
mov r8d, r15d
call sym.get_ptr_from_atom_1
mov rsi, rax
jmp 0x41c519
xor edx, edx
mov r8, r12
mov rcx, rbx
call sym.memset
test r13, r13
je 0x41c519
mov rcx, rbx
call r13
jmp 0x41c519

Function at 0x41c5a0
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_spin_locked_shmem]
lea rcx, str.spin_locked_shmem
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab

Function at 0x41d0d0
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_rwl_global_shmem]
lea rcx, str.rwl_global_shmem
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab

Function at 0x41d1a0
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_winpthreads_init_cond_locked_shmem_rwlock]
lea rcx, str.cond_locked_shmem_rwlock
mov edx, 0x10
jmp sym.__shmem_winpthreads_grab

Function at 0x41df10
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_init_init]
lea rcx, str.init
mov edx, 8
jmp dbg.__shmem_grab

Function at 0x41df30
Capabilities:
Check mutex on windows

Disassembly:
lea rcx, str.eh_globals
xor r8d, r8d
mov edx, 0x10
jmp dbg.__shmem_grab
Function at 0x41e5e0
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_init___terminate_handler_sh]
lea rcx, str.__terminate_handler_sh
mov edx, 8
jmp dbg.__shmem_grab

Function at 0x41e600
Capabilities:
Check mutex on windows

Disassembly:
lea r8, [sym.__shmem_init___unexpected_handler_sh]
lea rcx, str.__unexpected_handler_sh
mov edx, 8
jmp dbg.__shmem_grab

Function at 0x41f6e0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov r9, qword [rcx + 0x40]
mov rsi, rdx
mov rbx, rcx
mov edx, 1
mov rcx, rsi
call sym.fread
test rax, rax
jle 0x41f711
movzx edx, byte [rsi + rax - 1]
mov dword [rbx + 0x48], edx
add rsp, 0x28
pop rbx
pop rsi
ret
mov dword [rbx + 0x48], 0xffffffff
add rsp, 0x28
pop rbx
pop rsi
ret

Function at 0x41fe00
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp byte [0x0047edb0], 0
jne 0x41fec8
mov byte [0x0047edb0], 1
call sym.__cxa_current_exception_type
test rax, rax
je 0x41ff5b
mov rax, qword [rax + 8]
xor esi, esi
lea r9, [rsp + 0x2c]
cmp byte [rax], 0x2a
mov dword [rsp + 0x2c], 0xffffffff
sete sil
xor r8d, r8d
xor edx, edx
add rsi, rax
mov rcx, rsi
call sym.__cxa_demangle
mov rbx, qword [sym.imp.msvcrt.dll___iob_func]
mov rdi, rax
call rbx
lea rcx, str.terminate_called_after_throwing_an_instance_of_
lea r9, [rax + 0x60]
mov r8d, 0x30
mov edx, 1
call sym.fwrite
cmp dword [rsp + 0x2c], 0
je 0x41feb8
call rbx
lea rdx, [rax + 0x60]
mov rcx, rsi
call sym.fputs
call rbx
lea rcx, [0x00480251]
lea r9, [rax + 0x60]
mov r8d, 2
mov edx, 1
call sym.fwrite
cmp dword [rsp + 0x2c], 0
je 0x41feee
call sym.__cxa_rethrow
call rbx
lea rdx, [rax + 0x60]
mov rcx, rdi
call sym.fputs
jmp 0x41fe8f
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.terminate_called_recursively_n
lea r9, [rax + 0x60]
mov r8d, 0x1d
mov edx, 1
call sym.fwrite
call sym.abort
mov rcx, rdi
call sym.free
jmp 0x41feb3
call sym.abort
nop dword [rax + rax]
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.terminate_called_without_an_active_exception_n
lea r9, [rax + 0x60]
mov r8d, 0x2d
mov edx, 1
call sym.fwrite
jmp 0x41ff56

Function at 0x44a7f0
Capabilities:
Read file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r12, qword [sym.imp.msvcrt.dll__errno]
mov rbp, rcx
mov rdi, rdx
mov esi, r8d
mov rcx, rbp
call method.std::__basic_file_char_.fd__
mov r8d, esi
mov rdx, rdi
mov ecx, eax
call sym.read
movsxd rbx, eax
cmp rbx, 0xffffffffffffffff
je 0x44a840
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call r12
cmp dword [rax], 4
je 0x44a80a
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x140802058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1408021df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x140802089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14080206f
add dl, dl
jne 0x140802096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1408020f6
xor eax, eax
add dl, dl
jne 0x1408020a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1408021ad
add dl, dl
jne 0x1408020b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408020c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408020d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408020dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1408020ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x14080207e
mov eax, 1
add dl, dl
jne 0x140802106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x140802113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1408020fb
sub eax, ebx
mov ebx, 1
jne 0x14080214c
mov ecx, 1
add dl, dl
jne 0x14080212e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x14080213b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x140802123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14080207e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x140802168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x140802175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14080215d
cmp eax, 0x7d00
jae 0x14080219b
cmp eax, 0x500
jb 0x140802196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14080207e
cmp eax, 0x7f
ja 0x14080219e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14080207e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1408021d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x14080207e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140009c80
Capabilities:
Hash data using sha1 via x86 extensions
Hash data using sha256 via x86 extensions

Disassembly:
movdqa xmm0, xmmword [0x1401b9900]
movdqa xmm1, xmmword [0x1401b9940]
pshufd xmm2, xmm1, 0x4e
pshufd xmm3, xmm0, 0x39
sha1msg1 xmm2, xmm0
sha1msg2 xmm3, xmm1
sha1nexte xmm0, xmm2
sha1rnds4 xmm1, xmm3, 0
sha256rnds2 xmm2, xmm1, xmm0
sha256msg1 xmm1, xmm2
sha256msg2 xmm0, xmm1
movdqa xmm2, xmmword [0x1401b9bb0]
pcmpeqq xmm0, xmm2
pmovmskb eax, xmm0
cmp eax, 0xffff
sete al
ret