joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400b31d0
Capabilities:
Encode data using base64

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, r8
mov qword [r9], 0
mov r15, r9
mov rdi, rdx
mov r8, rcx
mov rsi, 0xffffffffffffffff
test rbx, rbx
jne 0x1400b3209
mov rbx, rsi
nop
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400b3200
lea rcx, [rbx*4]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
mov rcx, rdx
mov rdx, r8
shr rcx, 1
add rcx, 4
call qword [rreloc.WS2_32.dll_htonl + 8]
mov r10, rax
mov r14, rax
test rax, rax
jne 0x1400b3246
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], r12
test rbx, rbx
je 0x1400b332b
lea r12, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
xor edx, edx
xor eax, eax
test rbx, rbx
je 0x1400b3276
movzx ecx, byte [rdi]
inc edx
inc rdi
dec rbx
jmp 0x1400b3282
cmp rax, 3
jae 0x1400b3355
xor cl, cl
mov byte [rsp + rax + 0x50], cl
inc rax
cmp rax, 3
jl 0x1400b3264
movzx r11d, byte [rsp + 0x50]
movzx ecx, byte [rsp + 0x51]
movzx ebp, r11b
movzx r8d, byte [rsp + 0x52]
movzx eax, cl
shr al, 4
and r11b, 3
and cl, 0xf
shl r11b, 4
or r11b, al
shl cl, 2
movzx eax, r8b
shr bpl, 2
shr al, 6
and r8b, 0x3f
or cl, al
sub edx, 1
je 0x1400b32f6
cmp edx, 1
je 0x1400b32e9
movzx eax, r8b
movzx r8d, byte [rax + r12]
movzx eax, cl
movzx r9d, byte [rax + r12]
jmp 0x1400b32fd
movzx eax, cl
mov r8b, 0x3d
movzx r9d, byte [rax + r12]
jmp 0x1400b32fd
mov r8b, 0x3d
movzx r9d, r8b
movzx eax, bpl
movzx edx, byte [rax + r12]
movzx eax, r11b
movzx ecx, byte [rax + r12]
mov byte [r10], dl
mov byte [r10 + 1], cl
mov byte [r10 + 2], r9b
mov byte [r10 + 3], r8b
add r10, 4
test rbx, rbx
jne 0x1400b3260
mov byte [r10], 0
mov qword [r15], r14
inc rsi
cmp byte [r14 + rsi], 0
jne 0x1400b3332
mov rbp, qword [rsp + 0x58]
mov rax, rsi
mov r12, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
call fcn.14004dc54
int3

Function at 0x1400b39f0
Capabilities:
Encode data using xor

Disassembly:
xor r10d, r10d
test r9, r9
je 0x1400b3ac4
cmp r9, 0x40
jb 0x1400b3aa7
lea r11, [rcx - 1]
lea rax, [r8 - 1]
add r11, r9
add rax, r9
cmp rcx, rax
ja 0x1400b3a22
cmp r11, r8
jae 0x1400b3aa7
lea rax, [rdx - 1]
add rax, r9
cmp rcx, rax
ja 0x1400b3a33
cmp r11, rdx
jae 0x1400b3aa7
mov rax, r9
and rax, 0xffffffffffffffc0
nop word [rax + rax]
movdqu xmm0, xmmword [r8]
add r10, 0x40
movdqu xmm1, xmmword [rdx]
pxor xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmmword [rcx], xmm1
movdqu xmm1, xmmword [rdx + 0x10]
pxor xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm1, xmmword [rdx + 0x20]
pxor xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x30]
add r8, 0x40
movdqu xmmword [rcx + 0x20], xmm1
movdqu xmm1, xmmword [rdx + 0x30]
add rdx, 0x40
pxor xmm1, xmm0
movdqu xmmword [rcx + 0x30], xmm1
add rcx, 0x40
cmp r10, rax
jb 0x1400b3a40
cmp r10, r9
jae 0x1400b3ac4
sub rdx, rcx
sub r8, rcx
sub r9, r10
movzx eax, byte [r8 + rcx]
xor al, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r9, 1
jne 0x1400b3ab0
ret
Function at 0x1400c39b0
Capabilities:
Get disk information

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x140100a10]
xor rax, rsp
mov qword [rsp + 0x28], rax
cmp ecx, 0x1a
jbe 0x1400c39fa
call fcn.14002bfb8
mov dword [rax], reloc.WS2_32.dll_ntohs
call fcn.14002bf98
mov dword [rax], reloc.WS2_32.dll_listen
call fcn.1400272f8
xor eax, eax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14003b8c0
add rsp, 0x30
pop rbx
ret
xor ebx, ebx
test ecx, ecx
jne 0x1400c3a05
lea eax, [rbx + 1]
jmp 0x1400c39e7
add cx, 0x40
mov dword [rsp + 0x22], 0x5c003a
mov word [rsp + 0x20], cx
lea rcx, [rsp + 0x20]
mov word [rsp + 0x26], bx
call qword [sym.imp.KERNEL32.DLL_GetDriveTypeW]
test eax, eax
je 0x1400c39e5
cmp eax, 1
setne bl
mov eax, ebx
jmp 0x1400c39e7

Function at 0x1400c8524
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 0x1400c8554
xor eax, eax
jmp 0x1400c8617
mov rbp, rbx
cmp word [rax], si
je 0x1400c8579
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x1400c8560
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x1400c855c
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.14004b130
movsxd r14, eax
test eax, eax
jne 0x1400c85b7
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_FreeEnvironmentStringsW]
jmp 0x1400c854d
mov rcx, r14
call fcn.140027798
mov rdi, rax
test rax, rax
jne 0x1400c85d0
xor ecx, ecx
call fcn.14002775c
jmp 0x1400c85ac
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.14004b130
test eax, eax
jne 0x1400c8601
mov rcx, rdi
call fcn.14002775c
jmp 0x1400c860b
xor ecx, ecx
call fcn.14002775c
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 0x1400c8634
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x1400c86bb
mov rsi, rbx
cmp word [rax], bp
je 0x1400c867a
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x1400c8664
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x1400c8660
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.140027798
mov rdi, rax
test rax, rax
je 0x1400c86a8
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.14000af70
mov rbp, rdi
xor ecx, ecx
call fcn.14002775c
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400c8f80
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push r14
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x18]
mov rbp, rcx
mov ecx, dword [rcx + 0x20]
mov r14, rdx
add rcx, 0x18
mov r15d, r8d
lea r9d, [rax + rax]
add rcx, r9
call qword [fcn.14003bc54]
mov rbx, rax
test rax, rax
jne 0x1400c8fc5
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
lea rcx, [rax + 0x18]
mov qword [rax], rbp
mov qword [rax + 8], rcx
mov eax, dword [rbp + 0x18]
add rax, rcx
mov qword [rsp + 0x48], rsi
mov qword [rbx + 0x10], rax
mov qword [rsp + 0x50], rdi
cmp r15d, dword [rbp + 0x1c]
jbe 0x1400c9010
call qword [rbp]
mov rcx, qword [rbx + 8]
mov r8d, r15d
mov rdx, r14
call qword [rbp + reloc.WS2_32.dll_htonl]
mov r14d, dword [rbp + 0x18]
add r14, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, r14
call qword [rbp + reloc.WS2_32.dll_recv]
mov r15d, dword [rbp + 0x20]
mov rcx, qword [rbx + 8]
call qword [rbp]
mov rcx, qword [rbx + 0x10]
call qword [rbp]
xor esi, esi
test r15, r15
je 0x1400c9072
mov rsi, r15
nop dword [rax + rax]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x36
mov r8d, 1
mov byte [rsp + 0x40], al
mov rcx, qword [rbx + 8]
call qword [rbp + reloc.WS2_32.dll_htonl]
movzx eax, byte [r14]
lea rdx, [rsp + 0x40]
xor al, 0x5c
lea r14, [r14 + 1]
mov byte [rsp + 0x40], al
mov r8d, 1
mov rcx, qword [rbx + 0x10]
call qword [rbp + reloc.WS2_32.dll_htonl]
sub r15, 1
jne 0x1400c9030
mov eax, dword [rbp + 0x1c]
cmp rsi, rax
jae 0x1400c90b3
nop word [rax + rax]
mov rcx, qword [rbx + 8]
lea rdx, [0x1400ddaa8]
mov r8d, 1
call qword [rbp + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400ddaa9]
mov r8d, 1
call qword [rbp + reloc.WS2_32.dll_htonl]
mov eax, dword [rbp + 0x1c]
inc rsi
cmp rsi, rax
jb 0x1400c9080
mov rdi, qword [rsp + 0x50]
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
Function at 0x1400c913c
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.140020e44
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x1400c91c6
cmp byte [rbp - 0x21], r15b
je 0x1400c91c1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x1400c91fc
call fcn.1400288c0
test eax, eax
jne 0x1400c91e8
cmp byte [rbp - 0x21], r15b
je 0x1400c91e0
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x1400c91fc
cmp byte [rbp - 0x21], r15b
je 0x1400c91f9
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.14007afec
test eax, eax
jne 0x1400c929c
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.140020e44
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x1400c923b
cmp byte [rbp - 0x21], r15b
je 0x1400c9270
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x1400c9270
call fcn.1400288c0
test eax, eax
jne 0x1400c925c
cmp byte [rbp - 0x21], r15b
je 0x1400c9255
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x1400c9270
cmp byte [rbp - 0x21], r15b
je 0x1400c926d
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.14007afec
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x1400c929c
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.KERNEL32.DLL_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x1400c929f
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x1400c92ad
mov rcx, rdi
call fcn.14002775c
cmp byte [rbp + 0x3f], r15b
je 0x1400c92bc
mov rcx, qword [rbp + 0x27]
call fcn.14002775c
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 0x14010e2f4
Capabilities:
Enumerate gui resources
Hide graphical window

Disassembly:
mov qword [rsp + 8], rcx
push r15
xor rax, rax
push rax
sub rsp, 0x28
call fcn.1400098c0
mov qword [rsp + 0x28], 1
movabs rax, str.sneakers
push rax
push 1
push 0
push 0
pop rcx
pop rdx
pop r8
pop r9
call sub.KERNEL32.DLL_CreateSemaphoreW
mov qword [0x140101580], rax
mov r15, qword [0x140101580]
and r15, r15
je 0x14010e363
call sub.KERNEL32.DLL_GetLastError
mov r15, rax
cmp r15, 0xb7
jne 0x14010e363
mov rax, 1
jmp 0x14010e366
xor rax, rax
and rax, rax
je 0x14010e3bd
push qword [0x140101580]
pop rcx
call sub.KERNEL32.DLL_CloseHandle
cmp qword [rsp + 0x40], 0
je 0x14010e3b4
push 0
lea rax, [0x14011222b]
mov rax, rax
push rax
pop rcx
pop rdx
call sub.USER32.dll_EnumWindows
push 1
push qword [0x140101580]
pop rcx
pop rdx
call sub.USER32.dll_ShowWindow
push qword [0x140101580]
pop rcx
call sub.USER32.dll_SetForegroundWindow
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0x28]
jmp 0x14010e3c7
add rsp, 0x30
pop r15
ret

Function at 0x1401123a0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
call sub.KERNEL32.DLL_GetLastError
mov qword [rsp + 0x38], rax
mov rcx, qword [0x1401005d8]
call sub.KERNEL32.DLL_TlsGetValue
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x38]
call sub.KERNEL32.DLL_SetLastError
mov rax, qword [rsp + 0x28]
add rsp, 0x48
ret
Function at 0x140011f70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
test r9, r9
je 0x140012106
cmp r9, 4
jb 0x140011faa
mov r10, r9
shr r10, 2
imul rax, r10, 0xfffffffffffffffc
add r9, rax
mov eax, dword [rdx]
add rdx, 4
xor eax, dword [r8]
add r8, 4
mov dword [rcx], eax
add rcx, 4
sub r10, 1
jne 0x140011f91
xor r11d, r11d
test r9, r9
je 0x140012106
cmp r9, 8
jb 0x1400120dd
lea r10, [rcx - 1]
lea rax, [r8 - 1]
add r10, r9
add rax, r9
cmp rcx, rax
ja 0x140011fdc
cmp r10, r8
jae 0x1400120dd
lea rax, [rdx - 1]
add rax, r9
cmp rcx, rax
ja 0x140011ff1
cmp r10, rdx
jae 0x1400120dd
mov qword [rsp + 0x10], rbx
mov qword [rsp], rdi
cmp r9, 0x40
jb 0x140012097
mov r10, r9
mov qword [rsp + 0x18], rsi
and r10d, 0x3f
mov rbx, r9
sub rbx, r10
mov rdi, rdx
lea rax, [r8 + 0x10]
sub rdi, r8
mov rsi, rcx
sub rsi, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rdi + rax - 0x10]
add r11, 0x40
movdqu xmm1, xmmword [rax - 0x10]
movdqu xmm2, xmmword [rdi + rax]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rsi + rax - 0x50], xmm1
xorps xmm2, xmm0
movdqu xmm0, xmmword [rdi + rax - 0x30]
movdqu xmm1, xmmword [rax - 0x30]
movdqu xmmword [rsi + rax - 0x40], xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdi + rax - 0x20]
movdqu xmm2, xmmword [rax - 0x20]
movdqu xmmword [rsi + rax - 0x30], xmm1
xorps xmm2, xmm0
movdqu xmmword [rsi + rax - 0x20], xmm2
cmp r11, rbx
jb 0x140012030
mov rsi, qword [rsp + 0x18]
cmp r10, 8
jb 0x1400120cf
mov r10, r9
and r10, 0xfffffffffffffff8
mov rbx, rdx
lea rax, [r11 + r8]
sub rbx, r8
mov rdi, rcx
sub rdi, r8
nop
movq xmm1, qword [rax + rbx]
add r11, 8
movq xmm0, qword [rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rdi + rax - 8], xmm1
cmp r11, r10
jb 0x1400120b0
mov rdi, qword [rsp]
mov rbx, qword [rsp + 0x10]
cmp r11, r9
jae 0x140012106
sub rdx, r8
lea r10, [r11 + r8]
sub rcx, r8
sub r9, r11
nop word [rax + rax]
movzx eax, byte [r10 + rdx]
xor al, byte [r10]
mov byte [rcx + r10], al
lea r10, [r10 + 1]
sub r9, 1
jne 0x1400120f0
add rsp, 8
ret
Function at 0x14001dee0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push r14
mov qword [rsp + 0x28], r15
movabs r15, 0x7a1435883d4d519d
mov r10, rdx
mov r9, rcx
movabs rbp, 0xc2b2ae3d27d4eb4f
movabs rsi, 0x9e3779b185ebca87
movabs r14, 0x27d4eb2f165667c5
cmp rdx, 0x20
jb 0x14001e046
mov qword [rsp + 0x18], rbx
lea rcx, [rdx - 0x1f]
mov qword [rsp + 0x20], rdi
lea r11, [r8 + rbp]
movabs rdi, 0x60ea27eeadc0b5d6
add rcx, r9
add rdi, r8
movabs rbx, 0x61c8864e7a143579
add rbx, r8
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r9]
imul rax, rbp
add rdi, rax
mov rax, qword [r9 + 8]
imul rax, rbp
rol rdi, 0x1f
add r11, rax
mov rax, qword [r9 + 0x10]
imul rax, rbp
imul rdi, rsi
add r8, rax
rol r11, 0x1f
mov rax, qword [r9 + 0x18]
add r9, 0x20
imul rax, rbp
imul r11, rsi
add rbx, rax
rol r8, 0x1f
rol rbx, 0x1f
imul rbx, rsi
imul r8, rsi
cmp r9, rcx
jb 0x14001df60
mov rdx, rbx
mov rax, r8
rol rdx, 0x12
mov rcx, rdi
rol rax, 0xc
add rdx, rax
rol rdi, 1
mov rax, r11
imul rcx, rbp
imul r11, rbp
imul rbx, rbp
imul r8, rbp
rol rax, 7
add rdx, rax
rol rcx, 0x1f
add rdx, rdi
rol r11, 0x1f
mov rdi, qword [rsp + 0x20]
movabs rax, 0x85ebca77c2b2ae63
imul rcx, rsi
imul r11, rsi
xor rdx, rcx
rol rbx, 0x1f
imul rdx, rsi
imul rbx, rsi
sub rdx, r15
rol r8, 0x1f
xor rdx, r11
imul rdx, rsi
imul r8, rsi
sub rdx, r15
xor rdx, r8
imul rdx, rsi
sub rdx, r15
xor rdx, rbx
mov rbx, qword [rsp + 0x18]
imul rdx, rsi
add rax, rdx
jmp 0x14001e04a
lea rax, [r8 + r14]
add rax, r10
and r10d, 0x1f
cmp r10, 8
jb 0x14001e097
mov edx, r10d
shr rdx, 3
imul rcx, rdx, 0xfffffffffffffff8
add r10, rcx
nop word [rax + rax]
mov rcx, qword [r9]
add r9, 8
imul rcx, rbp
rol rcx, 0x1f
imul rcx, rsi
xor rax, rcx
rol rax, 0x1b
imul rax, rsi
sub rax, r15
sub rdx, 1
jne 0x14001e070
mov r15, qword [rsp + 0x28]
movabs r8, 0x165667b19e3779f9
cmp r10, 4
jb 0x14001e0c9
mov edx, dword [r9]
add r9, 4
imul rdx, rsi
xor rax, rdx
rol rax, 0x17
imul rax, rbp
add rax, r8
sub r10, 4
test r10, r10
je 0x14001e0ed
nop
movzx ecx, byte [r9]
lea r9, [r9 + 1]
imul rcx, r14
xor rax, rcx
rol rax, 0xb
imul rax, rsi
sub r10, 1
jne 0x14001e0d0
mov rcx, rax
shr rcx, 0x21
xor rcx, rax
imul rcx, rbp
mov rbp, qword [rsp + 0x30]
mov rdx, rcx
shr rdx, 0x1d
xor rdx, rcx
imul rdx, r8
mov rax, rdx
shr rax, 0x20
xor rax, rdx
pop r14
pop rsi
ret
Function at 0x14001e120
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
push r15
mov rbx, qword [rcx]
mov rdi, rcx
movabs rbp, 0xc2b2ae3d27d4eb4f
movabs rsi, 0x9e3779b185ebca87
movabs r14, 0x27d4eb2f165667c5
movabs r15, 0x7a1435883d4d519d
cmp rbx, 0x20
jb 0x14001e208
mov r8, qword [rcx + 8]
mov r10, qword [rcx + 0x20]
mov rdx, r8
mov r9, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov rax, r9
rol rax, 0xc
mov r11, rcx
rol r11, 7
add r11, rax
rol r8, 1
mov rax, r10
imul rdx, rbp
imul rcx, rbp
imul r9, rbp
imul r10, rbp
rol rax, 0x12
add r11, rax
rol rdx, 0x1f
add r11, r8
rol rcx, 0x1f
imul rdx, rsi
imul rcx, rsi
rol r9, 0x1f
movabs rax, 0x85ebca77c2b2ae63
xor r11, rdx
rol r10, 0x1f
imul r11, rsi
imul r9, rsi
imul r10, rsi
sub r11, r15
xor r11, rcx
imul r11, rsi
sub r11, r15
xor r11, r9
imul r11, rsi
sub r11, r15
xor r11, r10
imul r11, rsi
add rax, r11
jmp 0x14001e20f
mov rax, qword [rcx + 0x18]
add rax, r14
add rax, rbx
lea r8, [rdi + 0x28]
and ebx, 0x1f
cmp rbx, 8
jb 0x14001e257
mov edx, ebx
shr rdx, 3
imul rcx, rdx, 0xfffffffffffffff8
add rbx, rcx
nop dword [rax]
mov rcx, qword [r8]
add r8, 8
imul rcx, rbp
rol rcx, 0x1f
imul rcx, rsi
xor rax, rcx
rol rax, 0x1b
imul rax, rsi
sub rax, r15
sub rdx, 1
jne 0x14001e230
movabs r9, 0x165667b19e3779f9
cmp rbx, 4
jb 0x14001e284
mov edx, dword [r8]
add r8, 4
imul rdx, rsi
xor rax, rdx
rol rax, 0x17
imul rax, rbp
add rax, r9
sub rbx, 4
test rbx, rbx
je 0x14001e2ad
nop dword [rax]
movzx ecx, byte [r8]
lea r8, [r8 + 1]
imul rcx, r14
xor rax, rcx
rol rax, 0xb
imul rax, rsi
sub rbx, 1
jne 0x14001e290
mov rbx, qword [rsp + 0x18]
mov rcx, rax
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
shr rcx, 0x21
xor rcx, rax
imul rcx, rbp
mov rbp, qword [rsp + 0x20]
mov rdx, rcx
shr rdx, 0x1d
xor rdx, rcx
imul rdx, r9
mov rax, rdx
shr rax, 0x20
xor rax, rdx
pop r15
pop r14
ret

