joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140170a90
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x50], xmm4
xor eax, eax
mov qword [rbp - 0x40], rax
mov rbx, rdx
mov rsi, r8
mov rdi, r9
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.140147bc0
nop
test rbx, rbx
je 0x140170ae6
add rbx, 0xc
mov rdx, rbx
jmp 0x140170ae8
xor edx, edx
mov qword [rbp - 0x50], rdx
mov rcx, qword [rbp - 0x48]
mov rbx, qword [rbp + 0x30]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rbp + 0x38]
mov qword [rsp + 0x28], rbx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x60], rdx
mov r8, rsi
mov qword [rbp - 0x68], r8
mov r9, rdi
mov qword [rbp - 0x70], r9
lea rcx, [rbp - 0x98]
call fcn.140008340
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x70]
call sub.ADVAPI32.dll_RegQueryValueExW
mov ebx, eax
lea rcx, [rbp - 0x98]
call fcn.140008390
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
cmp byte [rbp - 0x40], 0
je 0x140170b65
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.140147c00
mov eax, ebx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1401e8c20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rax, qword [rsp + 0x90]
mov r10d, dword [rsp + 0x98]
lea r11d, [r9 - 1]
test r9d, r9d
jle 0x1401e8d73
mov r9d, dword [rcx + 0x10]
inc r9d
mov ebx, r9d
sar ebx, 0x1f
and ebx, 0xff
add ebx, r9d
and ebx, 0xffffff00
sub r9d, ebx
mov dword [rcx + 0x10], r9d
mov ebx, dword [rcx + 0x14]
mov rsi, qword [rcx + 8]
mov rdi, rsi
mov ebp, r9d
mov r14d, dword [rdi + 8]
cmp ebp, r14d
jae 0x1401e8d84
movzx edi, byte [rdi + rbp + 0x10]
add ebx, edi
mov edi, ebx
sar edi, 0x1f
and edi, 0xff
add edi, ebx
and edi, 0xffffff00
sub ebx, edi
mov dword [rcx + 0x14], ebx
mov rbx, rsi
mov edi, r9d
cmp edi, r14d
jae 0x1401e8d84
lea rbx, [rbx + rbp + 0x10]
mov rdi, rsi
mov r15d, dword [rcx + 0x14]
mov r13d, r15d
cmp r13d, r14d
jae 0x1401e8d84
lea rdi, [rdi + r13 + 0x10]
movzx r13d, byte [rbx]
movzx r12d, byte [rdi]
mov byte [rbx], r12b
mov byte [rdi], r13b
mov rbx, rsi
mov rdi, rsi
cmp r9d, r14d
jae 0x1401e8d84
movzx r9d, byte [rdi + rbp + 0x10]
cmp r15d, r14d
jae 0x1401e8d84
mov edi, r15d
movzx esi, byte [rsi + rdi + 0x10]
add r9d, esi
mov esi, r9d
sar esi, 0x1f
and esi, 0xff
add esi, r9d
and esi, 0xffffff00
sub r9d, esi
cmp r9d, r14d
jae 0x1401e8d84
movzx r9d, byte [rbx + r9 + 0x10]
lea ebx, [r10 + 1]
lea esi, [r8 + 1]
cmp r8d, dword [rdx + 8]
jae 0x1401e8d84
mov r8d, r8d
movzx r8d, byte [rdx + r8 + 0x10]
xor r8d, r9d
movzx r8d, r8b
cmp r10d, dword [rax + 8]
jae 0x1401e8d84
mov r10d, r10d
mov byte [rax + r10 + 0x10], r8b
mov r9d, r11d
lea r11d, [r9 - 1]
test r9d, r9d
mov r8d, esi
mov r10d, ebx
jg 0x1401e8c4d
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14016c7e0
int3
Function at 0x1401e90a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x60]
mov rsi, rcx
mov rdi, rdx
mov ebx, r9d
mov edx, r8d
sar edx, 0x1f
and edx, 7
add edx, r8d
sar edx, 3
movsxd rdx, edx
lea rcx, [0x1405a3738]
call fcn.1400077d0
mov r14, rax
lea rcx, [0x1404b8f30]
call fcn.1400076b0
mov r15, rax
mov rcx, r15
call fcn.1401ca370
mov qword [rbp - 0x38], r15
lea rcx, [0x1405a3738]
mov edx, 0x20
call fcn.1400077d0
mov r13, rax
mov rcx, r13
mov rdx, rsi
call fcn.1401e8fc0
mov rcx, r15
mov rdx, r13
call fcn.1401c9f60
mov rdx, rax
cmp ebx, 3
jl 0x1401e913e
xor esi, esi
mov rcx, r15
call fcn.1401c9f60
mov rdx, rax
inc esi
cmp esi, 0x32
jl 0x1401e912c
mov esi, dword [r14 + 8]
mov dword [rsp + 0x20], esi
mov rcx, rdx
mov r8, r14
xor edx, edx
xor r9d, r9d
call fcn.1400cd6e0
nop
mov rcx, r15
lea r10, [0x140476350]
call qword [r10]
mov rcx, rdi
cmp dword [rcx], ecx
call fcn.140250370
mov r15, rax
xor edi, edi
mov edx, 0x13
cmp ebx, 3
cmovge edi, edx
test edi, edi
jl 0x1401e91f1
mov ebx, esi
mov rdx, rbx
lea rcx, [0x1405a3738]
call fcn.1400077d0
xor ecx, ecx
mov edx, dword [rax + 8]
test edx, edx
jle 0x1401e91df
cmp esi, edx
jl 0x1401e91bd
mov r8d, ecx
movzx r10d, byte [r14 + r8 + 0x10]
xor r10d, edi
movzx r10d, r10b
mov byte [rax + r8 + 0x10], r10b
inc ecx
cmp edx, ecx
jg 0x1401e91a0
jmp 0x1401e91df
cmp ecx, esi
jae 0x1401e9203
mov r10d, ecx
movzx r8d, byte [r14 + r10 + 0x10]
xor r8d, edi
movzx r10d, r8b
mov r8d, ecx
mov byte [rax + r8 + 0x10], r10b
inc ecx
cmp edx, ecx
jg 0x1401e91bd
mov rcx, rax
mov rdx, r15
call fcn.1401e89f0
mov r15, rax
dec edi
jns 0x1401e9184
mov rax, r15
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14016c7e0
int3
Function at 0x1401e9240
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x60]
mov rbx, rcx
mov rsi, rdx
lea rcx, [0x1404b8f30]
call fcn.1400076b0
mov rdi, rax
mov rcx, rdi
call fcn.1401ca370
mov qword [rbp - 0x38], rdi
mov r14, qword [0x1409347e8]
mov edx, dword [r14 + 8]
mov edx, 0x20
mov rcx, qword [rsi + 8]
add edx, dword [rcx + 8]
movsxd rdx, edx
lea rcx, [0x1405a3738]
call fcn.1400077d0
mov r15, rax
mov ecx, dword [r14 + 8]
mov dword [rsp + 0x20], 0x20
mov rcx, qword [r14 + 8]
mov r8, r15
xor edx, edx
xor r9d, r9d
call fcn.1400cd6e0
xor ecx, ecx
mov rdx, qword [rsi + 8]
cmp dword [rdx + 8], 0
jle 0x1401e92f5
mov eax, dword [r14 + 8]
mov eax, dword [r14 + 8]
lea eax, [rcx + 0x20]
mov r8, rdx
cmp ecx, dword [r8 + 8]
jae 0x1401e934d
mov r10d, ecx
movzx r8d, byte [r8 + r10 + 0x10]
cmp eax, dword [r15 + 8]
jae 0x1401e934d
mov byte [r15 + rax + 0x10], r8b
inc ecx
cmp dword [rdx + 8], ecx
jg 0x1401e92ca
mov rcx, rdi
mov rdx, r15
call fcn.1401c9f60
mov rsi, rax
xor r14d, r14d
mov r15d, dword [rbx + 8]
mov r13d, r15d
mov rdx, r13
lea rcx, [0x1405a3738]
call fcn.1400077d0
xor ecx, ecx
test r15d, r15d
jle 0x1401e9375
cmp dword [rax + 8], r15d
jl 0x1401e9352
nop dword [rax]
mov edx, ecx
movzx r8d, byte [rbx + rdx + 0x10]
xor r8d, r14d
movzx r8d, r8b
mov byte [rax + rdx + 0x10], r8b
inc ecx
cmp r15d, ecx
jg 0x1401e9330
jmp 0x1401e9375
call fcn.14016c7e0
mov r8d, ecx
movzx edx, byte [rbx + r8 + 0x10]
xor edx, r14d
movzx r8d, dl
cmp ecx, dword [rax + 8]
jae 0x1401e934d
mov edx, ecx
mov byte [rax + rdx + 0x10], r8b
inc ecx
cmp r15d, ecx
jg 0x1401e9352
mov rcx, rax
mov rdx, rsi
call fcn.1401e89f0
mov rsi, rax
inc r14d
cmp r14d, 0x14
jl 0x1401e930d
lea rcx, [0x1405a3738]
mov edx, 0x20
call fcn.1400077d0
mov rbx, rax
mov dword [rsp + 0x20], 0x10
mov rcx, rsi
mov r8, rbx
xor edx, edx
xor r9d, r9d
call fcn.1400cd6e0
nop
mov rcx, rdi
lea r10, [0x140476360]
call qword [r10]
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x14039ae80
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x38
cmp r8d, 8
jge 0x14039af1d
xor eax, eax
cmp r8d, 4
jl 0x14039aed1
add r8d, 0xfffffffc
movsx r10, word [rcx + rax*2]
movsx r9, dx
cmp r10d, r9d
je 0x14039af18
nop dword [rax]
movsx r10, word [rcx + rax*2 + 2]
cmp r10d, r9d
je 0x14039af11
movsx r10, word [rcx + rax*2 + 4]
cmp r10d, r9d
je 0x14039af09
movsx r10, word [rcx + rax*2 + 6]
cmp r10d, r9d
je 0x14039af01
add rax, 4
test r8d, r8d
jle 0x14039b0fa
movsx r9, dx
nop
dec r8d
movsx rdx, word [rcx + rax*2]
cmp edx, r9d
je 0x14039af18
inc rax
test r8d, r8d
jg 0x14039aee0
jmp 0x14039b0fa
add eax, 3
jmp 0x14039b0f5
add eax, 2
jmp 0x14039b0f5
inc eax
jmp 0x14039b0f5
jmp 0x14039b0f5
movsx r9, dx
movd xmm0, r9d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov rax, rcx
lea edx, [r8 - 8]
movsxd rdx, edx
add rdx, rdx
lea r10, [rax + rdx]
movups xmm1, xmmword [rax]
pcmpeqw xmm1, xmm0
movaps xmmword [rsp + 0x20], xmm1
xorps xmm2, xmm2
pcmpeqw xmm1, xmm2
pmovmskb r9d, xmm1
cmp r9d, 0xffff
jne 0x14039b036
add rax, 0x10
cmp rax, r10
jbe 0x14039af40
mov eax, r8d
test al, 7
je 0x14039b0fa
movups xmm1, xmmword [r10]
pcmpeqw xmm0, xmm1
movaps xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
pcmpeqw xmm0, xmm1
pmovmskb ecx, xmm0
cmp ecx, 0xffff
je 0x14039b0fa
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx r8d, word [rsp + 2]
shr r8d, 0xf
add r8d, r8d
or ecx, r8d
movzx r8d, word [rsp + 4]
shr r8d, 0xf
shl r8d, 2
or r8d, ecx
mov ecx, r8d
movzx r8d, word [rsp + 6]
shr r8d, 0xf
shl r8d, 3
or r8d, ecx
mov ecx, r8d
shl ecx, 4
or eax, ecx
jne 0x14039b0ec
mov ecx, 0x20
jmp 0x14039b0ef
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
movzx edx, word [rsp + 0x18]
shr edx, 0xf
movzx r8d, word [rsp + 0x1a]
shr r8d, 0xf
add r8d, r8d
or edx, r8d
movzx r8d, word [rsp + 0x1c]
shr r8d, 0xf
shl r8d, 2
or r8d, edx
mov edx, r8d
movzx r8d, word [rsp + 0x1e]
shr r8d, 0xf
shl r8d, 3
or r8d, edx
mov edx, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or edx, r8d
jne 0x14039b0dd
mov r8d, 0x20
jmp 0x14039b0e1
bsf r8d, edx
sub rax, rcx
shr rax, 1
add eax, r8d
jmp 0x14039b0f5
bsf ecx, eax
shr rdx, 1
lea eax, [rdx + rcx]
add rsp, 0x38
ret
mov eax, 0xffffffff
add rsp, 0x38
ret
Function at 0x14039ebe0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov rax, qword [rcx]
movsxd rcx, dword [rcx + 8]
xorps xmm0, xmm0
movups xmm1, xmmword [0x140793b50]
xor edx, edx
lea r8, [rcx - 0x10]
movups xmm2, xmmword [rax + rdx*4]
movaps xmm3, xmm0
paddd xmm3, xmm2
pxor xmm0, xmm3
pxor xmm2, xmm3
pand xmm0, xmm2
movups xmm2, xmmword [rax + rdx*4 + 0x10]
movaps xmm4, xmm3
paddd xmm4, xmm2
pxor xmm3, xmm4
pxor xmm2, xmm4
pand xmm2, xmm3
por xmm0, xmm2
movups xmm2, xmmword [rax + rdx*4 + 0x20]
movaps xmm3, xmm4
paddd xmm3, xmm2
pxor xmm4, xmm3
pxor xmm2, xmm3
pand xmm2, xmm4
por xmm0, xmm2
movups xmm2, xmmword [rax + rdx*4 + 0x30]
movaps xmm4, xmm3
paddd xmm4, xmm2
pxor xmm3, xmm4
pxor xmm2, xmm4
pand xmm2, xmm3
por xmm2, xmm0
pand xmm2, xmm1
xorps xmm0, xmm0
pcmpeqd xmm0, xmm2
pmovmskb r10d, xmm0
cmp r10d, 0xffff
jne 0x14039ed3b
add rdx, 0x10
cmp rdx, r8
movaps xmm0, xmm4
jb 0x14039ebfb
lea r8, [rcx - 4]
cmp rdx, r8
jae 0x14039ece7
xorps xmm1, xmm1
nop
movups xmm2, xmmword [rax + rdx*4]
movaps xmm3, xmm0
paddd xmm3, xmm2
pxor xmm0, xmm3
pxor xmm2, xmm3
pand xmm0, xmm2
por xmm1, xmm0
movaps xmm0, xmm3
add rdx, 4
cmp rdx, r8
jb 0x14039eca0
movups xmm2, xmmword [0x140793b50]
pand xmm2, xmm1
xorps xmm1, xmm1
pcmpeqd xmm1, xmm2
pmovmskb r8d, xmm1
cmp r8d, 0xffff
jne 0x14039ed3b
movaps xmmword [rsp + 0x20], xmm0
mov r8d, dword [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
add r8d, dword [rsp + 0x24]
jo 0x14039ed36
movaps xmmword [rsp + 0x20], xmm0
add r8d, dword [rsp + 0x28]
jo 0x14039ed36
movaps xmmword [rsp + 0x20], xmm0
add r8d, dword [rsp + 0x2c]
jo 0x14039ed36
cmp rdx, rcx
jae 0x14039ed2e
nop word [rax + rax]
add r8d, dword [rax + rdx*4]
jo 0x14039ed36
inc rdx
cmp rdx, rcx
jb 0x14039ed20
mov eax, r8d
add rsp, 0x38
ret
call fcn.14016c7b0
call fcn.14008fbb0
int3
Function at 0x1403a1d30
Capabilities:
Hash data using murmur3

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x38
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x68], edx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], r9
mov ebx, dword [rsp + 0x68]
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x30], 0
jne 0x1403a1d7c
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x30], 0
jne 0x1403a1d7c
xor esi, esi
jmp 0x1403a1d87
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov esi, eax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x78]
cmp qword [rsp + 0x28], 0
jne 0x1403a1db4
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x28], 0
jne 0x1403a1db4
xor edi, edi
jmp 0x1403a1dbf
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
lea rbp, [0x14046fbf8]
cmp qword [rbp - 8], 0
jne 0x1403a1e32
mov eax, dword [rbp]
imul ecx, ebx, 0xc2b2ae3d
lea eax, [rax + rcx + 0x165667bd]
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul ecx, esi, 0xc2b2ae3d
add eax, ecx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul ecx, edi, 0xc2b2ae3d
add eax, ecx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
mov ecx, eax
shr ecx, 0xf
xor ecx, eax
imul eax, ecx, 0x85ebca77
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae3d
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
ret
call fcn.1400010e8
jmp 0x1403a1dcd
Function at 0x1403a1e40
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x38
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
mov ebx, dword [rsp + 0x88]
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0x30], 0
jne 0x1403a1ea3
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x30], 0
jne 0x1403a1ea3
xor esi, esi
jmp 0x1403a1eae
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov esi, eax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0x28], 0
jne 0x1403a1ede
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x28], 0
jne 0x1403a1ede
xor edi, edi
jmp 0x1403a1ee9
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
mov ebp, dword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
lea rax, [rsp + 0xb0]
mov r15d, dword [rax]
mov r13, qword [rax]
shr r13, 0x20
xor r15d, r13d
mov r13d, dword [rsp + 0xb8]
lea r12, [0x14046fbf8]
cmp qword [r12 - 8], 0
jne 0x1403a1ffa
mov eax, dword [r12]
imul ecx, ebx, 0x85ebca77
lea ecx, [rax + rcx + 0x24234428]
rol ecx, 0xd
imul ecx, ecx, 0x9e3779b1
rol ecx, 1
imul edx, esi, 0x85ebca77
lea edx, [rax + rdx - 0x7a143589]
rol edx, 0xd
imul edx, edx, 0x9e3779b1
rol edx, 7
add ecx, edx
imul edx, edi, 0x85ebca77
add edx, eax
rol edx, 0xd
imul edx, edx, 0x9e3779b1
rol edx, 0xc
add ecx, edx
imul edx, ebp, 0x85ebca77
lea eax, [rax + rdx + 0x61c8864f]
rol eax, 0xd
imul eax, eax, 0x9e3779b1
rol eax, 0x12
add eax, ecx
imul ecx, r14d, 0xc2b2ae3d
lea eax, [rax + rcx + 0x1c]
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul ecx, r15d, 0xc2b2ae3d
add eax, ecx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul ecx, r13d, 0xc2b2ae3d
add eax, ecx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
mov ecx, eax
shr ecx, 0xf
xor ecx, eax
imul eax, ecx, 0x85ebca77
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae3d
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400010e8
jmp 0x1403a1f28
Function at 0x1403a2010
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x38
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
mov rbx, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x88]
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0x30], 0
jne 0x1403a207b
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x30], 0
jne 0x1403a207b
xor edi, edi
jmp 0x1403a2086
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edi, eax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0x28], 0
jne 0x1403a20b6
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x28], 0
jne 0x1403a20b6
xor ebp, ebp
jmp 0x1403a20c1
mov rcx, qword [rcx]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov ebp, eax
mov r14d, dword [rsp + 0xa0]
mov r15d, dword [rsp + 0xa8]
mov rcx, rbx
call fcn.1401e3f80
mov ebx, eax
mov r13d, dword [rsp + 0xb8]
lea r12, [0x14046fbf8]
cmp qword [r12 - 8], 0
jne 0x1403a21c8
mov eax, dword [r12]
imul ecx, esi, 0x85ebca77
lea ecx, [rax + rcx + 0x24234428]
rol ecx, 0xd
imul ecx, ecx, 0x9e3779b1
rol ecx, 1
imul edx, edi, 0x85ebca77
lea edx, [rax + rdx - 0x7a143589]
rol edx, 0xd
imul edx, edx, 0x9e3779b1
rol edx, 7
add ecx, edx
imul edx, ebp, 0x85ebca77
add edx, eax
rol edx, 0xd
imul edx, edx, 0x9e3779b1
rol edx, 0xc
add ecx, edx
imul edx, r14d, 0x85ebca77
lea eax, [rax + rdx + 0x61c8864f]
rol eax, 0xd
imul eax, eax, 0x9e3779b1
rol eax, 0x12
add eax, ecx
imul ecx, r15d, 0xc2b2ae3d
lea eax, [rax + rcx + 0x1c]
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul ecx, ebx, 0xc2b2ae3d
add eax, ecx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
imul ecx, r13d, 0xc2b2ae3d
add eax, ecx
rol eax, 0x11
imul eax, eax, 0x27d4eb2f
mov ecx, eax
shr ecx, 0xf
xor ecx, eax
imul eax, ecx, 0x85ebca77
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0xc2b2ae3d
mov ecx, eax
shr ecx, 0x10
xor eax, ecx
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400010e8
jmp 0x1403a20f6
Function at 0x1403a8e20
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
cmp r9d, 8
jge 0x1403a8e71
movzx r10d, dx
sub r8d, r10d
movzx eax, r8w
xor edx, edx
test r9d, r9d
jle 0x1403a909b
movsxd r8, edx
movzx r8d, word [rcx + r8*2]
sub r8d, r10d
movzx r8d, r8w
cmp r8d, eax
jle 0x1403a8e65
inc edx
cmp edx, r9d
jl 0x1403a8e45
jmp 0x1403a909b
mov eax, edx
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
movzx r10d, dx
movd xmm0, r10d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov eax, r8d
sub eax, r10d
movzx eax, ax
movd xmm1, eax
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
mov rax, rcx
add r9d, 0xfffffff8
mov edx, r9d
add rdx, rdx
lea r8, [rax + rdx]
movups xmm2, xmmword [0x140793c90]
movaps xmm3, xmm1
psubw xmm3, xmm2
movups xmm4, xmmword [rax]
psubw xmm4, xmm0
movaps xmm5, xmm4
psubw xmm5, xmm2
movaps xmm6, xmm3
pcmpgtw xmm6, xmm5
pcmpeqw xmm4, xmm1
por xmm4, xmm6
movaps xmmword [rsp + 0x20], xmm4
xorps xmm5, xmm5
pcmpeqw xmm4, xmm5
pmovmskb r10d, xmm4
cmp r10d, 0xffff
jne 0x1403a8fdb
add rax, 0x10
cmp rax, r8
jb 0x1403a8eb8
movups xmm4, xmmword [r8]
psubw xmm4, xmm0
movaps xmm0, xmm4
psubw xmm0, xmm2
pcmpgtw xmm3, xmm0
pcmpeqw xmm1, xmm4
por xmm1, xmm3
movaps xmmword [rsp + 0x20], xmm1
xorps xmm0, xmm0
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x1403a909b
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx r8d, word [rsp + 2]
shr r8d, 0xf
add r8d, r8d
or ecx, r8d
movzx r8d, word [rsp + 4]
shr r8d, 0xf
shl r8d, 2
or r8d, ecx
mov ecx, r8d
movzx r8d, word [rsp + 6]
shr r8d, 0xf
shl r8d, 3
or r8d, ecx
mov ecx, r8d
shl ecx, 4
or eax, ecx
bsf ecx, eax
mov r8d, 0x20
test eax, eax
cmove ecx, r8d
mov eax, ecx
shr rdx, 1
add eax, edx
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
movzx edx, word [rsp + 0x18]
shr edx, 0xf
movzx r8d, word [rsp + 0x1a]
shr r8d, 0xf
add r8d, r8d
or edx, r8d
movzx r8d, word [rsp + 0x1c]
shr r8d, 0xf
shl r8d, 2
or r8d, edx
mov edx, r8d
movzx r8d, word [rsp + 0x1e]
shr r8d, 0xf
shl r8d, 3
or r8d, edx
mov edx, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or edx, r8d
bsf r8d, edx
mov r10d, 0x20
test edx, edx
cmove r8d, r10d
sub rax, rcx
shr rax, 1
add eax, r8d
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov eax, 0xffffffff
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x140001e30
Capabilities:
Create thread
Print debug messages
Resume thread

