joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400430a0
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor esi, esi
lea r9, [rsp + 0x48]
mov rdi, rcx
mov qword [rsp + 0x48], rsi
add rcx, 0x68
lea edx, [rsi + 0x18]
lea r8d, [rsi + 8]
call fcn.1400404a0
cmp qword [rsp + 0x48], rsi
je 0x14004315f
mov qword [rsp + 0x50], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, qword [rdi]
lea r9, [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r8, rax
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], esi
mov rcx, qword [rcx]
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140043128
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x68]
mov qword [rsp + 0x40], rsi
test rdx, rdx
je 0x14004315f
mov rax, qword [rdx + 0x18]
lea r8, [rsp + 0x40]
mov rdx, qword [rdx]
mov r9d, 8
add rdx, 0x18
mov qword [rsp + 0x20], rsi
mov rcx, qword [rax + 0x70]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x140043172
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x40], rsi
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x140043225
call fcn.1400406b0
test al, al
je 0x140043225
mov rax, qword gs:[0x30]
xor edx, edx
mov rcx, qword [rdi + 0x20]
mov dword [rax + 0x1250], esi
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [rdi + 0x20]
mov edx, 0xffffffff
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400431d7
jle 0x1400431d3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rsi
mov dword [rbx + 8], esi
mov rbx, qword [rdi + 0x28]
mov qword [rdi + 0x20], rsi
mov qword [rdi + 0x28], rsi
test rbx, rbx
je 0x140043217
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140043217
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x140043217
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x140043225
call fcn.140040370
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14006bb00
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
Function at 0x1400461e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x90
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rdi, r8
mov rbx, rdx
mov r15, rcx
lea r12, [rcx + 0x40]
mov qword [rsp + 0x60], r12
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140046236
mov rdx, qword [rbx]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x140046435
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov rsi, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140046262
mov rbx, qword [rbx]
cmp rsi, 0x10
jae 0x140046285
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x48], 0xf
mov ebp, 0xf
mov rdi, qword [rsp + 0x30]
jmp 0x140046304
mov rbp, rsi
or rbp, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbp, rax
cmova rbp, rax
lea rax, [rbp + 1]
cmp rax, 0x1000
jb 0x1400462d7
lea rcx, [rax + 0x27]
mov rdx, 0xffffffffffffffff
cmp rcx, rax
cmovbe rcx, rdx
call fcn.14006bb2c
test rax, rax
je 0x14004646c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400462eb
test rax, rax
je 0x1400462e9
mov rcx, rax
call fcn.14006bb2c
mov rdi, rax
jmp 0x1400462eb
xor edi, edi
mov qword [rsp + 0x30], rdi
lea r8, [rsi + 1]
mov rdx, rbx
mov rcx, rdi
call fcn.14008a040
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], r14
lea rax, [r15 + 8]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 0
lea r9, [rsp + 0x30]
cmp rbp, 0x10
cmovae r9, rdi
xor edx, edx
movabs r8, 0xcbf29ce484222325
test rsi, rsi
je 0x140046364
movabs rcx, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + r9]
xor r8, rax
imul r8, rcx
inc rdx
cmp rdx, rsi
jb 0x140046350
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.140047ac0
nop
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x1400463fa
mov rdx, qword [rbx + 0x28]
cmp rdx, 0x10
jb 0x1400463d3
mov rcx, qword [rbx + 0x10]
inc rdx
cmp rdx, 0x1000
jb 0x1400463ce
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140046466
mov rcx, r8
call fcn.14006bb24
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x28], 0xf
mov byte [rbx + 0x10], 0
mov edx, 0x38
mov rcx, qword [rsp + 0x80]
call fcn.14006bb24
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140046438
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004642e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004646c
call fcn.14006bb24
jmp 0x140046438
xor r14d, r14d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, r14
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14006bb00
add rsp, 0x90
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140095014
nop
call fcn.140095014
int3
Function at 0x1400484f0
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x68
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp qword [0x1400f8ae8], 0
jne 0x140048561
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rsp + 0x24]
dec ecx
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
inc eax
mov qword [0x1400f8ad8], rax
mov eax, dword [rsp + 0x48]
mov qword [0x1400f8ae0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [0x1400f8ae8], rax
lea rax, [0x1400f8ad8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14006bb00
add rsp, 0x68
ret
Function at 0x14004c0c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rsi, r9
mov rdi, r8
mov r15, rdx
mov rbp, rcx
lea rax, [rcx + 8]
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r12
lea ecx, [r12 + 0x48]
call fcn.14006bb2c
mov rbx, rax
mov qword [rsp + 0x40], rax
mov qword [rax + 0x20], r12
mov qword [rax + 0x28], 7
mov word [rax + 0x10], r12w
mov rdx, rdi
lea rcx, [rax + 0x10]
call fcn.140004c64
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], r12
mov qword [rbx + 0x40], r12
mov rax, qword [rsi]
mov qword [rbx + 0x30], rax
mov rax, qword [rsi + 8]
mov qword [rbx + 0x38], rax
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x40], rax
mov qword [rsi], r12
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r12
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x30], r12b
mov r10, qword [rbx + 0x20]
lea rcx, [rbx + 0x10]
cmp qword [rbx + 0x28], 8
jb 0x14004c18b
mov rcx, qword [rbx + 0x10]
movabs r8, 0xcbf29ce484222325
add r10, r10
mov rdx, r12
je 0x14004c1c3
movabs r9, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r8, rax
imul r8, r9
inc rdx
cmp rdx, r10
jb 0x14004c1b0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbx + 0x10]
lea rdx, [rsp + 0x50]
mov rcx, rbp
call fcn.14004c320
mov rax, qword [rsp + 0x50]
mov qword [r15], rax
movzx eax, byte [rsp + 0x58]
mov byte [r15 + 8], al
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14004c25e
lea rcx, [rbx + 0x30]
call fcn.1400043a0
mov rdx, qword [rbx + 0x28]
cmp rdx, 8
jb 0x14004c23e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx + 0x10]
cmp rdx, 0x1000
jb 0x14004c239
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004c280
mov rcx, r8
call fcn.14006bb24
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], 7
mov word [rbx + 0x10], r12w
mov edx, 0x48
mov rcx, qword [rsp + 0x68]
call fcn.14006bb24
mov rax, r15
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14006bb00
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140095014
int3
Function at 0x1400563c0
Capabilities:
Terminate thread

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x50
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, rcx
mov byte [rcx + 0x60], 0
mov rcx, qword [rcx + 0x48]
xor ebp, ebp
test rcx, rcx
je 0x1400563f5
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov qword [rbx + 0x48], rbp
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14005640a
jle 0x140056406
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x38], rbp
mov edi, ebp
nop dword [rax]
mov edx, edi
mov rcx, rbx
call fcn.140056100
inc edi
cmp edi, 4
jl 0x140056410
cmp qword [rbx + 0x10], rbp
je 0x1400564ff
call fcn.1400134e8
mov rcx, qword [rbx]
mov dword [rsp + 0x40], ebp
mov edx, dword [rcx + 8]
mov rcx, qword [rax]
mov dword [rsp + 0x44], edx
cmp rcx, 0xffffffffffffffff
je 0x140056495
mov qword [rsp + 0x38], rbp
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x44]
mov dword [rsp + 0x28], ebp
mov r9d, 4
mov edx, 0x8005e020
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x14005648a
mov rax, qword gs:[0x30]
cmp dword [rax + 0x1250], ebp
jl 0x140056495
lea rcx, [rbx + 8]
call fcn.140056520
jmp 0x1400564f3
mov qword [rsp + 0x78], rsi
mov rsi, qword [rbx + 8]
mov qword [rsp + 0x80], r14
mov rdi, qword [rsi + 8]
cmp byte [rdi + 0x19], bpl
jne 0x1400564d7
mov r8, qword [rdi + 0x10]
lea rdx, [rbx + 8]
lea rcx, [rbx + 8]
call fcn.140056590
mov rcx, rdi
mov edx, 0x38
mov rdi, qword [rdi]
call fcn.14006bb24
cmp byte [rdi + 0x19], bpl
je 0x1400564b0
mov r14, qword [rsp + 0x80]
mov qword [rsi + 8], rsi
mov qword [rsi], rsi
mov qword [rsi + 0x10], rsi
mov rsi, qword [rsp + 0x78]
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x40], rbp
mov qword [rbx + 0x58], rbp
mov qword [rbx + 0x50], rbp
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14006bb00
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
Function at 0x140057120
Capabilities:
Suspend thread

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x60
mov qword [rax - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rdi + 8], eax
jne 0x140057160
mov al, 1
jmp 0x140057254
mov rax, qword [rdi]
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x10], 3
jne 0x140057244
cmp byte [rcx + 0x16], 0
jne 0x140057244
call fcn.140024970
mov rbx, rax
movdqa xmm0, xmmword [0x1400d76f0]
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x20], 0
lea rdx, str.Wow64SuspendThread
lea rcx, [rsp + 0x20]
call fcn.140004d70
nop
call fcn.140046480
lea rsi, [rbx + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebp, ebp
mov qword [rsp + 0x48], rbp
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.140025e20
mov rax, qword [rsp + 0x48]
mov rcx, rsi
cmp rax, qword [rbx + 8]
je 0x1400571fa
mov rbx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140057200
mov rcx, qword [rdi + 0x10]
call rbx
mov ebp, eax
jmp 0x140057200
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebp, 0xffffffff
setne bl
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14005723f
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005723a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057277
call fcn.14006bb24
movzx eax, bl
jmp 0x140057254
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
setne al
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14006bb00
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.140095014
int3
Function at 0x140057280
Capabilities:
Resume thread

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rdi
sub rsp, 0x970
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x960], rax
mov edi, edx
mov rbx, rcx
cmp edx, 4
ja 0x14005745f
mov qword [r11 + 0x10], rbp
lea rcx, [r11 - 0x688]
xor edx, edx
mov qword [r11 + 0x18], rsi
mov r8d, 0x670
call fcn.14008a450
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x2cc
call fcn.14008a450
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
movzx esi, byte [rax + 0x16]
test sil, sil
jne 0x140057310
mov rdx, qword [rbx + 0x10]
lea r8, [rsp + 0x2f0]
mov dword [rsp + 0x320], 0x100010
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x58]
jmp 0x14005733d
xor edx, edx
lea rcx, [rsp + 0x24]
mov r8d, 0x2c8
call fcn.14008a450
mov rdx, qword [rbx + 0x10]
lea r8, [rsp + 0x20]
mov dword [rsp + 0x20], 0x100010
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rbp, qword [rsp + 0x988]
lea r8, [rsp + 0x360]
test sil, sil
lea rcx, [rsp + 0x38]
cmovne r8, rcx
test eax, eax
js 0x140057436
mov edx, dword [r8]
test edi, edi
jne 0x140057370
and edx, 0xfff0fffe
jmp 0x1400573b3
cmp edi, 1
jne 0x14005737d
and edx, 0xff0ffffb
jmp 0x1400573b3
cmp edi, 2
mov ecx, 0xffffffbf
mov eax, 0xffffffef
cmovne eax, ecx
mov ecx, 0xf3ffffff
and eax, edx
mov edx, 0x3fffffff
cmp edi, 2
cmovne ecx, edx
mov edx, 0xfcffffff
and ecx, eax
mov eax, 0xcfffffff
cmp edi, 2
cmovne edx, eax
and edx, ecx
mov eax, edx
mov dword [r8], edx
shr eax, 2
mov ecx, eax
or ecx, edx
shr ecx, 4
or ecx, eax
or ecx, edx
test cl, 1
jne 0x1400573d2
btr edx, 8
mov dword [r8], edx
mov rcx, rbx
mov edi, 0xc000071c
call fcn.140057120
test sil, sil
jne 0x140057403
test al, al
je 0x140057434
mov rax, qword [rbx]
lea r8, [rsp + 0x2f0]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x68]
jmp 0x14005741d
test al, al
je 0x140057434
mov rax, qword [rbx]
lea r8, [rsp + 0x20]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rbx + 8], eax
je 0x140057434
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, edi
mov rsi, qword [rsp + 0x990]
mov rcx, qword [rsp + 0x960]
xor rcx, rsp
call fcn.14006bb00
mov rbx, qword [rsp + 0x998]
add rsp, 0x970
pop rdi
ret
xor eax, eax
jmp 0x14005743e
Function at 0x140057470
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x970
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x960], rax
mov rbx, rdx
mov rdi, rcx
xor edx, edx
lea rcx, [rsp + 0x2f0]
mov r8d, 0x670
call fcn.14008a450
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x2cc
call fcn.14008a450
mov rsi, qword [rdi]
mov rax, qword [rsi + 0x10]
movzx ebp, byte [rax + 0x16]
test bpl, bpl
jne 0x1400574f9
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x2f0]
mov dword [rsp + 0x320], 0x100010
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x58]
jmp 0x140057526
xor edx, edx
lea rcx, [rsp + 0x24]
mov r8d, 0x2c8
call fcn.14008a450
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x20]
mov dword [rsp + 0x20], 0x100010
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x50]
test bpl, bpl
lea r8, [rsp + 0x360]
lea rcx, [rsp + 0x38]
cmovne r8, rcx
test eax, eax
jns 0x140057545
xor eax, eax
jmp 0x140057692
xor edx, edx
mov ecx, edx
mov eax, edx
nop dword [rax + rax]
cmp qword [rsp + rax*8 + 0x338], rbx
je 0x140057575
cmp dword [rsp + rax*4 + 0x24], ebx
je 0x140057575
inc ecx
inc rax
cmp rax, 4
jl 0x140057550
mov eax, 0xc0000225
jmp 0x140057692
movsxd rax, ecx
test bpl, bpl
jne 0x140057587
mov qword [rsp + rax*8 + 0x338], rdx
jmp 0x14005758b
mov dword [rsp + rax*4 + 0x24], edx
mov eax, dword [r8]
test ecx, ecx
jne 0x140057599
mov edx, 0xfffffffe
jmp 0x1400575b7
cmp ecx, 1
jne 0x1400575a5
mov edx, 0xfffffffb
jmp 0x1400575b7
cmp ecx, 2
mov edx, 0xffffffbf
mov r9d, 0xffffffef
cmove edx, r9d
and eax, edx
test ecx, ecx
jne 0x1400575c4
mov edx, 0xfff3ffff
jmp 0x1400575e2
cmp ecx, 1
jne 0x1400575d0
mov edx, 0xff3fffff
jmp 0x1400575e2
cmp ecx, 2
mov edx, 0x3fffffff
mov r9d, 0xf3ffffff
cmove edx, r9d
and eax, edx
test ecx, ecx
jne 0x1400575ef
mov edx, 0xfffcffff
jmp 0x14005760d
cmp ecx, 1
jne 0x1400575fb
mov edx, 0xffcfffff
jmp 0x14005760d
cmp ecx, 2
mov edx, 0xcfffffff
mov r9d, 0xfcffffff
cmove edx, r9d
and eax, edx
mov dword [r8], eax
mov ecx, eax
shr eax, 2
or eax, ecx
shr eax, 2
or eax, ecx
shr eax, 2
or eax, ecx
test al, 1
jne 0x14005762e
btr ecx, 8
mov dword [r8], ecx
mov rcx, rdi
mov ebx, 0xc000071c
call fcn.140057120
test bpl, bpl
jne 0x14005765f
test al, al
je 0x140057690
mov rax, qword [rdi]
lea r8, [rsp + 0x2f0]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x68]
jmp 0x140057679
test al, al
je 0x140057690
mov rax, qword [rdi]
lea r8, [rsp + 0x20]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rdi + 8], eax
je 0x140057690
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, ebx
mov rcx, qword [rsp + 0x960]
xor rcx, rsp
call fcn.14006bb00
lea r11, [rsp + 0x970]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x140057940
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
mov qword [rcx + 8], rdx
lea rax, vtable.blackbone::Native.0
mov rdi, rcx
mov qword [rcx], rax
xor esi, esi
mov qword [rcx + 0x10], rsi
movzx ebx, r8b
lea rcx, [rsp + 0x28]
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ecx, dword [rsp + 0x2c]
mov dword [rdi + 0x18], ecx
test bl, bl
je 0x1400579ad
mov word [rdi + 0x14], 0x101
mov byte [rdi + 0x16], 1
jmp 0x140057a09
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], esi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
mov ecx, dword [rsp + 0x20]
cmp ecx, 1
mov edx, dword [rsp + 0x24]
sete al
cmp edx, 1
mov byte [rdi + 0x14], al
sete al
mov byte [rdi + 0x15], al
cmp ecx, 1
jne 0x140057a2f
cmp edx, ecx
je 0x140057a09
cmp ecx, 1
mov byte [rdi + 0x17], 1
setne sil
add esi, 2
mov dword [rdi + 0x10], esi
mov rax, rdi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14006bb00
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
test ecx, ecx
jne 0x1400579fb
test edx, edx
jne 0x1400579fb
mov dword [rdi + 0x10], 1
jmp 0x140057a0c
Function at 0x140057fd0
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov rax, qword [0x1400f3080]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r14, r9
mov rbp, r8
mov rdi, rdx
mov r15, rcx
mov rax, qword gs:[0x30]
xor r12d, r12d
mov dword [rax + 0x1250], r12d
call fcn.140024970
mov rbx, rax
movdqa xmm0, xmmword [0x1400d76f0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r12b
lea rdx, str.NtCreateThreadEx
lea rcx, [rsp + 0x60]
call fcn.140004d70
nop
call fcn.140046480
lea rsi, [rbx + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0x88], r12
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.140025e20
mov rax, qword [rsp + 0x88]
mov rcx, rsi
cmp rax, qword [rbx + 8]
je 0x140058098
mov rbx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400580a1
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, r12
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1400580de
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400580d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058199
call fcn.14006bb24
movdqa xmm0, xmmword [0x1400d76f0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rcx, qword [r15 + 8]
mov eax, dword [rsp + 0x100]
xor r8d, r8d
test rbx, rbx
je 0x140058146
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], 0x100000
mov qword [rsp + 0x40], 0x1000
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbp
mov r9, rcx
mov edx, dword [rsp + 0x108]
mov rcx, rdi
call rbx
test eax, eax
jns 0x140058177
mov qword [rdi], r12
jmp 0x140058177
and eax, 1
shl eax, 2
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov qword [rdi], rax
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x1250]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14006bb00
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140095014
int3
Function at 0x140064b60
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
push rbp
push r15
sub rsp, 0x18
mov qword [rsp + 0x10], rsi
mov r15, r8
mov rsi, qword [rdx + 0x18]
mov rbp, rcx
mov qword [rsp + 8], rdi
mov rdi, rdx
mov qword [rsp], r14
mov r9, rdx
mov r14, qword [rdx + 0x10]
cmp rsi, 8
jb 0x140064b93
mov r9, qword [rdx]
lea r8, [r14 + r14]
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
test r8, r8
je 0x140064bd4
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r9]
inc rcx
xor rdx, rax
imul rdx, r10
cmp rcx, r8
jb 0x140064bc0
mov rcx, qword [rbp + 0x70]
and rcx, rdx
mov rdx, qword [rbp + 0x48]
shl rcx, 4
add rcx, qword [rbp + 0x58]
mov rax, qword [rcx]
cmp rax, rdx
je 0x140064c6e
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x30], rbx
nop dword [rax + rax]
lea rbx, [rax + 0x10]
mov r8, rdi
cmp rsi, 8
jb 0x140064c10
mov r8, qword [rdi]
cmp qword [rbx + 0x18], 8
mov r9, qword [rbx + 0x10]
jb 0x140064c1e
mov rbx, qword [rbx]
cmp r9, r14
jne 0x140064c5c
test r9, r9
je 0x140064c69
movzx r10d, word [rbx]
movzx r11d, word [r8]
cmp r10w, r11w
jb 0x140064c5c
sub rbx, r8
cmp r10w, r11w
ja 0x140064c5c
cmp r9, 1
je 0x140064c69
movzx r10d, word [rbx + r8 + 2]
add r8, 2
dec r9
movzx r11d, word [r8]
cmp r10w, r11w
jae 0x140064c3d
cmp rax, rcx
je 0x140064c66
mov rax, qword [rax]
jmp 0x140064c00
mov rax, rdx
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
cmp rax, rdx
je 0x140064c95
mov ecx, dword [rax + 0x30]
add rcx, qword [rbp + 0x18]
mov qword [r15], rcx
xor eax, eax
add rsp, 0x18
pop r15
pop rbp
ret
mov eax, 0x806d0013
add rsp, 0x18
pop r15
pop rbp
ret