Function at 0x1400312c4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14003130e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14003130e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14003130e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14003130e
cmp dword [rcx + 0x84], 0xe
jbe 0x14003130e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140031310
xor al, al
add rsp, 0x28
ret
Function at 0x140038a2c
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x140038a9b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140038a9b
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140038a9b
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140038a9b
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140038a9b
cmp dword [rcx + 0x84], 0xe
jbe 0x140038a9b
cmp dword [rcx + 0xf8], 0
je 0x140038a9b
mov ecx, ebx
call fcn.140038b40
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.140038934
nop
cmp dword [rbp + 0x20], 0
jne 0x140038afc
call fcn.14003ccd0
cmp eax, 1
jne 0x140038aec
xor dl, dl
jmp 0x140038af6
call fcn.14003cc9c
test al, al
sete dl
cmp dword [rbp + 0x20], 0
je 0x140038b07
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140038b10
int3
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 1]
jmp 0x140038a2c

Function at 0x140038c14
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140038a2c
Function at 0x14003cc00
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x14003cc87
mov rsi, rbx
cmp word [rax], bp
je 0x14003cc46
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x14003cc30
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x14003cc2c
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.140039a30
mov rdi, rax
test rax, rax
je 0x14003cc74
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.14003f540
mov rbp, rdi
xor ecx, ecx
call fcn.1400399d0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x14003f2b0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14003f2d8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14003f2d8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

