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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3f0], 0xfffffffffffffffe
mov qword [rbp + 0x3e0], rcx
mov qword [rbp + 0x3c8], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x3d0], xmm0
mov rax, qword [rdx]
mov qword [rbp + 0x3c0], rax
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor ebx, ebx
xor edi, edi
xor r12d, r12d
cmp r8, 0x201
jae 0x1400393d0
jmp 0x1400393bf
jae 0x140039497
cmp r8, 0x201
jae 0x1400393d0
mov esi, 0x200
lea r13, [rbp - 0x60]
mov r15, r8
jmp 0x140039428
sub r8, r12
sub rdi, r12
cmp rdi, r8
jae 0x1400393ff
lea rcx, [rbp + 0x3c8]
mov rdx, r12
call fcn.140053e60
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x3e8], rax
mov rbx, qword [rbp + 0x3d0]
mov eax, 0xffffffff
cmp rbx, rax
mov r12d, 0xffffffff
cmovb r12, rbx
mov qword [rbp + 0x3d8], r12
mov rdi, rbx
mov rsi, r12
mov r13, qword [rbp + 0x3e8]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, qword [rbp + 0x3c0]
mov rdx, r13
mov r8d, r15d
call qword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov r14d, eax
test eax, eax
jne 0x140039458
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x1400394fb
mov r8d, r14d
cmp r15, r8
jne 0x1400393b0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14003951e
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x1400393bf
jmp 0x1400393d0
cmp rsi, r8
jb 0x140039538
lea rcx, [rbp + 0x3a0]
mov rdx, r13
call fcn.140042a20
movups xmm0, xmmword [rbp + 0x3a0]
movups xmm1, xmmword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3e0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
test rbx, rbx
je 0x1400394e6
mov rcx, qword [0x1400d0180]
xor edx, edx
mov r8, qword [rbp + 0x3e8]
call qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0x478
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp + 0x3e0]
mov qword [rcx], rax
mov byte [rcx + 0x18], 2
test rbx, rbx
jne 0x1400394d0
jmp 0x1400394e6
lea rcx, str.internal_error:_entered_unreachable_codelibrary_std_srcpanic.rs
lea r8, str.library_std_src_syswindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.1400531e0
jmp 0x14003954d
lea rax, str.library_std_src_syswindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.140053520
ud2
Function at 0x1400396c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
movzx ebp, byte [rdx + 0x38]
cmp bpl, 1
ja 0x14003971d
movzx ebx, byte [rdi + 0x3a]
mov rcx, rdi
call fcn.1400395a0
test bpl, bpl
jne 0x140039721
lea rcx, [rdi + 0x10]
xor r8d, r8d
cmp byte [rdi + 0x10], 6
cmove rcx, r8
je case.0x140039711.2
movzx edx, byte [rcx]
mov r8d, 6
lea r9, [0x140039894]
movsxd rdx, dword [r9 + rdx*4]
add rdx, r9
jmp rdx
mov r8, qword [rcx + 0x10]
add r8, 4
jmp case.0x140039711.2
xor eax, eax
xor ebx, ebx
xor r8d, r8d
movzx r10d, bl
movzx ebx, al
lea rcx, [r10 + rbx]
add rcx, r8
mov rdx, qword [rdi + 8]
cmp rdx, rcx
jb 0x140039878
mov r11, qword [rdi]
lea rax, [r11 + rcx]
cmp rdx, rcx
jne 0x140039758
movzx r9d, byte [rdi + 0x10]
xor r10d, r10d
jmp 0x1400397d9
movzx r9d, byte [rdi + 0x10]
add r8, rbx
add r8, r10
sub r8, rdx
inc r8
lea rdi, [rdx + r11]
dec rdi
xor r10d, r10d
cmp r9b, 3
jae 0x1400397a0
nop dword [rax]
cmp byte [rdi], 0x5c
je 0x1400397bb
inc r8
dec rdi
cmp r8, 1
jne 0x140039780
jmp 0x1400397d9
movzx ebx, byte [rdi]
cmp ebx, 0x2f
je 0x1400397bb
cmp ebx, 0x5c
je 0x1400397bb
inc r8
dec rdi
cmp r8, 1
jne 0x1400397a0
jmp 0x1400397d9
neg r8
add rcx, r8
inc rcx
cmp rdx, rcx
jb 0x140039886
add r11, rcx
mov r10d, 1
mov rax, r11
sub rdx, rcx
je 0x140039802
mov cl, 9
cmp rdx, 2
je 0x140039806
cmp rdx, 1
jne 0x140039815
cmp byte [rax], 0x2e
jne 0x140039815
xor ecx, ecx
cmp r9b, 3
setae cl
lea ecx, [rcx + rcx*2]
add ecx, 7
jmp 0x140039815
mov cl, 0xa
jmp 0x140039815
cmp byte [rax], 0x2e
jne 0x140039815
cmp byte [rax + 1], 0x2e
sete cl
xor cl, 9
add r10, rdx
mov qword [rsi], r10
mov byte [rsi + 8], cl
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rdx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x20]
lea r8, [rcx + 1]
test rcx, rcx
cmove r8, rcx
add r8, rdx
add r8, 8
jmp case.0x140039711.2
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x20]
lea r8, [rcx + 1]
test rcx, rcx
cmove r8, rcx
add r8, rdx
add r8, 2
jmp case.0x140039711.2
mov r8d, 2
jmp case.0x140039711.2
lea r8, str.library_std_srcpath.rs
call fcn.1400535a0
ud2
lea r8, str.library_std_srcpath.rs
call fcn.1400535a0
ud2