Disassembly:
sub rsp, 0x38
lea rcx, str.Enter_Function_StartCustomThread____n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp qword [0x140053e68], 0
je case.default.0x140001e56
lea rcx, str.Enter_condition_pSvc__hWorkEvent___NULL__n
add rsp, 0x38
jmp qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov qword [0x140053e68], rax
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [0x140053e78], rax
xor r9d, r9d
lea r8, [0x14000fa00]
xor edx, edx
lea rax, [0x140053e70]
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x140053e60], rax
test rax, rax
je 0x140001ed7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov qword [0x140053e60], 0
mov ecx, dword [0x140053e70]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x5e5b
call qword [sym.imp.USER32.dll_PostThreadMessageW]
mov rcx, qword [0x140053e68]
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140001f42
lea rdx, str.Create_Thread_fails__n
mov ecx, 1
call fcn.1400197e0
mov ecx, dword [0x140053e70]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x5e5b
call qword [sym.imp.USER32.dll_PostThreadMessageW]
mov rcx, qword [0x140053e68]
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140001f04
call fcn.140009810
cmp eax, 0x14
jl 0x140001f89
cmp qword [0x140053e80], 0
jne 0x140001f89
lea rax, [0x140053e88]
xor edx, edx
mov qword [rsp + 0x28], rax
lea r9, [0x140053e20]
lea r8, [0x140001ad0]
mov dword [rsp + 0x20], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x140053e80], rax
add rsp, 0x38
ret
mov ah, 0xad
mov bl, byte [rsi]
invalid