Function at 0x140001350
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r15
sub rsp, 0x30
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
xor esi, esi
xor eax, eax
lock cmpxchg qword [0x140003638], rbx
je 0x14000139c
cmp rax, rbx
jne 0x14000138f
mov ebx, 1
mov esi, ebx
jmp 0x1400013a1
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x140001374
mov ebx, 1
mov eax, dword [0x140003640]
cmp eax, ebx
jne 0x1400013b7
mov ecx, 0x1f
call sub.msvcrt.dll__amsg_exit
jmp 0x14000141c
mov eax, dword [0x140003640]
test eax, eax
jne 0x140001416
mov dword [0x140003640], ebx
lea r15, [0x1400022d8]
lea rdi, [0x1400022c0]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
cmp rdi, r15
jae 0x140001408
test eax, eax
jne 0x14000140c
cmp qword [rdi], 0
je 0x1400013fd
mov rax, qword [rdi]
mov rcx, qword [0x1400022a0]
call rcx
mov dword [rsp + 0x20], eax
add rdi, 8
mov qword [rsp + 0x28], rdi
jmp 0x1400013de
test eax, eax
je 0x14000141c
mov eax, 0xff
jmp 0x1400014f8
mov dword [0x140003044], ebx
mov eax, dword [0x140003640]
cmp eax, ebx
jne 0x140001443
lea rdx, [0x1400022b8]
lea rcx, [0x1400022a8]
call sub.msvcrt.dll__initterm
mov dword [0x140003640], 2
test esi, esi
jne 0x140001450
xor eax, eax
xchg qword [0x140003638], rax
cmp qword [0x140003648], 0
je 0x140001484
lea rcx, [0x140003648]
call fcn.140001700
test eax, eax
je 0x140001484
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x140003648]
mov r9, qword [0x1400022a0]
call r9
mov r8, qword [0x140003058]
mov rdx, qword [0x140003050]
mov ecx, dword [0x140003048]
call fcn.1400011ec
mov dword [0x140003040], eax
cmp dword [0x140003060], 0
jne 0x1400014b4
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x140003044], 0
jne 0x1400014c9
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x140003040]
jmp 0x1400014f8
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r15
ret
sub rsp, 0x28
call 0x140093000
add rsp, 0x28
jmp 0x140001350

Function at 0x1400015ec
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x18
xor edx, edx
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140001638
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140001630
cmp dword [rcx + 0x3c], edx
jl 0x140001630
cmp dword [rcx + 0x3c], 0x10000000
jae 0x140001630
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp], rax
cmp dword [rax], 0x4550
cmovne rax, rdx
mov rdx, rax
mov qword [rsp], rax
jmp 0x140001638
mov rax, rdx
add rsp, 0x18
ret