joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14005c500
Capabilities:
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x890
mov qword [rbp - 0x868], rbx
mov qword [rbp - 0x860], rsi
mov qword [rbp - 0x858], rdi
mov qword [rbp - 0x850], 0
mov qword [rbp - 0x848], 0
lea rsi, [0x1400b7790]
mov rdx, qword [rsi + 8]
mov rax, qword [rsi]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
mov r8d, 0x800
lea rdx, [rbp - 0x840]
mov rcx, qword [rbp - 0x38]
call sub.KERNEL32.dll_GetEnvironmentVariableA
mov edi, eax
test edi, edi
je 0x14005c5ad
lea rdx, [rbp - 0x850]
mov r9d, edi
mov qword [rbp - 0x30], r9
lea r8, [rbp - 0x840]
mov qword [rbp - 0x28], r8
lea rcx, [rbp - 0x30]
call fcn.140001670
lea rdx, [rbp - 0x850]
lea rax, [0x1400b7800]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], 1
lea rcx, [rbp - 0x20]
call fcn.140001670
add rsi, 0x10
lea rbx, str._NT_SYMBOL_PATH
cmp rsi, rbx
jb 0x14005c53d
lea rdx, [rbp - 0x850]
lea rsi, [0x1400b6290]
mov qword [rbp - 8], rsi
mov qword [rbp - 0x10], 1
lea rcx, [rbp - 0x10]
call fcn.140001670
mov rdx, qword [rbp - 0x848]
mov rax, qword [rbp - 0x850]
mov rbx, qword [rbp - 0x868]
mov rsi, qword [rbp - 0x860]
mov rdi, qword [rbp - 0x858]
mov rsp, rbp
pop rbp
ret

Function at 0x14005e510
Capabilities:
Query or enumerate registry key

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r13
mov rdi, rcx
mov rsi, rdx
mov r12, r8
mov r13, r9
mov dword [rdi], 0
mov rcx, qword [rsi]
call fcn.140028830
mov dword [rdi], eax
xor edx, edx
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x50], rdx
mov r9, rdi
mov r8, qword [rsi + 8]
mov edx, r12d
mov rcx, r13
call sub.ADVAPI32.dll_RegEnumKeyExW
mov ebx, eax
cmp ebx, 0xea
je 0x14005e591
mov eax, ebx
mov rbx, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret
mov rdx, rsi
mov rcx, qword [rsi]
add rcx, rcx
call fcn.140029630
jmp 0x14005e53e

Function at 0x14005e5b0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r13
mov rdi, rcx
mov rsi, rdx
mov r12, r8
mov r13, r9
mov dword [rdi], 0
mov rcx, qword [rsi]
call fcn.140028830
mov dword [rdi], eax
xor edx, edx
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x50], rdx
mov r9, rdi
mov r8, qword [rsi + 8]
mov edx, r12d
mov rcx, r13
call sub.ADVAPI32.dll_RegEnumValueW
mov ebx, eax
cmp ebx, 0xea
je 0x14005e631
mov eax, ebx
mov rbx, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret
mov rdx, rsi
mov rcx, qword [rsi]
add rcx, rcx
call fcn.140029630
jmp 0x14005e5de
Function at 0x140060f90
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rdi
mov rdi, rcx
mov rsi, qword [rdi]
mov rdx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rdx
xor edx, edx
cmp qword [rbp - 0x10], rdx
je 0x140060fd9
mov r8, qword [rbp - 8]
movzx ecx, byte [rdx + r8]
cmp cl, 0x80
jb 0x140060fd0
mov rsi, rdx
jmp 0x140060fd9
inc rdx
cmp rdx, qword [rbp - 0x10]
jb 0x140060fbd
mov r11, qword [rdi]
cmp r11, rsi
jb 0x140061028
mov rax, r11
sub rax, rsi
mov rdx, qword [rdi + 8]
add rdx, rsi
mov qword [rdi], rax
mov qword [rdi + 8], rdx
mov rcx, rdi
call fcn.1400061e0
xor al, 1
je 0x140061018
inc rsi
mov rcx, rdi
call fcn.1400069f0
mov rcx, rdi
call fcn.1400061e0
xor al, 1
jne 0x140061001
mov rax, rsi
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x18]
mov rsp, rbp
pop rbp
ret
mov qword [rbp - 0x30], 0
mov r9, r11
mov r8, rsi
mov edx, 0x772
lea rcx, str.std_rangeprimitives.d
call fcn.140018770
int3

