joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14007895c
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rbp + 0x47], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
or r8, 0xffffffffffffffff
xor ebx, ebx
inc r8
cmp word [rcx + r8*2], bx
jne 0x140078991
mov rdx, rcx
lea rcx, [rbp - 0x19]
call fcn.140013184
nop
lea r8, [rbp - 0x19]
lea rdx, str._select__
lea rcx, [rbp + 7]
call fcn.140078a3c
nop
lea r8, [0x14036b07c]
mov rdx, rax
lea rcx, [rbp + 0x27]
call fcn.14006e244
nop
lea rcx, [rbp + 7]
call fcn.14000dd24
nop
lea rcx, [rbp - 0x19]
call fcn.14000dd24
lea r9, [rbp + 0x27]
cmp qword [rbp + 0x3f], 7
cmova r9, qword [rbp + 0x27]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
lea r8, str.explorer.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
nop
lea rcx, [rbp + 0x27]
call fcn.14000dd24
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1402194b0
mov rbx, qword [rsp + 0xb8]
add rsp, 0xa0
pop rbp
ret

Function at 0x14007d4cc
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov ebx, ecx
call fcn.1401bf5e4
movzx esi, bx
mov r8d, 2
mov edx, esi
mov rdi, qword [rax + 0x18]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
jne 0x14007d51a
lea r8d, [rax + 2]
mov edx, esi
xor ecx, ecx
xor edi, edi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x14007d557
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14007d557
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
test rax, rax
je 0x14007d557
mov rcx, rax
call fcn.14007d494
cmp ax, 0x10
jne 0x14007d557
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1401ea2c8
jmp 0x14007d559
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14007fa10
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
lea r8, [0x14036b788]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x14007fa9b
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, rbx
xor ecx, ecx
mov edi, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14007fa9b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
test rax, rax
je 0x14007fa9b
mov edx, edi
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_SHCreateMemStream]
mov rdi, rax
test rax, rax
je 0x14007fa9b
mov rdx, rax
mov rcx, rsi
call fcn.140080018
mov rcx, qword [rdi]
mov ebx, eax
mov rax, qword [rcx + 0x10]
mov rcx, rdi
call qword [case.0x14001d845.0]
test ebx, ebx
setns al
jmp 0x14007fa9d
xor al, al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14008c6ac
Capabilities:
Hash data via bcrypt
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, r9
mov rsi, rdx
mov r14, rcx
mov edx, r8d
mov r9, qword [r9 + 8]
mov r8, qword [rdi]
mov rcx, r9
sub rcx, r8
cmp rdx, rcx
jae 0x14008c6f0
lea rax, [r8 + rdx]
mov qword [rdi + 8], rax
jmp 0x14008c71e
jbe 0x14008c71e
mov rax, qword [rdi + 0x10]
sub rax, r8
cmp rdx, rax
jbe 0x14008c708
mov rcx, rdi
call fcn.140084268
jmp 0x14008c71e
sub rdx, rcx
lea rbx, [r9 + rdx]
mov rdx, rbx
mov rcx, r9
call fcn.140013100
mov qword [rdi + 8], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rax
mov edx, 0x10000
lea rcx, [rbp - 0x28]
call fcn.140039764
nop
mov rax, qword [rbp - 0x20]
mov r10, qword [rbp - 0x28]
and dword [rbp - 0x30], 0
sub eax, r10d
and qword [rsp + 0x20], 0
lea r9, [rbp - 0x30]
mov r8d, eax
mov rdx, r10
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008c7ba
xor r9d, r9d
mov r8d, dword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rcx, rsi
call qword [sym.imp.bcrypt.dll_BCryptHashData]
mov ebx, eax
mov r8d, eax
mov rax, qword [rbp - 0x20]
mov rdx, rax
mov r10, qword [rbp - 0x28]
sub rdx, r10
mov ecx, dword [rbp - 0x30]
cmp rdx, rcx
jne 0x14008c79b
test ebx, ebx
je 0x14008c742
jmp 0x14008c7cc
test r8d, r8d
jne 0x14008c7cc
mov r8d, dword [rdi + 8]
sub r8d, dword [rdi]
xor r9d, r9d
mov rdx, qword [rdi]
mov rcx, rsi
call qword [sym.imp.bcrypt.dll_BCryptFinishHash]
mov ebx, eax
jmp 0x14008c7cc
mov ebx, 1
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
je 0x14008c7cc
mov qword [rdi + 8], rax
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14008c811
mov rdx, qword [rbp - 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008c7fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008c82a
call fcn.14000e3f0
and qword [rbp - 0x28], 0
and qword [rbp - 0x20], 0
and qword [rbp - 0x18], 0
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1402194b0
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140287130
int3
Function at 0x1400965c0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ebx, ebx
mov rsi, rcx
cmp qword [rcx + 0x10], rbx
jne 0x1400965e6
xor al, al
jmp 0x1400966a1
mov rcx, rdx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x14009669f
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdi, qword [rsi + 0x10]
mov ecx, 0x2002
inc rdi
lea rdx, [rdi + rdi]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbp, rax
test rax, rax
je 0x140096699
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, rax
test rax, rax
je 0x140096685
cmp qword [rsi + 0x18], 7
jbe 0x140096636
mov rsi, qword [rsi]
test rdi, rdi
je 0x14009667c
cmp rdi, 0x7fffffff
ja 0x140096679
mov edx, 0x7ffffffe
sub rdx, rdi
sub rsi, rax
lea rax, [rdx + rdi]
test rax, rax
je 0x14009666e
movzx eax, word [rsi + rcx]
test ax, ax
je 0x14009666e
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x14009664f
test rdi, rdi
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], bx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rbp
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_SetClipboardData]
test rax, rax
setne bl
call qword [sym.imp.USER32.dll_CloseClipboard]
mov al, bl
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x1400966b8
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
xor ebx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140096713
lea ecx, [rbx + 0xd]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rdi, rax
test rax, rax
je 0x14009670d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14009670d
mov rdx, rax
mov rcx, rsi
call fcn.140011ae8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov bl, 1
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rsi, qword [rsp + 0x38]
mov al, bl
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140096728
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r14, rdx
mov rbx, rcx
mov rdx, qword [rcx + 0x10]
mov r15d, 0x42
mov ecx, r15d
mov r12, r8
lea rdx, [rdx*2 + 0x14]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor r13d, r13d
mov rdi, rax
test rax, rax
je 0x1400968d9
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
lea ebp, [r15 - 0x41]
mov rsi, rax
test rax, rax
je 0x1400967dd
lea r8d, [r15 - 0x2e]
mov qword [rsp + 0x24], r13
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], r8d
mov rcx, rax
mov dword [rsp + 0x2c], r13d
mov dword [rsp + 0x30], ebp
call fcn.1402bec40
mov r8, qword [rbx + 0x10]
add r8, r8
cmp qword [rbx + 0x18], 7
jbe 0x1400967c8
mov rbx, qword [rbx]
lea rcx, [rsi + 0x14]
mov rdx, rbx
call fcn.1402bec40
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, 4
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
jne 0x140096801
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x1400968d9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14009681a
mov rcx, rbx
mov dword [rax], ebp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea rbp, [r14 + 0x10]
mov ecx, 0x2002
mov rdx, qword [rbp]
lea rdx, [rdx*2 + 2]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
test rax, rax
jne 0x14009684b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, rbx
jmp 0x1400967f6
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r15, rax
test rax, rax
je 0x14009688a
mov r8, qword [rbp]
add r8, r8
cmp qword [r14 + 0x18], 7
jbe 0x14009686d
mov r14, qword [r14]
mov rdx, r14
mov rcx, r15
call fcn.1402bec40
mov rax, qword [rbp]
mov rcx, rsi
mov word [r15 + rax*2], r13w
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea rcx, str.Preferred_DropEffect
call qword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov rcx, r12
mov ebp, eax
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400968d9
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rdi
mov ecx, reloc.OLEAUT32.dll_SafeArrayDestroy
call qword [sym.imp.USER32.dll_SetClipboardData]
mov rdx, rbx
mov ecx, ebp
call qword [sym.imp.USER32.dll_SetClipboardData]
mov rdx, rsi
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1402194b0
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14009b9a0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x440
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rsp + 0x430], rax
mov r10d, r8d
mov eax, edx
mov rbx, rcx
mov qword [rsp + 0x28], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov r9d, 0x200
lea r8, [rsp + 0x30]
mov edx, r10d
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x14009b9f1
mov word [rsp + 0x30], di
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
lea rax, [rsp + 0x30]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], di
jne 0x14009ba08
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140013184
nop
mov dword [rsp + 0x20], 1
mov rax, rbx
mov rcx, qword [rsp + 0x430]
xor rcx, rsp
call fcn.1402194b0
mov rbx, qword [rsp + 0x468]
add rsp, 0x440
pop rdi
ret
Function at 0x14009bbb4
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0xa8]
sub rsp, 0x1a0
mov edi, edx
mov rsi, rcx
xor r9d, r9d
lea edx, [r9 + 1]
call fcn.14009ba50
mov r8d, 0x1004
mov edx, edi
lea rcx, [rbp - 0x20]
call fcn.14009b9a0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
mov r8d, reloc.COMCTL32.dll_InitCommonControls
lea rdx, str.Def_ANSI_codepage
lea rcx, [rsp + 0x20]
call fcn.140013184
nop
mov r9, rbx
lea r8, [rsp + 0x20]
mov rcx, rsi
call fcn.14009bafc
nop
lea rcx, [rsp + 0x20]
call fcn.14000dd24
nop
lea rcx, [rbp - 0x20]
call fcn.14000dd24
mov r8d, reloc.OLEAUT32.dll_VariantChangeType
mov edx, edi
lea rcx, [rbp]
call fcn.14009b9a0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov r8d, InitCommonControls
lea rdx, str.Def_OEM_codepage
lea rcx, [rsp + 0x40]
call fcn.140013184
nop
mov r9, rbx
lea r8, [rsp + 0x40]
mov rcx, rsi
call fcn.14009bafc
nop
lea rcx, [rsp + 0x40]
call fcn.14000dd24
nop
lea rcx, [rbp]
call fcn.14000dd24
mov r8d, 0x1002
mov edx, edi
lea rcx, [rbp + 0x20]
call fcn.14009b9a0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 7
lea rdx, str.Country
lea rcx, [rsp + 0x60]
call fcn.140013184
nop
mov r9, rbx
lea r8, [rsp + 0x60]
mov rcx, rsi
call fcn.14009bafc
nop
lea rcx, [rsp + 0x60]
call fcn.14000dd24
nop
lea rcx, [rbp + 0x20]
call fcn.14000dd24
mov r8d, 0x1001
mov edx, edi
lea rcx, [rbp + 0x40]
call fcn.14009b9a0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8d, 8
lea rdx, str.Language
lea rcx, [rbp - 0x80]
call fcn.140013184
nop
mov r9, rbx
lea r8, [rbp - 0x80]
mov rcx, rsi
call fcn.14009bafc
nop
lea rcx, [rbp - 0x80]
call fcn.14000dd24
nop
lea rcx, [rbp + 0x40]
call fcn.14000dd24
mov r8d, 1
mov edx, edi
lea rcx, [rbp + 0x60]
call fcn.14009b9a0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
mov r8d, InitCommonControls
lea rdx, str.Language_code
lea rcx, [rbp - 0x60]
call fcn.140013184
nop
mov r9, rbx
lea r8, [rbp - 0x60]
mov rcx, rsi
call fcn.14009bafc
nop
lea rcx, [rbp - 0x60]
call fcn.14000dd24
nop
lea rcx, [rbp + 0x60]
call fcn.14000dd24
mov r8d, 0x59
mov edx, edi
lea rcx, [rbp + 0x80]
call fcn.14009b9a0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, reloc.COMCTL32.dll_InitCommonControls
lea rdx, str.ISO_Language_code
lea rcx, [rbp - 0x40]
call fcn.140013184
nop
mov r9, rbx
lea r8, [rbp - 0x40]
mov rcx, rsi
call fcn.14009bafc
nop
lea rcx, [rbp - 0x40]
call fcn.14000dd24
nop
lea rcx, [rbp + 0x80]
call fcn.14000dd24
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x14009f4bc
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rbx, rdx
mov rdi, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1f], xmm0
mov qword [rbp + 0x2f], rax
xor esi, esi
mov word [rbp - 0x39], si
mov rdx, qword [rcx + 0x10]
add rdx, 2
lea r8, [rbp - 0x39]
lea rcx, [rbp + 0x1f]
call fcn.1400a0dec
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rax
mov word [rbp - 0x37], si
mov rdx, qword [rbx + 0x10]
add rdx, 2
lea r8, [rbp - 0x37]
lea rcx, [rbp + 7]
call fcn.1400a0dec
nop
mov r8, qword [rdi + 0x10]
add r8, r8
cmp qword [rdi + 0x18], 7
jbe 0x14009f545
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, qword [rbp + 0x1f]
call fcn.1402bec40
mov r8, qword [rbx + 0x10]
add r8, r8
cmp qword [rbx + 0x18], 7
jbe 0x14009f562
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, qword [rbp + 7]
call fcn.1402bec40
mov qword [rbp - 0x31], rsi
mov dword [rbp - 0x29], 2
mov rax, qword [rbp + 0x1f]
mov qword [rbp - 0x21], rax
mov rax, qword [rbp + 7]
mov qword [rbp - 0x19], rax
mov eax, InitCommonControls
mov word [rbp - 0x11], ax
mov dword [rbp - 0xd], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
lea rcx, [rbp - 0x31]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
sete bl
mov edi, 0x1000
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x14009f5f6
mov rax, qword [rbp + 0x17]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
mov rax, rcx
cmp rdx, rdi
jb 0x14009f5e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009f661
call fcn.14000e3f0
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], rsi
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x14009f63a
mov rdx, qword [rbp + 0x2f]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
mov rax, rcx
cmp rdx, rdi
jb 0x14009f629
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009f65b
call fcn.14000e3f0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1f], xmm0
mov qword [rbp + 0x2f], rsi
mov al, bl
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1402194b0
mov rbx, qword [rsp + 0xd0]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret
call fcn.140287130
nop
call fcn.140287130
nop
int3
Function at 0x14009fadc
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x10060
call fcn.14021a050
sub rsp, rax
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rsp + 0x10050], rax
mov rax, rdx
mov rsi, rcx
xor ebx, ebx
mov qword [rsp + 0x48], rbx
cmp qword [rdx + 0x18], 7
jbe 0x14009fb1d
mov rax, qword [rdx]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
jne 0x14009fb7d
mov eax, 0x80004005
jmp 0x14009fba5
mov r8d, dword [rsp + 0x40]
test r8d, r8d
je 0x14009fba7
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x44]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rsi]
mov dword [rsp + 0x40], ebx
lea r9, [rsp + 0x40]
mov r8d, 0x10000
lea rdx, [rsp + 0x50]
mov rcx, rsi
mov rax, qword [rax + 0x18]
call qword [case.0x14001d845.0]
test eax, eax
jns 0x14009fb5b
mov ebx, eax
lea rcx, [rdi - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14009fbba
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rsp + 0x10050]
xor rcx, rsp
call fcn.1402194b0
lea r11, [rsp + 0x10060]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x14009fbe4
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, rdx
mov rsi, rcx
xor ebx, ebx
mov qword [rsp + 0x48], rbx
cmp qword [rdx + 0x18], 7
jbe 0x14009fc1a
mov rax, qword [rdx]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
je 0x14009fcbd
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r14, rax
test rax, rax
je 0x14009fcbd
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rbp, rax
test rax, rax
je 0x14009fca9
mov r15d, 0x7fffffff
mov r8d, ebp
cmp rbp, r15
cmova r8d, r15d
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x40]
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14009fcb4
mov eax, dword [rsp + 0x40]
add r14, rax
sub rbp, rax
jne 0x14009fc79
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x14009fcc2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ebx, 0x80004005
lea rcx, [rdi - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14009fcd5
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1402194b0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400a65dc
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ebx, ebx
mov rsi, rdx
lea ecx, [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400a6657
lea ecx, [rbx + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400a6657
mov rax, qword [rsi + 0x10]
sub rax, 0x25
je 0x1400a6649
sub rax, 1
je 0x1400a663f
sub rax, 1
je 0x1400a6635
cmp rax, 1
jne 0x1400a6653
mov rcx, rdi
call fcn.1400a7d30
jmp 0x1400a6651
mov rcx, rdi
call fcn.1400a8670
jmp 0x1400a6651
mov rcx, rdi
call fcn.1400a7fe0
jmp 0x1400a6651
mov rcx, rdi
call fcn.1400a8680
mov bl, 1
mov al, bl
jmp 0x1400a6659
xor al, al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400abd8c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r14
sub rsp, 0x30
mov rax, qword [0x140412700]
xor rax, rsp
mov qword [rsp + 0x20], rax
mov rsi, rcx
lea rax, [rcx + 0x38]
test rsi, rsi
mov rbx, rdx
mov ecx, 0x50
mov r14, r8
cmove rax, rcx
mov rdx, qword [rax]
inc rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x1400abe47
or rcx, 0xffffffffffffffff
xorps xmm1, xmm1
test rdx, rdx
js 0x1400abde0
cvtsi2ss xmm1, rdx
jmp 0x1400abdf5
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [rsi + 0x28]
movss xmm0, dword [0x1403a9d0c]
addss xmm1, dword [0x1403a9bf8]
comiss xmm0, xmm1
jbe 0x1400abe3c
movss xmm0, dword [0x1403a9d08]
xor eax, eax
comiss xmm1, xmm0
jb 0x1400abe34
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x1400abe34
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttss2si rcx, xmm1
add rcx, rax
mov rdx, rcx
mov rcx, rsi
call fcn.1400ac094
cmp qword [rbx + 0x18], 7
mov rcx, rbx
jbe 0x1400abe54
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
mov rdx, rbx
lea r8, [rcx + rax*2]
jbe 0x1400abe64
mov rdx, qword [rbx]
xor r9d, r9d
cmp rdx, r8
je 0x1400abea8
movabs r10, 0xc6a4a7935bd1e995
movzx ecx, word [rdx]
call fcn.14006a044
imul rax, r10
add rdx, 2
mov rcx, rax
shr rcx, 0x2f
xor rcx, rax
mov eax, 0xe6546b64
imul rcx, r10
xor r9, rcx
imul r9, r10
add r9, rax
cmp rdx, r8
jne 0x1400abe76
mov rdx, qword [rsi + 8]
mov rcx, r9
call fcn.1400ac54c
mov rcx, qword [rsi + 0x20]
lea rdi, [rcx + rax*8]
mov rdx, qword [rdi]
test rdx, rdx
je 0x1400abf2b
mov r10, qword [rbx + 0x10]
cmp qword [rdx - 0x10], 7
lea rcx, [rdx - 0x28]
jbe 0x1400abed6
mov rcx, qword [rcx]
cmp qword [rbx + 0x18], 7
mov r8, rbx
jbe 0x1400abee3
mov r8, qword [rbx]
cmp r10, qword [rdx - 0x18]
jne 0x1400abf1a
mov r9, r10
test r10, r10
je 0x1400abf08
sub r8, rcx
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x1400abf1a
add rcx, 2
sub r9, 1
jne 0x1400abef4
lea rcx, [rdx - 0x28]
neg rdx
sbb rax, rax
and rax, rcx
jmp 0x1400abf9e
mov rax, qword [rdx + 8]
cmp qword [rax], rdx
jne 0x1400abf2b
mov rdx, rax
test rax, rax
jne 0x1400abec8
mov r8, r14
mov rdx, rbx
call fcn.1400abfc8
mov r8, qword [r14]
mov r10, rax
cmp rax, r8
jne 0x1400abf9b
mov rcx, qword [rsi - 0x10]
lea rax, [r8 + 0x28]
lea rdx, [rcx + 0x28]
neg rcx
sbb r9, r9
and r9, rdx
neg r8
sbb r8, r8
and r8, rax
mov rax, qword [rdi]
test rax, rax
jne 0x1400abf84
mov rdx, qword [r9]
mov qword [r8], rdx
mov rax, qword [r9]
mov rcx, qword [rax + 8]
mov qword [r8 + 8], rcx
mov qword [rdx + 8], rdi
mov qword [rdi], r8
mov qword [r9], r8
jmp 0x1400abf9b
mov rax, qword [rax]
mov qword [r8], rax
mov rax, qword [rdi]
mov qword [r8 + 8], rax
mov qword [rdi], r8
mov rax, qword [r8 + 8]
mov qword [rax], r8
mov rax, r10
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.1402194b0
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret