joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004b280
Capabilities:
Access pe header

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x60
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbp, rcx
call qword [sym.imp.ntdll.dll_RtlImageNtHeader]
mov rbx, rax
test rax, rax
jne 0x14004b2b1
xor edi, edi
mov eax, edi
jmp 0x14004b41d
xorps xmm0, xmm0
mov qword [rsp + 0x88], rsi
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x90], r14
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call fcn.14004bc10
lea rcx, [rsp + 0x20]
call rax
movzx esi, word [rbx + 0x14]
xor edi, edi
movzx r8d, word [rbx + 6]
add rsi, rbx
mov r14d, dword [rsp + 0x48]
movzx edx, di
cmp di, r8w
jae 0x14004b334
mov r10, qword [rbx + 0x30]
lea r11d, [r14 - 1]
nop dword [rax]
nop word [rax + rax]
movzx eax, dx
lea rcx, [rax + rax*4]
mov eax, dword [rsi + rcx*8 + 0x24]
mov ecx, edi
add rax, r10
test r11, rax
sete cl
test r11, rax
jne 0x14004b341
inc dx
cmp dx, r8w
jb 0x14004b310
lea ecx, [r14 - 1]
test qword [rbx + 0x30], rcx
mov ecx, edi
sete cl
test ecx, ecx
je 0x14004b363
call fcn.14003b260
mov edx, dword [rbx + 0x50]
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
call rax
mov r14, rax
test rax, rax
jne 0x14004b36a
mov eax, edi
jmp 0x14004b40d
mov rdx, r14
mov rcx, rbx
call fcn.14004b440
lea rax, [0x14004b4d0]
mov rcx, r14
sub rax, rbp
add rax, r14
call rax
test eax, eax
jne 0x14004b38f
mov ebx, edi
jmp 0x14004b3f9
mov rcx, rbp
mov qword [rsp + 0x98], r15
call qword [sym.imp.ntdll.dll_RtlImageNtHeader]
mov rsi, rax
test rax, rax
je 0x14004b3ef
movzx r15d, word [rax + 0x14]
movzx ebx, di
add r15, rax
cmp di, word [rax + 6]
jae 0x14004b3e1
nop dword [rax]
movzx eax, bx
lea rdx, [rax + rax*4]
mov ecx, dword [r15 + rdx*8 + 0x24]
add rcx, rbp
call fcn.14004bb60
test eax, eax
je 0x14004b3ef
inc bx
cmp bx, word [rsi + 6]
jb 0x14004b3c0
mov rcx, rbp
call fcn.14004bb60
mov ebx, eax
test eax, eax
jne 0x14004b3f1
mov ebx, edi
mov r15, qword [rsp + 0x98]
call fcn.14003bb90
xor edx, edx
mov r8d, 0x8000
mov rcx, r14
call rax
mov eax, ebx
mov rsi, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140167e90
add rsp, 0x60
pop rdi
pop rbp
pop rbx
ret
Function at 0x14004e8e0
Capabilities:
Check process job object
Get process image filename

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rsp + 0x70], rax
xor esi, esi
mov ecx, 0x2010
call fcn.140182c38
mov r14, rax
test rax, rax
je 0x14004eacb
mov rdi, rax
xor eax, eax
mov ecx, 0x2010
rep stosb byte [rdi], al
mov dword [r14 + 4], 0x400
mov qword [rsp + 0x20], rsi
mov r9d, 0x2010
mov r8, r14
lea edx, [rsi + 3]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
test eax, eax
je 0x14004eac3
mov r13d, esi
mov ebp, esi
mov eax, dword [r14]
test eax, eax
je 0x14004eabc
nop dword [rax]
mov eax, ebp
mov rdi, qword [r14 + rax*8 + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov eax, eax
cmp rdi, rax
jne 0x14004e98c
inc r13d
jmp 0x14004eaaf
mov r8d, edi
xor edx, edx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r15, rax
test rax, rax
je 0x14004eaaf
mov ecx, 0x1000
call fcn.140182c38
mov rbx, rax
test rax, rax
je 0x14004eaa6
mov rdi, rax
xor eax, eax
mov ecx, 0x1000
rep stosb byte [rdi], al
mov r8d, 0x1000
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameA]
test eax, eax
je 0x14004ea9e
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x14004ea00
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140011c40
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov r8d, Ordinal_33
lea rdx, str.WindowsSystem32conhost.exe
lea rcx, [rsp + 0x30]
call fcn.140011c40
lea r9, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r9, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x60]
call fcn.1400131c0
mov rdi, rax
lea rcx, [rsp + 0x30]
call fcn.140010b20
nop
lea rcx, [rsp + 0x50]
call fcn.140010b20
lea eax, [r13 + 1]
cmp rdi, 0xffffffffffffffff
cmove eax, r13d
mov r13d, eax
mov rcx, rbx
call fcn.14017d748
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc ebp
mov eax, dword [r14]
cmp ebp, eax
jb 0x14004e970
cmp r13d, eax
setne sil
mov rcx, r14
call fcn.14017d748
mov eax, esi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140167e90
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
Function at 0x14004efb0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor ebx, ebx
mov edx, 0x8000
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rbx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
je 0x14004f16f
xor ecx, ecx
mov qword [rsp + 0x68], rsi
mov edx, 0x1000000
mov r8d, 0x203000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x14004f02a
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
jmp 0x14004f16a
mov qword [rsp + 0x60], rbp
mov rdx, rsi
mov qword [rsp + 0x70], r14
xor ecx, ecx
mov r14d, 1
mov r8d, r14d
call qword [sym.imp.KERNEL32.dll_GlobalGetAtomNameA]
mov ebp, ebx
lea rcx, str._ThisIsAnInvalidEnvironmentVariableName_________:__
test eax, eax
mov r8d, 0x1000000
mov rdx, rsi
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov rdx, rsi
lea rcx, str._ThisIsAnInvalidFileName_________:__
test eax, eax
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
mov r9d, 0x1000
mov qword [rsp + 0x20], rbx
test eax, eax
lea edx, [r14 + 0x44]
mov r8, rsi
cmovne ebp, r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapQueryInformation]
mov r9d, 0x1000
mov qword [rsp + 0x20], rbx
test eax, eax
lea rcx, [r14 - 2]
mov r8, rsi
mov edx, 0x69696969
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, rsi
lea rcx, [r14 - 2]
test eax, eax
cmovne ebp, r14d
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov qword [rsp + 0x28], rsi
lea rdx, [fcn.14004efb0]
test eax, eax
mov qword [rsp + 0x20], rbx
cmovne ebp, r14d
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWriteWatch]
mov r14, qword [rsp + 0x70]
test eax, eax
je 0x14004f141
test ebp, ebp
jne 0x14004f141
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], 0x1000
mov qword [rsp + 0x28], rax
mov r9, rdi
lea rax, [rsp + 0x30]
mov r8d, 0x1000
mov rdx, rsi
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWriteWatch]
test eax, eax
jne 0x14004f141
cmp qword [rsp + 0x30], rbx
setne bl
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor edx, edx
mov r8d, 0x8000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rbp, qword [rsp + 0x60]
mov eax, ebx
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140167e90
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
Function at 0x140062a20
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x140062a7d
lea rbx, [0x1409133a0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140062a64
cmp r10, 2
jb 0x140062a64
cmp byte [r9], r8b
jne 0x140062a64
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x140062a40
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x140062abf
lea rbx, [0x1409133a0]
cmp r8b, 0x23
jne 0x140062aa3
cmp byte [r9], r8b
jne 0x140062aa3
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x140062a90
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x140062c00
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x140062c1a
mov qword [r8], 0
lea rdx, [0x140996398]
call fcn.140062ad0
mov rbx, rax
test rax, rax
jne 0x140062c3a
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call fcn.1401835e0
mov esi, eax
cmp eax, 0xffffffff
je 0x140062d08
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call fcn.14017df1c
test eax, eax
jne 0x140062d08
mov rcx, rbx
call fcn.1401835e0
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140062d08
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.14017df1c
test eax, eax
jne 0x140062d08
cmp rdi, 0xffffffffffffffff
je 0x140062d08
mov rax, qword [0x140a04520]
test rax, rax
je 0x140062caa
inc dword [rax + 0xec]
mov rcx, rdi
call fcn.140182c38
mov rsi, rax
test rax, rax
je 0x140062d08
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.14017db6c
mov rcx, rbx
cmp rax, rdi
je 0x140062cf6
call fcn.1401793c4
mov rax, qword [0x140a04520]
test rax, rax
je 0x140062cec
dec dword [rax + 0xec]
mov rcx, rsi
call fcn.14017d748
jmp 0x140062d10
call fcn.1401793c4
test r14, r14
je 0x140062d03
mov qword [r14], rdi
mov rax, rsi
jmp 0x140062d12
mov rcx, rbx
call fcn.1401793c4
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x140064e10
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xd0]
mov rax, qword [rcx + 0xd8]
movsxd r9, edx
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x1409133a0]
not ebx
movzx eax, r9b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
shr eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r9d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [0x140a04520]
xor ebx, dword [r8 + rdx*4]
not ebx
cmp dword [rcx + 0x3edc], ebx
jne 0x140064ea6
mov r8, r9
mov edx, 4
mov ecx, ebx
call fcn.140076840
mov eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x140070540
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1409c0280]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x140a04520]
mov edi, ecx
cmp byte [rbx + 0x424d], 0
jne 0x1400705a1
cmp byte [rbx + 0x424e], 0
jne 0x1400705a1
movsx r9d, word [rbx + 0x5332]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.1400628e0
test dil, 1
je 0x1400706c8
jmp 0x14007062a
movss xmm1, dword [rbx + 0x38b0]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5332]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x14099d7cc]
mulss xmm1, dword [0x14099d7b8]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xd94]
addss xmm1, dword [rbx + 0xd98]
mov qword [rbx + 0x3fc8], rax
mov dword [rbx + 0x3fb4], 1
movss dword [rbx + 0x3fc0], xmm0
movss dword [rbx + 0x3fc4], xmm1
movss xmm0, dword [rbx + 0x390c]
mulss xmm0, dword [0x14099d6e4]
or dword [rbx + 0x3fb0], 0x41
movss dword [rbx + 0x4010], xmm0
call fcn.1400628e0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140070680
lea r11, [0x1409133a0]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x140070663
cmp byte [r8], r9b
jne 0x140070663
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140070650
not ecx
call fcn.140069740
test rax, rax
je 0x1400706c8
cmp byte [rax + 0x96], 0
je 0x1400706c8
mov byte [rax + 0x9d], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb8], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x5332]
mov edx, reloc.WS2_32.dll_recv
movsx r9d, word [rbx + 0x5332]
call fcn.1400628e0
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14006be70
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140167e90
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x140075ab0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x140a04520]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x140075b13
mov qword [rsp], rbx
lea rbx, [0x1409133a0]
nop dword [rax]
cmp r9b, 0x23
jne 0x140075af3
cmp byte [r8], r9b
jne 0x140075af3
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x140075ae0
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5390]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x140075b47
mov r10, qword [r10 + 0x5398]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x140075b4e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x140075b34
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x140099ab0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov edx, dword [rcx + 0x10]
mov rbx, rcx
mov edi, edx
and edi, 7
je 0x140099b0d
cmp edx, edi
jge 0x140099b03
mov r9, qword [rcx + 8]
mov r10d, dword [rcx + 0x14]
mov rax, qword [rbx]
cmp rax, r9
jb 0x140099adf
xor cl, cl
jmp 0x140099ae8
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
movzx eax, cl
mov ecx, edx
shl eax, cl
add edx, 8
or eax, r10d
mov dword [rbx + 0x10], edx
mov dword [rbx + 0x14], eax
mov r10d, eax
cmp edx, 0x18
jle 0x140099ad3
mov ecx, edi
shr dword [rbx + 0x14], cl
sub edx, edi
mov dword [rbx + 0x10], edx
xor r9d, r9d
mov ecx, edx
test edx, edx
jle 0x140099b4e
mov eax, dword [rbx + 0x14]
lea rdx, [rsp + 0x30]
movzx r10d, al
nop dword [rax]
nop word [rax + rax]
shr eax, 8
inc r9d
mov byte [rdx], r10b
lea rdx, [rdx + 1]
sub ecx, 8
mov dword [rbx + 0x14], eax
movzx r10d, al
test ecx, ecx
jg 0x140099b30
mov dword [rbx + 0x10], ecx
movsxd rcx, r9d
cmp rcx, 4
jge 0x140099b82
mov r8, qword [rbx + 8]
nop dword [rax + rax]
mov rax, qword [rbx]
cmp rax, r8
jb 0x140099b6c
xor dl, dl
jmp 0x140099b75
movzx edx, byte [rax]
inc rax
mov qword [rbx], rax
mov byte [rsp + rcx + 0x30], dl
inc rcx
cmp rcx, 4
jl 0x140099b60
movzx eax, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x33]
shl r8d, 8
add r8d, eax
shl ecx, 8
movzx eax, byte [rsp + 0x32]
add ecx, eax
mov eax, r8d
xor eax, 0xffff
cmp ecx, eax
je 0x140099bd8
mov rax, qword gs:[0x58]
mov edx, Ordinal_27
mov rcx, qword [rax]
lea rax, str.zlib_corrupt
mov qword [rdx + rcx], rax
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rbx]
mov edi, r8d
add rcx, rdi
cmp rcx, qword [rbx + 8]
jbe 0x140099c10
mov rax, qword gs:[0x58]
mov edx, Ordinal_27
mov rcx, qword [rax]
lea rax, str.read_past_buffer
mov qword [rdx + rcx], rax
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rdx, qword [rbx + 0x18]
lea rax, [r8 + rdx]
cmp rax, qword [rbx + 0x28]
jbe 0x140099c2a
mov rcx, rbx
call fcn.140099190
test eax, eax
je 0x140099bcb
mov rdx, qword [rbx]
mov r8, rdi
mov rcx, qword [rbx + 0x18]
call fcn.14016a6b0
add qword [rbx], rdi
mov eax, 1
add qword [rbx + 0x18], rdi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400a5580
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
cmp byte [0x140996d8f], 0
mov eax, dword [0x140996d8c]
mov dword [rsp + 0x30], eax
je 0x1400a568d
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400a564c
movdqa xmm3, xmmword [0x14099d990]
mov ecx, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14099de50]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14099de50]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
mov ecx, Ordinal_33
psrad xmm2, xmm0
movdqa xmm1, xmm2
movd xmm0, ecx
lea rcx, [rsp + 0x30]
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14099da00]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14099da90]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14099db40]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x30], xmm2
call fcn.140182a90
add rsp, 0x28
ret
lea r8, [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x37
xor byte [r8 - 1], al
cmp ecx, 4
jl 0x1400a5660
lea rcx, [rsp + 0x30]
call fcn.140182a90
add rsp, 0x28
ret

Function at 0x1400a56a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
cmp byte [0x140996e5f], 0
mov eax, dword [0x140996e5c]
mov dword [rsp + 0x30], eax
je 0x1400a57ad
xor ecx, ecx
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400a576c
movdqa xmm3, xmmword [0x14099d990]
mov ecx, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14099de50]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14099de50]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
mov ecx, Ordinal_33
psrad xmm2, xmm0
movdqa xmm1, xmm2
movd xmm0, ecx
lea rcx, [rsp + 0x30]
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14099da00]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14099da90]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14099db40]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x30], xmm2
call fcn.140182a90
add rsp, 0x28
ret
lea r8, [rsp + 0x30]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x37
xor byte [r8 - 1], al
cmp ecx, 4
jl 0x1400a5780
lea rcx, [rsp + 0x30]
call fcn.140182a90
add rsp, 0x28
ret
Function at 0x1400aec00
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rbx, r8
mov r14, rdx
mov r13, rcx
mov r8, qword [r8 + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400aec2e
mov rdx, qword [rbx]
movabs rdi, 0xcbf29ce484222325
xor r12d, r12d
mov ecx, r12d
test r8, r8
je 0x1400aec63
movabs r9, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r9
inc rcx
cmp rcx, r8
jb 0x1400aec50
mov r9, rdi
mov r8, rbx
lea rdx, [rsp + 0x20]
mov rcx, r13
call fcn.1400af1a0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400aec8c
mov qword [r14], rcx
mov byte [r14 + 8], r12b
jmp 0x1400aee31
movabs rax, 0x492492492492492
cmp qword [r13 + 0x10], rax
je 0x1400aee4c
lea rbp, [r13 + 8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], r12
mov ecx, gethostname
call fcn.140167eb0
mov rsi, rax
mov qword [rsp + 0x38], rax
mov rdx, rbx
lea rcx, [rax + 0x10]
call fcn.140012d80
mov qword [rsi + 0x30], r12
mov rcx, qword [r13 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1400aece4
cvtsi2ss xmm0, rcx
jmp 0x1400aecf9
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r13 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1400aed0c
cvtsi2ss xmm1, rcx
jmp 0x1400aed21
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r13]
seta al
test al, al
je 0x1400aedd9
mov rcx, r13
call fcn.1400aee70
mov rax, qword [r13 + 0x30]
and rax, rdi
add rax, rax
mov rdx, qword [r13 + 0x18]
mov rbx, qword [rdx + rax*8 + 8]
mov rcx, qword [rbp]
cmp rbx, rcx
jne 0x1400aed65
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r12
jmp 0x1400aedce
mov r12, qword [rdx + rax*8]
mov rbp, qword [rsi + 0x20]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400aed82
mov rdx, qword [rdx]
lea rcx, [rsi + 0x10]
cmp qword [rsi + 0x28], 0x10
jb 0x1400aed91
mov rcx, qword [rsi + 0x10]
cmp rbp, rax
jne 0x1400aeda2
mov r8, rbp
call fcn.14016b240
test eax, eax
je 0x1400aedad
cmp rbx, r12
je 0x1400aedbc
mov rbx, qword [rbx + 8]
jmp 0x1400aed70
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x1400aedca
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
lea rbp, [r13 + 8]
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x20]
mov r8, qword [rdx + 8]
inc qword [r13 + 0x10]
mov qword [rsi], rdx
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
mov rcx, qword [r13 + 0x18]
mov rax, qword [r13 + 0x30]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [rbp]
jne 0x1400aee12
mov qword [rcx + rax*8], rsi
jmp 0x1400aee24
cmp r9, rdx
jne 0x1400aee1d
mov qword [rcx + rax*8], rsi
jmp 0x1400aee29
cmp qword [rcx + rax*8 + 8], r8
jne 0x1400aee29
mov qword [rcx + rax*8 + 8], rsi
mov qword [r14], rsi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.unordered_map_set_too_long
call fcn.140166690
int3
Function at 0x1400b7810
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
xor eax, eax
mov r10, rcx
mov r9d, eax
test r8d, r8d
jle 0x1400b78e9
cmp r8d, 8
jb 0x1400b78e9
mov qword [rsp + 0x10], rbx
lea r11, [rdx + 4]
mov qword [rsp], rdi
sub rcx, rdx
movsxd rbx, r8d
mov rdi, 0xfffffffffffffffc
and rbx, 0xfffffffffffffff8
xorps xmm4, xmm4
sub rdi, rdx
xorps xmm3, xmm3
nop word [rax + rax]
movd xmm2, dword [rcx + r11 - 4]
xorps xmm0, xmm0
movd xmm1, dword [r11 - 4]
lea r11, [r11 + 8]
punpcklbw xmm2, xmm0
lea rax, [rdi + r11]
punpcklwd xmm2, xmm0
add r9d, 8
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
movd xmm1, dword [r11 - 8]
punpcklbw xmm1, xmm0
por xmm4, xmm2
movd xmm2, dword [rcx + r11 - 8]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
por xmm3, xmm2
cmp rax, rbx
jl 0x1400b7860
mov rdi, qword [rsp]
por xmm3, xmm4
mov rbx, qword [rsp + 0x10]
movdqa xmm0, xmm3
psrldq xmm0, 8
por xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
por xmm3, xmm0
movd eax, xmm3
movsxd r11, r9d
movsxd r9, r8d
cmp r11, r9
jge 0x1400b7918
sub r10, rdx
lea rcx, [r11 + rdx]
sub r9, r11
nop
movzx r8d, byte [rcx + r10]
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
xor r8d, edx
or eax, r8d
sub r9, 1
jne 0x1400b7900
add rsp, 8
ret