joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000d950
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movsxd r15, ecx
lea r9, [0x1400285e0]
mov rax, r15
mov rbp, r15
and eax, 0x3f
sar rbp, 6
mov ecx, 4
xor esi, esi
mov r14, rdx
lea rdi, [rax + rax*8]
mov rax, qword [r9 + rbp*8]
lea r13d, [rcx + 6]
mov r10, qword [rax + rdi*8 + 0x28]
test r8, r8
je 0x14000d9a7
cmp word [rdx], r13w
jne 0x14000d9a7
or byte [rax + rdi*8 + 0x38], cl
jmp 0x14000d9ac
and byte [rax + rdi*8 + 0x38], 0xfb
lea r8, [rdx + r8*2]
mov rbx, r14
cmp r14, r8
jae 0x14000dad1
mov r11d, 0xd
lea r12d, [r11 - 0xb]
movzx ecx, word [rdx]
cmp cx, 0x1a
je 0x14000daf2
lea r9, [rdx + 2]
cmp cx, r11w
je 0x14000d9e5
mov rdx, r9
mov word [rbx], cx
jmp 0x14000da0c
cmp r9, r8
jae 0x14000da1c
cmp word [r9], r13w
mov rax, r12
mov ecx, 4
cmove rax, rcx
add rdx, rax
mov eax, r13d
cmp word [r9], r13w
cmovne ax, r11w
mov word [rbx], ax
mov rax, r12
add rbx, rax
cmp rdx, r8
jb 0x14000d9c6
jmp 0x14000dad1
lea r9, [rsp + 0x80]
mov qword [rsp + 0x20], rsi
mov r8d, r12d
lea rdx, [rsp + 0x70]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000dac6
cmp dword [rsp + 0x80], esi
je 0x14000dac6
lea r8, [0x1400285e0]
mov rax, qword [r8 + rbp*8]
test byte [rax + rdi*8 + 0x38], 0x48
je 0x14000da9e
movzx eax, word [rsp + 0x70]
cmp ax, r13w
jne 0x14000da6e
mov word [rbx], r13w
jmp 0x14000dace
mov ecx, 0xd
mov word [rsp + 0x78], ax
mov word [rbx], cx
mov rax, qword [r8 + rbp*8]
lea rcx, [rax + rdi*8]
mov al, byte [rsp + rsi + 0x78]
mov byte [rcx + rsi + 0x3a], al
inc rsi
cmp rsi, r12
jl 0x14000da7b
mov rax, qword [r8 + rbp*8]
mov byte [rax + rdi*8 + 0x3c], r13b
jmp 0x14000dace
cmp word [rsp + 0x70], r13w
jne 0x14000daab
cmp rbx, r14
je 0x14000da68
mov rdx, 0xfffffffffffffffe
mov ecx, r15d
lea r8d, [rdx + 3]
call fcn.14000d1ac
cmp word [rsp + 0x70], r13w
je 0x14000dad1
mov ecx, 0xd
mov word [rbx], cx
add rbx, r12
sub rbx, r14
sar rbx, 1
lea eax, [rbx + rbx]
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, [0x1400285e0]
mov rdx, qword [r8 + rbp*8]
mov al, byte [rdx + rdi*8 + 0x38]
test al, 0x40
jne 0x14000dacb
or al, r12b
mov byte [rdx + rdi*8 + 0x38], al
jmp 0x14000dad1
Function at 0x1400115fc
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x14001162c
xor eax, eax
jmp 0x1400116ef
mov rbp, rbx
cmp word [rax], si
je 0x140011651
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x140011638
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x140011634
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.14001151c
movsxd r14, eax
test eax, eax
jne 0x14001168f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x140011625
mov rcx, r14
call fcn.14000e4b0
mov rdi, rax
test rax, rax
jne 0x1400116a8
xor ecx, ecx
call fcn.14000be04
jmp 0x140011684
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.14001151c
test eax, eax
jne 0x1400116d9
mov rcx, rdi
call fcn.14000be04
jmp 0x1400116e3
xor ecx, ecx
call fcn.14000be04
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret
Function at 0x140016a5c
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x140016a72
mov al, 1
jmp 0x140016ad2
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x140016a83
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x140016ad0
mov ecx, dword [rcx + 0x18]
nop
call fcn.14001211c
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140016ad0
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x140016ad0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140016ad0
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x140016ad2
xor al, al
add rsp, 0x20
pop rbx
ret
Function at 0x140017ab0
Capabilities:
Set environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xor r15d, r15d
mov r14, rdx
mov rsi, rcx
mov qword [rbp + 0x17], r15
xor edx, edx
mov qword [rbp + 0x1f], r15
lea rcx, [rbp - 0x39]
mov qword [rbp + 0x27], r15
mov qword [rbp + 0x2f], r15
mov edi, r15d
mov qword [rbp + 0x37], r15
mov byte [rbp + 0x3f], r15b
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], r15
mov byte [rbp + 0xf], r15b
call fcn.1400105ec
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x140017b3a
cmp byte [rbp - 0x21], r15b
je 0x140017b35
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x140017b70
call fcn.14000c054
test eax, eax
jne 0x140017b5c
cmp byte [rbp - 0x21], r15b
je 0x140017b54
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x140017b70
cmp byte [rbp - 0x21], r15b
je 0x140017b6d
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, r15d
lea r8, [rbp + 0x77]
mov rcx, rsi
lea rdx, [rbp + 0x17]
call fcn.14000fbcc
test eax, eax
jne 0x140017c10
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.1400105ec
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x140017baf
cmp byte [rbp - 0x21], r15b
je 0x140017be4
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x140017be4
call fcn.14000c054
test eax, eax
jne 0x140017bd0
cmp byte [rbp - 0x21], r15b
je 0x140017bc9
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x140017be4
cmp byte [rbp - 0x21], r15b
je 0x140017be1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, r15d
mov r9d, ebx
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14000fbcc
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x140017c10
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x140017c13
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x140017c21
mov rcx, rdi
call fcn.14000be04
cmp byte [rbp + 0x3f], r15b
je 0x140017c30
mov rcx, qword [rbp + 0x27]
call fcn.14000be04
lea r11, [rsp + 0xa0]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x140018080
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14000d1ac
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14000d1ac
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x1400181d0
cmp rax, 0xffffffffffffffff
je 0x1400181d0
xor edi, edi
test rbp, rbp
jle 0x14001817b
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14000bd8c
mov rbx, rax
test rax, rax
jne 0x140018108
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x140018171
mov edx, 0x8000
mov ecx, r14d
call fcn.14000aeec
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.140013c70
cmp eax, 0xffffffff
je 0x140018151
cdqe
sub rbp, rax
test rbp, rbp
jg 0x140018118
mov edx, r15d
mov ecx, r14d
call fcn.14000aeec
jmp 0x140018171
cmp byte [rsi + 0x38], dil
je 0x140018168
cmp dword [rsi + 0x34], 5
jne 0x140018168
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x140018171
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.14000be04
jmp 0x1400181e4
jns 0x1400181e4
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14000d1ac
cmp rax, 0xffffffffffffffff
jne 0x14001819c
cmp byte [rsi + 0x30], dil
je 0x1400181e4
mov edi, dword [rsi + 0x2c]
jmp 0x1400181e4
mov ecx, r14d
call fcn.14001211c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1400181e4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x1400181e4
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x1400181dd
mov eax, dword [rsi + 0x2c]
jmp 0x1400181e2
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14000d1ac
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x140019fe0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14001a008
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14001a008
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x413280
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41342b
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.0042e2c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
jne 0x4132ee
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x413301
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x413325
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x413339
cmp rbx, 0x1000
jae 0x4132f8
nop
jmp 0x4133a9
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x41334d
xor edx, edx
jmp 0x4133a0
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.0042e2c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
nop
test dl, dl
jne 0x41332f
jmp 0x413315
call fcn.00459e80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.004324e0
lea rax, [0x004a5e43]
mov ebx, 0x18
nop dword [rax + rax]
call fcn.00432de0
mov rax, qword [rsp + 0x38]
call fcn.00432ae0
lea rax, [0x004a5eeb]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00432de0
mov rax, qword [rsp + 0x30]
call fcn.00432ae0
call fcn.00432740
call fcn.00432560
lea rax, [0x004a8603]
mov ebx, 0x21
call fcn.00430d40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00456360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00413280
Function at 0x413460
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41368a
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.0042e340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x4134db
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x4134ee
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x413510
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x413524
cmp rbx, 0x1000
jae 0x4134e5
jmp 0x4135ae
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x413536
xor esi, esi
jmp 0x4135a0
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
nop dword [rax]
call fcn.0042e340
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
test sil, sil
jne 0x41351a
jmp 0x413502
call fcn.00459e80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x413629
call fcn.004324e0
lea rax, [0x004a6431]
mov ebx, 0x19
call fcn.00432de0
mov rax, qword [rsp + 0x68]
call fcn.00432ae0
lea rax, [0x004a5eeb]
mov ebx, 0x19
nop
call fcn.00432de0
mov eax, dword [rsp + 0x34]
call fcn.00432ae0
call fcn.00432740
call fcn.00432560
lea rax, [0x004a1ce7]
mov ebx, 0xd
call fcn.00430d40
cmp eax, 0x5af
je 0x4135d3
call fcn.004324e0
lea rax, [0x004a6431]
mov ebx, 0x19
call fcn.00432de0
mov rax, qword [rsp + 0x38]
call fcn.00432ae0
lea rax, [0x004a5eeb]
mov ebx, 0x19
nop dword [rax]
call fcn.00432de0
mov eax, dword [rsp + 0x34]
call fcn.00432ae0
call fcn.00432740
call fcn.00432560
lea rax, [0x004a7ff8]
mov ebx, 0x1f
call fcn.00430d40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00456360
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00413460
Function at 0x41b340
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x0058b391], 0
jne 0x41b42f
nop
nop
nop
nop
sub rbx, qword [rax + 0x18]
nop
mov edx, dword [rax + 0x5c]
imul rbx, rdx
mov rdx, rbx
shr rbx, 0x20
nop
shr rdx, 0x23
and ebx, 7
mov rsi, rcx
mov rcx, rbx
mov edi, 1
shl edi, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], dil
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x41b425
lea rbx, [0x0055d7f0]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and edx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx ebx, byte [rdx + rcx + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
nop dword [rax]
test al, bl
jne 0x41b407
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1248], rsi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.00458a40
lea rax, [0x004a9bfd]
mov ebx, 0x2c
nop dword [rax + rax]
call fcn.00430d40
nop
int3
Function at 0x42a5a0
Capabilities:
Hash data using murmur3

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x42a846
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
test byte [rax], al
lea rsi, [rax + 0x1270]
mov rcx, qword [rax + 0x1260]
sub rcx, rsi
shr rcx, 3
cmp rcx, 0x200
ja 0x42a83a
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x1260], 0
cmp byte [0x0058b391], 0
jne 0x42a602
xor edx, edx
xor ebx, ebx
nop
jmp 0x42a64b
xor edx, edx
jmp 0x42a62e
mov qword [rsp + 0x28], rdx
mov rcx, qword [rax + rdx*8 + 0x1270]
mov rax, rcx
call fcn.0041ab60
mov rcx, qword [rsp + 0x28]
lea rdx, [rcx + 1]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
cmp rdx, rcx
jl 0x42a606
add rax, 0x1260
call fcn.0042a420
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
inc rdx
cmp rdx, rcx
jge 0x42a7d2
mov rsi, qword [rax + rdx*8 + 0x1270]
nop dword [rax]
cmp rsi, 0x1000
jb 0x42a648
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rax, rsi
xor ebx, ebx
mov rcx, rbx
nop dword [rax + rax]
call fcn.0040f700
test rax, rax
jne 0x42a6a2
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42a648
nop
mov rsi, rcx
shr rcx, 3
and esi, 7
mov rdx, rcx
mov rcx, rsi
mov r8d, 1
shl r8d, cl
nop
add rdx, qword [rbx + 0x50]
movzx esi, byte [rdx]
test r8b, sil
je 0x42a6e5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop dword [rax]
jmp 0x42a648
nop
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rbx + 0x18]
nop
movabs rsi, 0x800000000000
lea r8, [rsi + rcx]
mov r9, r8
shr r8, 0x2a
cmp r8, 0x40
jae 0x42a82d
lea r10, [0x0055d7f0]
mov r8, qword [r10 + r8*8]
shr r9, 0x16
and r9d, 0xfffff
mov r9, qword [r8 + r9*8]
test byte [r9], al
test byte [r8], al
mov r8, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx r10d, byte [r9 + rcx + 0x21040]
lea r9, [r9 + rcx]
lea r9, [r9 + 0x21040]
shr r8, 0xd
and r8d, 7
mov rcx, r8
mov r8d, 1
shl r8d, cl
test r8b, r10b
jne 0x42a76b
lock or byte [r9], r8b
movzx r8d, byte [rbx + 0x62]
test r8b, 1
je 0x42a7a5
mov r8, qword [rsp + 0x48]
mov r9, qword [r8 + 0x1248]
add r9, qword [rbx + 0x68]
mov qword [r8 + 0x1248], r9
mov rax, r8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
nop
jmp 0x42a648
mov r8, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
cmp r8, rcx
jae 0x42a825
mov r9, qword [rsp + 0x48]
mov qword [r9 + r8*8 + 0x1270], rax
lea rbx, [r8 + 1]
mov rax, r9
mov rdx, qword [rsp + 0x28]
jmp 0x42a648
cmp rbx, 0x200
ja 0x42a817
lea rdx, [rax + 0x1270]
lea rsi, [rax + 0x1238]
mov rcx, rbx
mov edi, 0x200
mov rbx, rdx
mov rax, rsi
call fcn.00420780
mov rdx, qword [rsp + 0x48]
lea rax, [rdx + 0x1260]
call fcn.0042a420
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
mov rcx, rbx
mov edx, 0x200
nop
call fcn.00458aa0
mov rax, r8
call fcn.00458a20
mov rax, r8
mov ecx, 0x40
call fcn.00458a40
mov edx, 0x200
nop
call fcn.00458a80
nop
mov qword [rsp + 8], rax
call fcn.0045aa20
mov rax, qword [rsp + 8]
jmp fcn.0042a5a0
Function at 0x4584e0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x0058b660]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
nop
nop
xor rax, rdx
ret
cmp byte [0x0058b390], 0
je 0x458516
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x0058b920]
aesenc xmm0, xmmword [0x0058b930]
aesenc xmm0, xmmword [0x0058b940]
movq rax, xmm0
ret
jmp 0x408560

