joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003e090
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rbp, rdx
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
cmp byte [rcx + 0x15], r12b
jne 0x14003e0d6
xor eax, eax
jmp 0x14003e266
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
mov dword [rsp + 0x98], r12d
call fcn.140010980
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov r8d, 0x19
lea rdx, str.NtQueryInformationProcess
lea rcx, [rsp + 0x38]
call fcn.140003bf0
nop
mov dword [rsp + 0x30], 1
call fcn.14002b950
lea r14, [rdi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
cmp r15, 0xf
cmova rdx, rsi
movabs r9, 0xcbf29ce484222325
mov rcx, r12
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x14003e193
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003e180
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.140011160
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14003e1fa
cmp rdx, qword [rdi + 8]
je 0x14003e1fa
mov rdi, qword [rdx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x14003e203
add rbx, 8
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rsp + 0x68]
xor edx, edx
mov rcx, qword [rbx]
call rdi
mov rcx, rbx
test eax, eax
js 0x14003e207
test rbp, rbp
je 0x14003e207
mov dil, 1
jmp 0x14003e20d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rbx + 8]
xor dil, dil
mov rbx, rcx
cmp r15, 0xf
jbe 0x14003e240
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14003e238
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e292
mov rcx, rsi
call fcn.1400b5af0
test dil, dil
je 0x14003e261
mov qword [rsp + 0x20], r12
mov r9d, 0x250
mov r8, rbp
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400b5ad0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.1400c4e44
int3
Function at 0x14003e590
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rsi, r8
mov r12, rdx
mov r14, rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
xor eax, eax
cmp byte [rcx + 0x15], r13b
je 0x14003e744
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [r11 - 0x60], rax
mov dword [r11 - 0x58], eax
mov dword [r11 - 0x50], r13d
call fcn.140010980
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov r8d, 0x18
lea rdx, str.NtQueryInformationThread
lea rcx, [rsp + 0x38]
call fcn.140003bf0
nop
mov dword [rsp + 0x30], 1
call fcn.14002b950
lea rbp, [rbx + 0x40]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
cmp r15, 0xf
cmova rdx, rdi
movabs r9, 0xcbf29ce484222325
mov ecx, r13d
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x14003e683
movabs r10, 0x100000001b3
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003e670
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140011160
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14003e6e2
cmp rcx, qword [rbx + 8]
je 0x14003e6e2
mov rbx, qword [rcx + 0x30]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14003e6eb
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, 0x1c
lea r8, [rsp + 0x68]
xor edx, edx
mov rcx, r12
call rbx
test eax, eax
js 0x14003e6eb
test rsi, rsi
je 0x14003e6eb
mov bl, 1
jmp 0x14003e6ed
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor bl, bl
cmp r15, 0xf
jbe 0x14003e720
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003e718
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e76f
mov rcx, rdi
call fcn.1400b5af0
test bl, bl
je 0x14003e740
mov edx, dword [rsp + 0x6c]
mov qword [rsp + 0x20], r13
mov r9d, 0x1000
mov r8, rsi
mov rcx, qword [r14 + 8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400b5ad0
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400c4e44
int3
Function at 0x14003e780
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r12, r8
mov rdi, rdx
mov r13, rcx
xor ebx, ebx
mov r15d, ebx
mov dword [rsp + 0x40], ebx
xorps xmm0, xmm0
movups xmmword [r11 - 0x78], xmm0
movups xmmword [r11 - 0x68], xmm0
movups xmmword [r11 - 0x58], xmm0
mov dword [rsp + 0x78], ebx
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14028672c], eax
jle 0x14003e82b
lea rcx, [0x14028672c]
call fcn.1400b6864
cmp dword [0x14028672c], 0xffffffff
jne 0x14003e82b
call fcn.140043db0
mov rcx, rax
lea rdx, str.NtQueryInformationThread
call fcn.140043e40
mov qword [0x1402866b0], rax
lea rcx, [0x14028672c]
call fcn.1400b67f8
mov rcx, qword [0x1402866b0]
test rcx, rcx
jne 0x14003e851
mov rax, qword gs:[0x30]
mov dword [rax + 0x1250], 0xc0000138
xor eax, eax
jmp 0x14003e9de
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x30
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rdi
mov edx, 5
call fcn.140043d70
cmp dword [rsp + 0x78], ebx
jbe 0x14003e989
call fcn.140010980
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
mov r8d, 0x1a
lea rdx, str.NtWow64ReadVirtualMemory64
lea rcx, [rsp + 0x48]
call fcn.140003bf0
nop
mov r15d, 1
mov dword [rsp + 0x40], r15d
call fcn.14002b950
lea r14, [rsi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x48]
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x60]
cmp rbp, 0xf
cmova rdx, rdi
movabs r9, 0xcbf29ce484222325
mov rcx, rbx
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x14003e925
movabs r10, 0x100000001b3
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003e912
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.140011160
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14003e97e
cmp rdx, qword [rsi + 8]
je 0x14003e97e
mov rsi, qword [rdx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rsi, rsi
je 0x14003e993
mov qword [rsp + 0x20], rbx
mov r9d, 0x1838
mov r8, r12
mov rdx, qword [rsp + 0x88]
mov rcx, qword [r13 + 8]
call rsi
test eax, eax
js 0x14003e993
movzx esi, r15b
jmp 0x14003e996
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14003e993
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
xor sil, sil
test r15b, 1
je 0x14003e9cf
cmp rbp, 0xf
jbe 0x14003e9cf
lea rdx, [rbp + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003e9c7
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ea09
mov rcx, rdi
call fcn.1400b5af0
test sil, sil
cmovne rbx, qword [rsp + 0x88]
mov rax, rbx
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1400b5ad0
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400c4e44
int3
Function at 0x14003ea10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, r8
mov r12, rdx
mov r15, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
call fcn.140010980
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, str.NtQueryVirtualMemory
lea rcx, [rsp + 0x30]
call fcn.140003bf0
nop
call fcn.14002b950
lea r14, [rdi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x48]
cmp rbp, 0xf
cmova rdx, rsi
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x14003eaf3
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003eae0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140011160
mov r8, qword [rax + 8]
test r8, r8
je 0x14003eb4d
cmp r8, qword [rdi + 8]
je 0x14003eb4d
mov rdi, qword [r8 + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x14003eb56
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x30
lea r9, [rsp + 0x60]
xor r8d, r8d
mov rdx, r12
mov rcx, qword [r15 + 8]
call rdi
mov edi, eax
jmp 0x14003eb5b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, 0xc0000138
cmp rbp, 0xf
jbe 0x14003eb8e
lea rdx, [rbp + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14003eb86
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ebf9
mov rcx, rsi
call fcn.1400b5af0
test edi, edi
je 0x14003eb96
mov eax, edi
jmp 0x14003ebd7
mov rax, qword [rsp + 0x68]
mov qword [rbx + 8], rax
mov eax, dword [rsp + 0x70]
mov dword [rbx + 0x10], eax
mov rax, qword [rsp + 0x60]
mov qword [rbx], rax
mov eax, dword [rsp + 0x84]
mov dword [rbx + 0x24], eax
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0x18], rax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 0x20], eax
mov eax, dword [rsp + 0x88]
mov dword [rbx + 0x28], eax
xor eax, eax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400b5ad0
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1400c4e44
int3
Function at 0x14003ec10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r15, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [r11 - 0x50], xmm0
mov dword [r11 - 0x40], r12d
call fcn.140010980
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov r8d, 0x19
lea rdx, str.NtQueryInformationProcess
lea rcx, [rsp + 0x38]
call fcn.140003bf0
nop
mov dword [rsp + 0x30], 1
call fcn.14002b950
lea rbx, [rdi + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
cmp rbp, 0xf
cmova rdx, rsi
movabs r9, 0xcbf29ce484222325
mov ecx, r12d
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x14003ed03
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003ecf0
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.140011160
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x14003ed6a
cmp rdx, qword [rdi + 8]
je 0x14003ed6a
mov rdi, qword [rdx + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rdi, rdi
je 0x14003ed73
lea rbx, [r14 + 8]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rsp + 0x68]
xor edx, edx
mov rcx, qword [rbx]
call rdi
mov rcx, rbx
test eax, eax
js 0x14003ed77
test r15, r15
je 0x14003ed77
mov dil, 1
jmp 0x14003ed7d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [r14 + 8]
xor dil, dil
mov rbx, rcx
cmp rbp, 0xf
jbe 0x14003edb0
lea rdx, [rbp + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14003eda8
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ee02
mov rcx, rsi
call fcn.1400b5af0
test dil, dil
je 0x14003edd1
mov qword [rsp + 0x20], r12
mov r9d, 0x250
mov r8, r15
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400b5ad0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.1400c4e44
int3
Function at 0x14003ee30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r14, r8
mov r15, rdx
mov r13, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [r11 - 0x60], rax
mov dword [r11 - 0x58], eax
mov dword [r11 - 0x50], r12d
call fcn.140010980
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov r8d, 0x18
lea rdx, str.NtQueryInformationThread
lea rcx, [rsp + 0x38]
call fcn.140003bf0
nop
mov dword [rsp + 0x30], 1
call fcn.14002b950
lea rsi, [rbx + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
cmp rbp, 0xf
cmova rdx, rdi
movabs r9, 0xcbf29ce484222325
mov ecx, r12d
mov r8, qword [rsp + 0x48]
test r8, r8
je 0x14003ef23
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14003ef10
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140011160
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14003ef82
cmp rcx, qword [rbx + 8]
je 0x14003ef82
mov rbx, qword [rcx + 0x30]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14003ef8b
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, 0x1c
lea r8, [rsp + 0x68]
xor edx, edx
mov rcx, r15
call rbx
test eax, eax
js 0x14003ef8b
test r14, r14
je 0x14003ef8b
mov bl, 1
jmp 0x14003ef8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor bl, bl
cmp rbp, 0xf
jbe 0x14003efc0
lea rdx, [rbp + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003efb8
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003f00f
mov rcx, rdi
call fcn.1400b5af0
test bl, bl
je 0x14003efe0
mov edx, dword [rsp + 0x6c]
mov qword [rsp + 0x20], r12
mov r9d, 0x1000
mov r8, r14
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400b5ad0
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400c4e44
int3

Function at 0x14003f020
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x68
mov rax, qword [0x14012df00]
xor rax, rsp
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400b5ad0
add rsp, 0x68
ret
Function at 0x140043b80
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x140043d5b
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14000f830
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x140043d24
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x14]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x15]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x16]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x17]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x140043c9c
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x140043d13
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x140043cd9
mov r10, qword [rdx]
cmp r10, rax
je 0x140043cd3
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x140043d13
cmp r9, rdx
je 0x140043cef
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x140043d35
cmp r9, rdx
jne 0x140043ce0
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x140043c20
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x140043d13
lea rcx, [0x140117470]
call fcn.1400b3614
int3
Function at 0x14004e5f0
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbx, rdx
mov edx, 0x2b
mov rsi, r8
mov rbp, rcx
test r8, r8
je 0x14004e6bc
xor r14d, r14d
nop dword [rax]
mov edi, 4
lea rdx, [rsp + 0x50]
cmp rsi, rdi
mov r8d, 4
mov rcx, rbp
cmovb rdi, rsi
call fcn.140050a00
mov edx, eax
cmp eax, 4
jne 0x14004e670
cmp byte [0x140283fb4], r14b
jne 0x14004e67a
mov r9d, 2
mov dword [rsp + 0x50], r14d
mov r8d, eax
lea rdx, [rsp + 0x50]
xor ecx, ecx
call sub.bcrypt.dll_BCryptGenRandom
neg eax
sbb edx, edx
and edx, 2
test edx, edx
jne 0x14004e6bc
mov eax, dword [rsp + 0x50]
jmp 0x14004e699
imul eax, dword [0x140283fb0], 0x41c64e6d
mov edx, r14d
add eax, 0x3039
mov dword [0x140283fb0], eax
ror eax, 0x10
mov dword [rsp + 0x50], eax
test rdi, rdi
je 0x14004e6b3
sub rsi, rdi
mov byte [rbx], al
inc rbx
shr eax, 8
sub rdi, 1
jne 0x14004e6a1
mov dword [rsp + 0x50], eax
test rsi, rsi
jne 0x14004e620
mov rbx, qword [rsp + 0x40]
mov eax, edx
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret

Function at 0x14004e6e0
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
sub rdi, 1
je 0x14004e7a8
xor ebp, ebp
lea r14, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
nop
mov r8d, 4
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140050a00
cmp eax, 4
jne 0x14004e751
cmp byte [0x140283fb4], bpl
jne 0x14004e75b
mov r9d, 2
mov dword [rsp + 0x50], ebp
mov r8d, eax
lea rdx, [rsp + 0x50]
xor ecx, ecx
call sub.bcrypt.dll_BCryptGenRandom
neg eax
sbb eax, eax
and eax, 2
test eax, eax
jne 0x14004e7ad
mov ecx, dword [rsp + 0x50]
jmp 0x14004e778
imul ecx, dword [0x140283fb0], 0x41c64e6d
add ecx, 0x3039
mov dword [0x140283fb0], ecx
ror ecx, 0x10
mov dword [rsp + 0x50], ecx
cmp ecx, 0xfffffffc
jae 0x14004e710
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x3e
sub ecx, eax
movzx eax, byte [rcx + r14]
mov byte [rsi], al
inc rsi
sub rdi, 1
jne 0x14004e710
mov byte [rsi], 0
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x1400531e0
Capabilities:
Encode data using xor
Hash data using djb2

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x1400532c2
call fcn.14006c6d0
test al, al
jne 0x1400532c2
mov qword [rsp + 0x30], rsi
xor esi, esi
mov qword [rsp + 0x38], rdi
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rbx + rdi], sil
jne 0x140053212
mov r8, rdi
mov edx, 0x2e
mov rcx, rbx
call fcn.14006d600
test rax, rax
je 0x140053257
sub rax, rbx
mov edx, 0x2e
mov r8, rax
mov rcx, rbx
call fcn.14006d600
mov rsi, rax
test rax, rax
je 0x140053257
inc rsi
mov rcx, rbx
sub rcx, rsi
add rdi, rcx
test rsi, rsi
cmovne rbx, rsi
lea rsi, [rbx + rdi]
mov edi, 0x1505
cmp rbx, rsi
jae 0x14005328b
nop dword [rax]
movzx ecx, byte [rbx]
call fcn.14004c310
imul rdi, rdi, 0x21
movsx rcx, al
inc rbx
xor rdi, rcx
cmp rbx, rsi
jb 0x140053270
mov rsi, qword [rsp + 0x30]
mov rcx, rdi
movabs rax, 0x410410410410411
mul rdi
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 5
imul rcx, rcx, 0x3f
sub rdi, rcx
mov rax, rdi
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x14005df60
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x20
mov rbx, rcx
xor ebp, ebp
lea rcx, [0x1400ee7f0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
jne 0x14005df8a
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret
lea rdx, [0x1400ee808]
mov qword [rsp + 0x48], r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [0x1400ee818]
mov rcx, rbx
mov r14, rax
call fcn.1400cc2c8
test rax, rax
je 0x14005dfeb
mov rcx, rbx
test r14, r14
je 0x14005dfd8
xor edx, edx
mov r8d, 8
mov rax, r14
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
pop rbp
pop rbx
jmp rax
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
pop rbp
pop rbx
jmp qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test r14, r14
je 0x14005e022
lea rdx, str.AddDllDirectory
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14005e022
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
mov rax, r14
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
pop rbp
pop rbx
jmp rax
xor edx, edx
mov qword [rsp + 0x50], r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov r15d, eax
test eax, eax
je 0x14005e0ec
mov rdi, 0xffffffffffffffff
mov qword [rsp + 0x40], rsi
mov rdx, rdi
nop dword [rax + rax]
inc rdx
cmp word [rbx + rdx*2], bp
jne 0x14005e050
lea ecx, [rax + 1]
add rcx, rdx
add rcx, rcx
call qword [fcn.1400c6eb0]
mov rsi, rax
test rax, rax
je 0x14005e0de
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x14005e0de
mov rax, rdi
cmp word [rsi + rax*2 + 2], bp
lea rax, [rax + 1]
jne 0x14005e083
mov dword [rsi + rax*2], 0x5c
inc rdi
cmp word [rsi + rdi*2], bp
jne 0x14005e095
add rdi, rdi
sub rdi, rbx
add rdi, rsi
nop word [rax + rax]
movzx eax, word [rbx]
mov word [rbx + rdi], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x14005e0b0
mov rcx, rsi
test r14, r14
je 0x14005e0d5
xor edx, edx
mov r8d, 8
call r14
jmp 0x14005e0db
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbp, rax
mov rcx, rsi
call qword [fcn.1400c4a8c]
mov rsi, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov rax, rbp
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
pop rbp
pop rbx
ret