Function at 0x140064050
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov rbx, rcx
mov rsi, rdx
mov rcx, rsi
call fcn.1400061e0
xor al, 1
je 0x140064096
mov rcx, rsi
call fcn.14006c620
mov edi, eax
mov edx, edi
mov rcx, rbx
call fcn.140049260
mov rcx, rsi
call fcn.1400061e0
xor al, 1
jne 0x140064076
mov rbx, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret

Function at 0x140066ec0
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
sub rsp, 0x28
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov r8, rdx
mov r9, qword [r8]
mov rdx, qword [r8 + 8]
mov r11, r9
shr r11, 2
mov dword [rsp + 0x20], ecx
lea r8, [rdx + r11*4]
cmp rdx, r8
je 0x140066f2f
mov ecx, dword [rdx]
imul eax, ecx, 0xcc9e2d51
mov ecx, eax
rol eax, 0xf
mov ecx, eax
imul r10d, ecx, 0x1b873593
mov ecx, r10d
xor dword [rsp + 0x20], ecx
mov ecx, dword [rsp + 0x20]
rol ecx, 0xd
mov dword [rsp + 0x20], ecx
lea ecx, [rcx + rcx*4]
lea ebx, [rcx - 0x19ab949c]
mov dword [rsp + 0x20], ebx
add rdx, 4
cmp rdx, r8
jne 0x140066ef1
xor ecx, ecx
mov rsi, r9
and rsi, 3
cmp rsi, 1
je 0x140066f5f
cmp rsi, 2
je 0x140066f56
cmp rsi, 3
je 0x140066f4f
jmp 0x140066f7e
movzx ecx, byte [rdx + 2]
shl ecx, 0x10
movzx eax, byte [rdx + 1]
shl eax, 8
xor ecx, eax
movzx edi, byte [rdx]
xor ecx, edi
imul edx, ecx, 0xcc9e2d51
mov ecx, edx
rol edx, 0xf
mov ecx, edx
imul ebx, ecx, 0x1b873593
mov ecx, ebx
xor dword [rsp + 0x20], ecx
xor dword [rsp + 0x20], r9d
movzx ecx, word [rsp + 0x22]
xor ecx, dword [rsp + 0x20]
imul eax, ecx, 0x85ebca6b
mov dword [rsp + 0x20], eax
shr eax, 0xd
xor eax, dword [rsp + 0x20]
imul esi, eax, 0xc2b2ae35
mov dword [rsp + 0x20], esi
movzx edx, word [rsp + 0x22]
xor dword [rsp + 0x20], edx
mov eax, dword [rsp + 0x20]
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
add rsp, 0x28
ret
Function at 0x140068b20
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], rdi
mov qword [rbp + 0x10], rcx
call fcn.1400704a0
mov qword [rbp - 0x60], rax
mov rsi, qword [rbp + 0x10]
lea rdi, [rbp - 0x50]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
lea rcx, [rbp - 0x50]
call fcn.1400689a0
xor al, 1
je 0x140068ba3
lea rcx, [rbp - 0x50]
call fcn.140068950
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rdx
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x10], rax
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 8], rdx
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x60]
call fcn.140046180
lea rcx, [rbp - 0x50]
call fcn.1400689d0
lea rcx, [rbp - 0x50]
call fcn.1400689a0
xor al, 1
jne 0x140068b5f
lea rcx, [rbp - 0x60]
call fcn.140032100
mov rsi, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x68]
mov rsp, rbp
pop rbp
ret
Function at 0x140069c10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r13
mov qword [rbp + 0x10], rcx
mov rbx, rdx
mov r11, qword [rbx]
mov esi, 0xffff
mov r8, qword [rbp + 0x10]
mov rdi, qword [r8]
mov r9, qword [rbx]
cmp rdi, r9
jae 0x140069e29
mov r10, qword [rbx + 8]
movzx r8d, byte [r10 + rdi]
test r8b, 0x80
je 0x140069dc2
mov edx, 1
movzx r12d, r8b
mov r9d, r12d
mov al, r9b
mov cl, dl
shl al, cl
test al, 0x80
jne 0x140069c83
cmp edx, 1
je 0x140069dd2
jmp 0x140069c90
inc edx
cmp edx, 4
ja 0x140069dd2
jmp 0x140069c6d
mov esi, 1
mov ecx, 7
sub ecx, edx
shl esi, cl
dec esi
movzx r9d, r8b
and esi, r9d
lea r10d, [rdx - 1]
mov r10d, r10d
add r10, rdi
cmp r10, r11
jae 0x140069dd2
lea r11, [rdi + 1]
mov r12, qword [rbx]
cmp r11, r12
jae 0x140069e3d
mov r10, qword [rbx + 8]
add r10, rdi
movzx eax, byte [r10 + 1]
mov r9b, r8b
and r9b, 0xfe
cmp r9b, 0xc0
je 0x140069dd2
cmp r8b, 0xe0
jne 0x140069d01
mov r11b, al
and r11b, 0xe0
cmp r11b, 0x80
je 0x140069dd2
cmp r8b, 0xf0
jne 0x140069d18
mov r12b, al
and r12b, 0xf0
cmp r12b, 0x80
je 0x140069dd2
cmp r8b, 0xf8
jne 0x140069d2c
mov cl, al
and cl, 0xf8
cmp cl, 0x80
je 0x140069dd2
cmp r8b, 0xfc
jne 0x140069d43
mov r10b, al
and r10b, 0xfc
cmp r10b, 0x80
je 0x140069dd2
mov r11d, 1
cmp edx, 1
je 0x140069d94
mov r8d, r11d
add r8, rdi
mov r9, qword [rbx]
cmp r8, r9
jae 0x140069e54
mov r10d, r11d
add r10, rdi
mov r12, qword [rbx + 8]
movzx r8d, byte [r10 + r12]
mov r9b, r8b
and r9b, 0xc0
cmp r9b, 0x80
jne 0x140069dd2
shl esi, 6
mov r13b, r8b
and r13d, 0x3f
or esi, r13d
inc r11d
cmp r11d, edx
jne 0x140069d4e
cmp esi, 0xd800
jb 0x140069db0
cmp esi, 0xdfff
jbe 0x140069dac
cmp esi, 0x10ffff
jbe 0x140069db0
xor ecx, ecx
jmp 0x140069db5
mov ecx, 1
xor cl, 1
jne 0x140069dd2
mov r8d, edx
add rdi, r8
jmp 0x140069dc9
movzx esi, r8b
inc rdi
mov rdx, qword [rbp + 0x10]
mov qword [rdx], rdi
jmp 0x140069e0e
lea r9, str.invalid_UTF_8_sequence
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x20], 0x16
lea r10, str.srccoreinternalutf.d
mov qword [rbp - 8], r10
mov qword [rbp - 0x10], 0x17
mov r9d, 0x124
lea r8, [rbp - 0x10]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.1400510e0
mov eax, esi
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x38]
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
mov rsp, rbp
pop rbp
ret
mov r8, rdi
mov edx, 0xdf
lea rcx, str.srccoreinternalutf.d
call fcn.140018720
mov r9, r12
mov r8, r11
mov edx, 0x107
lea rcx, str.srccoreinternalutf.d
call fcn.140018720
mov edx, 0x111
lea rcx, str.srccoreinternalutf.d
call fcn.140018720
int3
Function at 0x140079d70
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov rdi, rcx
mov rsi, rdx
mov rcx, rsi
call fcn.14006d940
xor al, 1
je 0x140079dbe
mov rcx, rsi
call fcn.14006da00
mov edx, eax
and edx, 0xff
mov rcx, rdi
call fcn.140008d70
mov rcx, rsi
call fcn.14006d980
mov rcx, rsi
call fcn.14006d940
xor al, 1
jne 0x140079d92
mov rsi, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret
Function at 0x1400833b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov rdi, rcx
xor esi, esi
mov rcx, rdi
call fcn.1400446a0
xor al, 1
je 0x1400833e8
inc rsi
mov rcx, rdi
call fcn.1400446c0
mov rcx, rdi
call fcn.1400446a0
xor al, 1
jne 0x1400833d1
mov rax, rsi
mov rsi, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret

Function at 0x140086330
Capabilities:
Get memory capacity

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rdi
mov qword [rbp + 0x10], rcx
xor eax, eax
lea rdi, [rbp - 0x40]
mov ecx, 8
rep stosq qword [rdi], rax
mov dword [rbp - 0x40], 0x40
lea rcx, [rbp - 0x40]
call sub.KERNEL32.dll_GlobalMemoryStatusEx
test eax, eax
setne dil
mov dl, dil
xor dl, 1
je 0x14008638a
xor eax, eax
mov rbx, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x48]
mov rsp, rbp
pop rbp
ret
mov rax, qword [rbp - 0x38]
shr rax, 2
movabs rdx, 0x28f5c28f5c28f5c3
mul rdx
shr rdx, 2
mov rcx, rdx
mov ebx, dword [rbp - 0x3c]
cmp ebx, 0x5f
jb 0x1400863b4
cmp rcx, qword [rbp + 0x10]
jb 0x1400863cd
cmp ebx, 0x5a
jb 0x1400863c9
mov rsi, rcx
lea rsi, [rsi + rsi*4]
add rsi, rsi
cmp rsi, qword [rbp + 0x10]
jb 0x1400863cd
xor eax, eax
jmp 0x1400863d2
mov eax, 1
mov rbx, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x48]
mov rsp, rbp
pop rbp
ret
Function at 0x140087bf0
Capabilities:
Create thread
Resume thread

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
mov qword [rbp + 0x10], rcx
mov dword [rbp + 0x18], edx
mov qword [rbp + 0x20], r8
mov ecx, 0x10
call sub.MSVCR120.dll_malloc
mov rsi, rax
mov r8, qword [rbp + 0x20]
mov rdx, qword [r8 + 8]
mov rax, qword [r8]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov dword [rbp - 0x18], 0
cmp byte [0x1400be8c8], 0
jne 0x140087c70
mov qword [rbp - 0x20], rsi
lea rbx, [rbp - 0x18]
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], 4
mov r9, qword [rbp - 0x20]
lea r8, [0x140087d70]
mov edx, dword [rbp + 0x18]
xor ecx, ecx
call sub.MSVCR120.dll__beginthreadex
mov rsi, rax
test rsi, rsi
jne 0x140087c83
xor eax, eax
mov rbx, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
mov rsp, rbp
pop rbp
ret
lea rcx, [0x1400be910]
call sub.KERNEL32.dll_EnterCriticalSection
inc qword [0x1400be8e8]
mov rdx, qword [0x1400be8e8]
lea rdx, [rdx + rdx*2]
lea rdx, [rdx*8]
mov rcx, qword [0x1400be8f0]
call sub.MSVCR120.dll_realloc
mov qword [0x1400be8f0], rax
mov ebx, dword [rbp - 0x18]
mov rdi, qword [0x1400be8e8]
lea rdi, [rdi + rdi*2]
lea rdi, [rdi*8]
add rdi, rax
mov dword [rdi - 0x18], ebx
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
mov rbx, qword [rax]
mov rcx, qword [0x1400be8e8]
lea rcx, [rcx + rcx*2]
lea rcx, [rcx*8]
add rcx, qword [0x1400be8f0]
mov qword [rcx - 0x10], rbx
mov qword [rcx - 8], rdx
mov rcx, rsi
call sub.KERNEL32.dll_ResumeThread
cmp eax, 0xffffffff
je 0x140087d4e
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax + 8]
or rdx, qword [rax]
je 0x140087d2c
call fcn.140089630
mov esi, dword [rbp - 0x18]
lea rcx, [0x1400be910]
call sub.KERNEL32.dll_LeaveCriticalSection
mov eax, esi
mov rbx, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
mov rsp, rbp
pop rbp
ret
lea rbx, str.Error_resuming_thread
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], 0x15
lea rcx, [rbp - 0x10]
call fcn.140047f80
int3

Function at 0x140087e10
Capabilities:
Terminate thread

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 8], rsi
mov dword [rbp + 0x10], ecx
mov r8d, dword [rbp + 0x10]
xor edx, edx
mov ecx, 0x10004a
call sub.KERNEL32.dll_OpenThread
mov rsi, rax
test rsi, rsi
je 0x140087e72
cmp byte [0x1400be8c8], 0
je 0x140087e5d
mov edx, 1
mov rcx, rsi
call sub.KERNEL32.dll_TerminateThread
mov edx, 0xa
mov rcx, rsi
call sub.KERNEL32.dll_WaitForSingleObject
jmp 0x140087e6a
mov edx, 0xffffffff
mov rcx, rsi
call sub.KERNEL32.dll_WaitForSingleObject
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
mov rsi, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret
Function at 0x140089270
Capabilities:
Resume thread

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rdi
mov rsi, rcx
mov eax, dword [rsi + 0x10]
mov qword [rbp - 0x18], rax
call sub.KERNEL32.dll_GetCurrentThreadId
mov ecx, eax
mov rax, qword [rbp - 0x18]
cmp eax, ecx
je 0x1400892c4
mov rcx, qword [rsi + 0xb0]
call sub.KERNEL32.dll_ResumeThread
cmp eax, 0xffffffff
jne 0x1400892c4
mov rcx, rsi
call fcn.140032fc0
xor al, 1
je 0x140089300
mov rcx, rsi
call fcn.140033c90
jmp 0x1400892ef
movsx edx, byte [rsi + 0x90]
xor dl, 1
je 0x1400892de
mov rbx, qword [rsi + 0x88]
mov rax, qword [rbx]
mov qword [rbx + 8], rax
xor eax, eax
lea rdi, [rsi + 0xb8]
mov ecx, 0x10
rep stosq qword [rdi], rax
mov rbx, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
mov rsp, rbp
pop rbp
ret
lea rdx, str.Unable_to_resume_thread
mov qword [rbp - 8], rdx
mov qword [rbp - 0x10], 0x17
lea rcx, [rbp - 0x10]
call fcn.140047f80
int3

Function at 0x140089960
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov rdi, rcx
mov rsi, rdx
mov rcx, rsi
call fcn.1400446a0
xor al, 1
je 0x1400899ae
mov rcx, rsi
call fcn.1400446b0
mov edx, eax
and edx, 0xff
mov rcx, rdi
call fcn.140008d70
mov rcx, rsi
call fcn.1400446c0
mov rcx, rsi
call fcn.1400446a0
xor al, 1
jne 0x140089982
mov rsi, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret

Function at 0x14008cf60
Capabilities:
Terminate process

Disassembly:
push rdi
sub rsp, 0x50
mov ecx, 1
call sub.MSVCR120.dll___set_app_type
mov dword [0x1400be550], 0
lea rax, [rsp + 0x30]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
mov qword [rsp + 0x38], 0
call sub.MSVCR120.dll___p___argv
mov qword [rsp + 0x40], rax
call sub.MSVCR120.dll___p___argc
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call sub.MSVCR120.dll___getmainargs
lea rdx, [0x140098a50]
lea rcx, [0x140098a48]
call sub.MSVCR120.dll__initterm_e
lea rdx, [0x140098a40]
lea rcx, [0x140098a18]
call sub.MSVCR120.dll__initterm
call sub.MSVCR120.dll___p___argv
mov qword [rsp + 0x48], rax
call sub.MSVCR120.dll___p___argc
mov r8, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx]
mov ecx, dword [rax]
call fcn.1400021b0
mov dword [rsp + 0x34], eax
call fcn.14008d0b0
lea rdx, [0x140098a70]
lea rcx, [0x140098a68]
call sub.MSVCR120.dll__initterm
lea rdx, [0x140098a80]
lea rcx, [0x140098a78]
call sub.MSVCR120.dll__initterm
mov ecx, dword [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x14000de30
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x14000de52
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x14000de61
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x14000de84
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14000de86
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14000dec2
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x14000df5e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x14000defd
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x14000df3e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x14000df5e
cmp rbx, rax
ja 0x14000df10
test rbx, rbx
je 0x14000df5e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
push rsp
pushfq
mov cl, ch
mov bl, 0x21
test byte [rsi + rdi*2 + 0x3f], bh
sar ah, cl
test byte [rdx - 0x6cea73d3], 0xd4
push rsp
invalid
mov edi, 0x6c6febf4
outsd dx, dword [rsi]
insb byte [rdi], dx
or dword [rax], esi
jb 0x140030231
invalid
Function at 0x14000e3c0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x14001c040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x14000e3ed
xor eax, eax
jmp 0x14000e559
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x14000e427
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x14000e427
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x14000e559
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14000e54c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14000e46a
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x14000e495
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14000e551
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14000e504
sub eax, 1
je 0x14000e504
cmp eax, 2
jne 0x14000e54c
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x14000e551
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x14000e532
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14000e54c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x14000e551
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140012cb0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x14000f590
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14001c040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x14000f663
cmp byte [rcx + 0x71], 0
je 0x14000f663
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14000f65f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14000f624
sub eax, 1
je 0x14000f628
cmp eax, 2
jne 0x14000f65f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140012cb0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x14000f656
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14000f65f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14000f60c
xor al, al
jmp 0x14000f60c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140012cb0
add rsp, 0x60
pop rbx
ret