Function at 0x459e00
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x0058b8a0]
mov qword [rsp + 8], rdx
lea r8d, [0x0058b3a8]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.004583c0
add rsp, 0x30
ret
Function at 0x1400055d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0xe0
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov rax, qword [0x140056b28]
xor rax, rsp
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xf0]
cmp qword [rax + 0x70], 0
je 0x14000561a
mov rax, qword [rsp + 0xf0]
movzx eax, byte [rax + 0x79]
test eax, eax
jne 0x140005626
mov al, 1
jmp 0x140005852
mov dword [rsp + 0x30], 8
call fcn.14000d320
mov edx, eax
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xf0]
call qword [rax + 8]
mov dword [rsp + 0x78], eax
call fcn.14000d320
mov dword [rsp + 0x7c], eax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x7c]
call fcn.14000d1a0
movzx eax, al
test eax, eax
je 0x140005675
xor al, al
jmp 0x140005852
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0x48]
call fcn.140004160
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x48]
call fcn.1400043c0
mov rcx, rax
call fcn.1400052c0
mov rbx, rax
lea rcx, [rsp + 0x48]
call fcn.14000e4c0
add rbx, rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x48]
call fcn.1400043c0
mov rcx, rax
call fcn.1400052c0
mov r8, rax
mov rdx, qword [rsp + 0xf0]
add rdx, 0x7c
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 0x70]
call fcn.140007ab0
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0
je 0x140005727
cmp dword [rsp + 0xd0], 1
je 0x140005733
cmp dword [rsp + 0xd0], 3
je 0x14000580c
jmp 0x140005827
mov rax, qword [rsp + 0xf0]
mov byte [rax + 0x79], 0
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x48]
call fcn.1400043c0
mov rcx, rax
call fcn.1400052c0
mov r11, rax
mov rax, qword [rsp + 0x38]
sub rax, r11
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jbe 0x1400057c5
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x48]
call fcn.1400043c0
mov rcx, rax
call fcn.1400052c0
mov r9, qword [rsp + 0xf0]
mov r9, qword [r9 + 0x88]
mov r8, qword [rsp + 0x70]
mov edx, 1
mov rcx, rax
call fcn.1400280a0
cmp qword [rsp + 0x70], rax
je 0x1400057c5
mov byte [rsp + 0xc0], 0
lea rcx, [rsp + 0x48]
call fcn.14000da60
mov al, byte [rsp + 0xc0]
jmp 0x140005852
mov rax, qword [rsp + 0xf0]
movzx eax, byte [rax + 0x79]
test eax, eax
jne 0x1400057f0
mov byte [rsp + 0xc1], 1
lea rcx, [rsp + 0x48]
call fcn.14000da60
mov al, byte [rsp + 0xc1]
jmp 0x140005852
cmp qword [rsp + 0x70], 0
jne 0x14000580a
xor r8d, r8d
mov edx, 8
lea rcx, [rsp + 0x48]
call fcn.1400041d0
jmp 0x140005842
mov byte [rsp + 0xc2], 1
lea rcx, [rsp + 0x48]
call fcn.14000da60
mov al, byte [rsp + 0xc2]
jmp 0x140005852
mov byte [rsp + 0xc3], 0
lea rcx, [rsp + 0x48]
call fcn.14000da60
mov al, byte [rsp + 0xc3]
jmp 0x140005852
jmp 0x140005688
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.140025960
add rsp, 0xe0
pop rbx
ret
Function at 0x140010640
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x100]
mov byte [rsp + 0x21], al
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x101]
mov byte [rsp + 0x20], al
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x24], 0
jmp 0x140010691
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x24], eax
jge 0x140010769
movzx eax, byte [rsp + 0x21]
add eax, 1
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov byte [rsp + 0x21], al
movzx ecx, byte [rsp + 0x21]
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x20]
add eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
add rdx, rax
movzx eax, byte [rsp + 0x21]
mov rcx, qword [rsp + 0x30]
add rcx, rax
call fcn.140010790
movzx r11d, byte [rsp + 0x21]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax + r11]
movzx ecx, byte [rsp + 0x20]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + rcx]
mov eax, edx
add eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov byte [rsp + 0x28], al
movsxd rdx, dword [rsp + 0x24]
movzx ecx, byte [rsp + 0x28]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + rcx]
mov rax, qword [rsp + 0x50]
movzx edx, byte [rax + rdx]
xor edx, ecx
movsxd rcx, dword [rsp + 0x24]
mov rax, qword [rsp + 0x50]
mov byte [rax + rcx], dl
jmp 0x140010686
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rsp + 0x21]
mov byte [rcx + 0x100], al
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rsp + 0x20]
mov byte [rcx + 0x101], al
add rsp, 0x48
ret