Function at 0x14003cad0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, 0x10
call qword [sym.imp.advapi32.dll_SystemFunction036]
test al, al
je 0x14003cb13
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [0x14003e3e0]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.1400530d0
ud2
Function at 0x1400490f8
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140048ee8
Function at 0x14004c160
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 0x14004c190
xor eax, eax
jmp 0x14004c253
mov rbp, rbx
cmp word [rax], si
je 0x14004c1b5
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x14004c19c
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x14004c198
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.14004c0b0
movsxd r14, eax
test eax, eax
jne 0x14004c1f3
mov rcx, rbx
call qword [sym.imp.kernel32.dll_FreeEnvironmentStringsW]
jmp 0x14004c189
mov rcx, r14
call fcn.14004d014
mov rdi, rax
test rax, rax
jne 0x14004c20c
xor ecx, ecx
call fcn.14004a740
jmp 0x14004c1e8
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.14004c0b0
test eax, eax
jne 0x14004c23d
mov rcx, rdi
call fcn.14004a740
jmp 0x14004c247
xor ecx, ecx
call fcn.14004a740
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 0x14004f71c
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.14004b1b4
mov rax, qword [rbp - 0x31]
mov ebx, 0xfde9
cmp dword [rax + 0xc], ebx
jne 0x14004f7a6
cmp byte [rbp - 0x21], r15b
je 0x14004f7a1
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, ebx
jmp 0x14004f7dc
call fcn.14004d834
test eax, eax
jne 0x14004f7c8
cmp byte [rbp - 0x21], r15b
je 0x14004f7c0
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov r9d, 1
jmp 0x14004f7dc
cmp byte [rbp - 0x21], r15b
je 0x14004f7d9
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.14004a790
test eax, eax
jne 0x14004f87c
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.14004b1b4
mov rax, qword [rbp - 0x31]
cmp dword [rax + 0xc], ebx
jne 0x14004f81b
cmp byte [rbp - 0x21], r15b
je 0x14004f850
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
jmp 0x14004f850
call fcn.14004d834
test eax, eax
jne 0x14004f83c
cmp byte [rbp - 0x21], r15b
je 0x14004f835
mov rax, qword [rbp - 0x39]
and dword [rax + 0x3a8], 0xfffffffd
mov ebx, 1
jmp 0x14004f850
cmp byte [rbp - 0x21], r15b
je 0x14004f84d
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.14004a790
mov rdi, qword [rbp - 9]
test eax, eax
jne 0x14004f87c
mov rcx, qword [rbp + 0x27]
mov rdx, rdi
call qword [sym.imp.kernel32.dll_SetEnvironmentVariableW]
mov ebx, eax
jmp 0x14004f87f
mov ebx, r15d
cmp byte [rbp + 0xf], r15b
je 0x14004f88d
mov rcx, rdi
call fcn.14004a740
cmp byte [rbp + 0x3f], r15b
je 0x14004f89c
mov rcx, qword [rbp + 0x27]
call fcn.14004a740
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 0x140002000
Capabilities:
Create process on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x14011d080]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, rdx
mov qword [r11 - 0x38], rdx
mov r8, qword [rdx + 0x10]
mov rcx, qword [rdx + 0x18]
mov rax, rcx
sub rax, r8
xor r15d, r15d
cmp rax, 3
jb 0x1400020cf
lea rax, [r8 + 3]
mov qword [rdx + 0x10], rax
mov rdi, rdx
cmp rcx, 0x10
jb 0x140002063
mov rdi, qword [rdx]
lea rax, [0x1400fca1b]
mov r14d, 3
lea rsi, [0x1400fca18]
cmp rax, rdi
jbe 0x140002097
lea rax, [rdi + r8]
cmp rsi, rax
ja 0x140002097
cmp rdi, rsi
ja 0x14000208f
mov rbp, r15
jmp 0x14000209a
mov rbp, rdi
sub rbp, rsi
jmp 0x14000209a
mov rbp, r14
inc r8
lea rcx, [rdi + 3]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rbp
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
sub r14, rbp
lea rdx, [rsi + 3]
add rdx, rbp
lea rcx, [rdi + rbp]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400020fa
mov r14d, 3
mov qword [rsp + 0x28], r14
lea rsi, [0x1400fca18]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
movzx r8d, byte [rsp + 0x30]
mov edx, r14d
mov rcx, rbx
call fcn.14000ed80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
mov dword [rsp + 0x40], reloc.WS2_32.dll_WSASetLastError
mov dword [rsp + 0x44], 0x40
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
lea rax, str.cmd.exe
mov qword [rsp + 0x58], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14000215c
mov rax, qword [rbx]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x70], r15d
mov qword [rsp + 0x78], r15
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
jne 0x140002192
mov edx, 0xffffffff
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400021ed
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400021e8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002229
mov rcx, r8
call fcn.1400e69f4
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400e6990
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140002230
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x14011d080]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rdx
mov dword [rsp + 0x20], 0x238
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14000239e
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
lea rax, [rsp + 0x4c]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140002290
cmp qword [rbx + 0x18], 8
mov r9, rbx
mov r10, qword [rbx + 0x10]
jb 0x1400022ab
mov r9, qword [rbx]
cmp rcx, r10
lea rdx, [rsp + 0x4c]
mov r8, r10
cmovb r8, rcx
test r8, r8
je 0x1400022e4
lea rax, [rsp + 0x4c]
sub r9, rax
nop word [rax + rax]
movzx eax, word [r9 + rdx]
cmp ax, word [rdx]
jne 0x1400022ef
add rdx, 2
sub r8, 1
jne 0x1400022d0
cmp r10, rcx
jb 0x1400022ef
jbe 0x14000240f
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x140002395
nop word [rax + rax]
lea rax, [rsp + 0x4c]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x140002320
cmp qword [rbx + 0x18], 8
mov r9, rbx
mov r10, qword [rbx + 0x10]
jb 0x14000233b
mov r9, qword [rbx]
cmp rcx, r10
lea rdx, [rsp + 0x4c]
mov r8, r10
cmovb r8, rcx
test r8, r8
je 0x140002374
lea rax, [rsp + 0x4c]
sub r9, rax
nop word [rax + rax]
movzx eax, word [r9 + rdx]
cmp ax, word [rdx]
jne 0x14000237f
add rdx, 2
sub r8, 1
jne 0x140002360
cmp r10, rcx
jb 0x14000237f
jbe 0x14000240f
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140002310
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x1400023dd
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1400023d8
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000246c
mov rcx, r8
call fcn.1400e69f4
xor eax, eax
mov word [rbx], ax
mov qword [rbx + 0x18], 7
mov qword [rbx + 0x10], rax
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400e6990
mov rbx, qword [rsp + 0x280]
add rsp, 0x270
pop rdi
ret
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbx + 0x18]
mov edi, dword [rsp + 0x28]
cmp rdx, 8
jb 0x140002457
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140002452
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000246c
mov rcx, r8
call fcn.1400e69f4
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 7
mov word [rbx], ax
mov eax, edi
jmp 0x1400023ee
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14000e2b0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r9, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14000e502
mov ecx, dword [0x1400fd748]
movups xmm0, xmmword [str._fSCqWTNP_K_._]
movzx eax, byte [0x1400fd74e]
mov dword [rsp + 0x40], ecx
movzx ecx, word [0x1400fd74c]
mov word [rsp + 0x44], cx
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
mov qword [rsp + 0x80], rbx
movups xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x46], al
jl 0x14000e48e
movdqa xmm0, xmmword [str.3333333333333333]
lea rdx, [rsp + 0x34]
movdqa xmm5, xmmword [0x140106bb0]
mov eax, 5
movdqa xmm4, xmmword [0x140107110]
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movdqa xmm7, xmmword [0x140106bf0]
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 dword [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
pand xmm2, xmmword [0x140106c70]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
pxor 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
pand xmm2, xmmword [0x140106c70]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
pxor xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x10
jl 0x14000e370
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
cmp ecx, 0x17
jge 0x14000e4cf
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop dword [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, 0x33
xor byte [r8 - 1], al
cmp ecx, 0x17
jl 0x14000e4a0
lea rdx, [rsp + 0x30]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14000e4fa
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 + 0x80]
add rsp, 0x88
ret
Function at 0x14000e510
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
mov rbx, rcx
xor edi, edi
mov ecx, 0xbeef
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e53b
test edi, edi
je 0x14000e553
mov rcx, rbx
call fcn.140002480
mov ecx, 0x4000
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14000e590
Capabilities:
Print debug messages

Disassembly:
sub rsp, 0x28
lea rcx, str._s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x14000e5a3
add rsp, 0x28
ret
Function at 0x1400127c0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x13f0
call fcn.1400e7700
sub rsp, rax
mov rax, qword [0x14011d080]
xor rax, rsp
mov qword [rsp + 0x13e0], rax
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor ebx, ebx
mov dword [rsp + 0x24], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
lea r8d, [rbx + 0xa]
lea rdx, str.1234567890
lea rcx, [rsp + 0x30]
call fcn.14000ec80
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rsp + 0x13d4], 0xffffffff
mov dword [rsp + 0x54], eax
lea ecx, [rbx + 1]
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x54], edx
inc rcx
cmp rcx, 0x270
jb 0x140012850
mov dword [rsp + 0x50], 0x270
mov r14d, dword [rsp + 0x40]
dec r14d
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov dword [rsp + 0x24], 1
mov r15d, 4
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0x20]
mov eax, r14d
cmp r14d, 0x80000000
cmovae eax, r14d
lea rcx, [rsp + 0x50]
cmp eax, 0xffffffff
jne 0x1400128d2
call fcn.14004dd90
mov ecx, eax
jmp 0x14001290c
lea esi, [rax + 1]
call fcn.14004dd90
mov ebp, esi
mov ecx, eax
imul rcx, rbp
cmp ecx, esi
jae 0x140012908
mov eax, esi
neg eax
xor edx, edx
div esi
mov esi, edx
cmp ecx, edx
jae 0x140012908
lea rcx, [rsp + 0x50]
call fcn.14004dd90
mov ecx, eax
imul rcx, rbp
cmp ecx, esi
jb 0x1400128f4
shr rcx, 0x20
lea rdx, [rsp + 0x30]
cmp r13, 0x10
cmovae rdx, r12
movsxd rax, ecx
movzx r9d, byte [rax + rdx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14001294d
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x140012942
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14001295e
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.140045a50
sub r15, 1
jne 0x1400128b1
cmp r13, 0x10
jb 0x1400129a3
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x14001299b
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001299b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.1400e69f4
mov rax, rdi
mov rcx, qword [rsp + 0x13e0]
xor rcx, rsp
call fcn.1400e6990
lea r11, [rsp + 0x13f0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret