joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140037020
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rcx
mov dword [rbp - 0x16], 0x41656d69
mov dword [rbp - 0xd], 0x656d6954
mov dword [rbp - 0x1f], 0x79537465
mov dword [rbp - 0x11], 0x656c6946
mov byte [rbp - 9], 0
mov dword [rbp - 0x1b], 0x6d657473
mov byte [rbp - 0x12], 0x73
mov byte [rbp - 0x20], 0x47
mov byte [rbp - 0x17], 0x54
call fcn.140032790
lea rdx, [rbp - 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003708e
lea rcx, [rbp - 0x28]
call rax
mov eax, dword [rbp - 0x28]
movabs rcx, 0xfe624e212ac18000
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0x24]
mov dword [rbp - 0x2c], eax
movabs rax, 0xd6bf94d5e57a42bd
add rcx, qword [rbp - 0x30]
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
mov rax, rdx
test rbx, rbx
je 0x1400370d1
mov qword [rbx], rdx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14006c1f0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret

Function at 0x1400370f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, rcx
lea rcx, [rbp - 0x30]
mov r14, rdx
mov ebx, 0xe
mov word [rbp - 0x30], 0x7052
mov dword [rbp - 0x2d], 0x2e347472
mov dword [rbp - 0x29], 0x6c6c64
mov byte [rbp - 0x2e], 0x63
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x140037194
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x18], 0x676e6972
mov word [rbp - 0x20], 0x7555
mov word [rbp - 0x1d], 0x5464
mov word [rbp - 0x1a], 0x7453
mov byte [rbp - 0x1e], 0x69
mov word [rbp - 0x14], 0x41
mov byte [rbp - 0x1b], 0x6f
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003718b
mov rdx, r14
mov rcx, rsi
call rax
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006c1f0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x140037320
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, rcx
lea rcx, [rbp - 0x30]
xor ebx, ebx
mov r12, r9
mov r15, r8
mov r14, rdx
mov dword [rbp - 0x29], 0x6c6c642e
mov dword [rbp - 0x30], 0x73726576
mov word [rbp - 0x2b], 0x6e6f
mov byte [rbp - 0x25], bl
mov byte [rbp - 0x2c], 0x69
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x1400373d6
lea rdx, [rbp - 0x20]
mov rcx, rax
mov word [rbp - 0x19], 0x5679
mov word [rbp - 0x16], 0x756c
mov word [rbp - 0x1e], 0x5172
mov word [rbp - 0x1b], 0x7265
mov word [rbp - 0x13], 0x41
mov byte [rbp - 0x17], 0x61
mov word [rbp - 0x20], 0x6556
mov byte [rbp - 0x1c], 0x75
mov byte [rbp - 0x14], 0x65
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400373cd
mov r9, r12
mov r8, r15
mov rdx, r14
mov rcx, rsi
call rax
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret

Function at 0x140037400
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x48
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov ebp, r9d
mov esi, r8d
mov rdi, rdx
mov rbx, rcx
mov word [rsp + 0x22], 0x7472
mov dword [rsp + 0x28], 0x636f6c6c
mov word [rsp + 0x25], 0x6c61
mov word [rsp + 0x20], 0x6956
mov byte [rsp + 0x27], 0x41
mov byte [rsp + 0x2c], 0
mov byte [rsp + 0x24], 0x75
call fcn.140032790
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140037476
mov r9d, ebp
mov r8d, esi
mov rdx, rdi
mov rcx, rbx
call rax
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x140037490
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r14d, dword [rsp + 0xa0]
mov ebp, r9d
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov word [rsp + 0x33], 0x7574
mov word [rsp + 0x30], 0x6956
mov dword [rsp + 0x3a], 0x7845636f
mov word [rsp + 0x35], 0x6c61
mov byte [rsp + 0x3e], 0
mov word [rsp + 0x38], 0x6c6c
mov byte [rsp + 0x37], 0x41
mov byte [rsp + 0x32], 0x72
call fcn.140032790
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003751c
mov r9d, ebp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call rax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140037540
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r13, qword [rbp + 0x68]
mov rsi, rcx
lea rcx, [rbp - 0x38]
mov r12, r9
mov r15d, r8d
mov r14d, edx
xor ebx, ebx
mov dword [rbp - 0x33], 0x2e323369
mov word [rbp - 0x38], 0x7457
mov dword [rbp - 0x2f], 0x6c6c64
mov word [rbp - 0x35], 0x7061
mov byte [rbp - 0x36], 0x73
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x140037609
lea rdx, [rbp - 0x28]
mov rcx, rax
mov dword [rbp - 0x1c], 0x73736553
mov dword [rbp - 0x18], 0x736e6f69
mov word [rbp - 0x20], 0x6172
mov word [rbp - 0x23], 0x6d75
mov word [rbp - 0x1e], 0x6574
mov dword [rbp - 0x28], 0x45535457
mov byte [rbp - 0x21], 0x65
mov word [rbp - 0x14], 0x41
mov byte [rbp - 0x24], 0x6e
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140037600
mov r9, r12
mov r8d, r15d
mov edx, r14d
mov rcx, rsi
mov qword [rsp + 0x20], r13
call rax
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret

Function at 0x140037630
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rdi, rcx
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2b], 0x2e323369
mov word [rbp - 0x30], 0x7457
mov dword [rbp - 0x27], 0x6c6c64
mov word [rbp - 0x2d], 0x7061
mov byte [rbp - 0x2e], 0x73
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x1400376c0
lea rdx, [rbp - 0x20]
mov rcx, rax
mov dword [rbp - 0x17], 0x79726f6d
mov dword [rbp - 0x1b], 0x654d6565
mov dword [rbp - 0x1f], 0x72465354
mov byte [rbp - 0x20], 0x57
mov byte [rbp - 0x13], 0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400376b7
mov rcx, rdi
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006c1f0
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret
Function at 0x1400376e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov dword [rbp - 0x28], 0x65766974
mov dword [rbp - 0x1c], 0x69737365
mov dword [rbp - 0x22], 0x6c6f736e
mov word [rbp - 0x18], 0x6e6f
mov word [rbp - 0x15], 0x64
mov dword [rbp - 0x2d], 0x41746547
mov byte [rbp - 0x16], 0x49
mov byte [rbp - 0x29], 0x63
mov word [rbp - 0x1e], 0x5365
mov word [rbp - 0x2f], 0x5354
mov word [rbp - 0x24], 0x6f43
mov byte [rbp - 0x30], 0x57
call fcn.140032790
lea rdx, [rbp - 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140037768
call rax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x50
pop rbp
ret
or eax, 0xffffffff
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x50
pop rbp
ret

Function at 0x140037780
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp - 8], rax
mov esi, ecx
lea rcx, [rbp - 0x30]
mov r14, rdx
xor ebx, ebx
mov dword [rbp - 0x2b], 0x2e323369
mov word [rbp - 0x30], 0x7457
mov dword [rbp - 0x27], 0x6c6c64
mov word [rbp - 0x2d], 0x7061
mov byte [rbp - 0x2e], 0x73
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x14003782c
lea rdx, [rbp - 0x20]
mov rcx, rax
mov word [rbp - 0x14], 0x6f54
mov dword [rbp - 0x1e], 0x65755153
mov word [rbp - 0x20], 0x5457
mov dword [rbp - 0x12], 0x6e656b
mov word [rbp - 0x17], 0x6573
mov word [rbp - 0x1a], 0x7972
mov byte [rbp - 0x15], 0x72
mov byte [rbp - 0x18], 0x55
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140037823
mov rdx, r14
mov ecx, esi
call rax
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14006c1f0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret

Function at 0x140037850
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov edi, edx
mov rbx, rcx
mov dword [rsp + 0x2c], 0x6a624f65
mov dword [rsp + 0x30], 0x746365
mov word [rsp + 0x21], 0x6961
mov dword [rsp + 0x27], 0x676e6953
mov word [rsp + 0x24], 0x6f46
mov byte [rsp + 0x23], 0x74
mov byte [rsp + 0x26], 0x72
mov byte [rsp + 0x20], 0x57
mov byte [rsp + 0x2b], 0x6c
call fcn.140032790
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400378c9
mov edx, edi
mov rcx, rbx
call rax
jmp 0x1400378cc
or eax, 0xffffffff
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14006c1f0
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x140037970
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r14, qword [rsp + 0xa0]
mov rbp, r9
mov esi, r8d
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x33], 0x69466574
mov word [rsp + 0x31], 0x6972
mov word [rsp + 0x37], 0x656c
mov byte [rsp + 0x30], 0x57
mov byte [rsp + 0x39], 0
call fcn.140032790
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400379e9
mov r9, rbp
mov r8d, esi
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], r14
call rax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x140037a10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r14, qword [rsp + 0xa0]
mov rbp, r9
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x3b], 0x6d654d73
mov dword [rsp + 0x33], 0x72506574
mov word [rsp + 0x38], 0x6563
mov dword [rsp + 0x3f], 0x79726f
mov byte [rsp + 0x37], 0x6f
mov byte [rsp + 0x3a], 0x73
mov word [rsp + 0x30], 0x7257
mov byte [rsp + 0x32], 0x69
call fcn.140032790
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140037a9e
mov r9, rbp
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], r14
call rax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x140038980
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r14
sub rsp, 0x20
cmp qword [rcx], 0
mov esi, r9d
mov r14d, r8d
mov rbp, rdx
mov rbx, rcx
jne 0x140038a91
cmp dword [rcx + 8], 0xffffffff
jne 0x140038a91
lea rdx, [rcx + 0x150]
mov ecx, 0x104
mov qword [rsp + 0x48], rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [rbx + rax + 0x151], 0
lea rax, [rax + 1]
jne 0x1400389d0
movzx ecx, byte [rax + rbx + 0x14f]
cmp cl, 0x5c
je 0x140038a0c
cmp cl, 0x2f
je 0x140038a0c
lea r8, [0x14014a798]
lea rcx, [rbx + 0x150]
or r9, 0xffffffffffffffff
mov edx, 0x104
call fcn.140072894
mov rdi, qword [rsp + 0x48]
cmp esi, 1
jne 0x140038a3f
mov r9d, esi
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x140038a3f
mov eax, 0x2000000
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rsi
pop rbp
ret
lea r9, [rsp + 0x40]
mov r8d, esi
mov edx, r14d
mov rcx, rbp
call fcn.14003ba50
test rax, rax
jne 0x140038a69
mov eax, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rsi
pop rbp
ret
mov rcx, rax
call fcn.14003c6f0
xor ecx, ecx
mov edx, 0x200
test rax, rax
mov qword [rbx], rax
cmove ecx, edx
mov eax, ecx
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rsi
pop rbp
ret
mov eax, 0x1000000
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rsi
pop rbp
ret
Function at 0x14003bde0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub rsp, 8
mov r10d, r8d
mov r9, rdx
test rdx, rdx
jne 0x14003bdf6
xor eax, eax
add rsp, 8
ret
mov qword [rsp], rbx
not ecx
lea rbx, [0x14014fda0]
cmp r10d, 8
jb 0x14003bee7
mov r11, r10
shr r11, 3
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r9]
mov eax, ecx
shr ecx, 8
xor rdx, rax
add r9, 8
add r10d, 0xfffffff8
movzx eax, dl
mov edx, dword [rbx + rax*4]
xor edx, ecx
movzx ecx, byte [r9 - 7]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 - 6]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 - 5]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 - 4]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 - 3]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 - 2]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 - 1]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
mov ecx, dword [rbx + rax*4]
xor ecx, edx
dec r11
jne 0x14003be20
test r10d, r10d
je 0x14003bf0f
nop dword [rax]
movzx edx, byte [r9]
mov eax, ecx
lea r9, [r9 + 1]
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rbx + r8*4]
xor ecx, eax
dec r10d
jne 0x14003bef0
mov rbx, qword [rsp]
not ecx
mov eax, ecx
add rsp, 8
ret
Function at 0x14003c4d0
Capabilities:
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
test rcx, rcx
jne 0x14003c4ee
mov eax, 0xffffff9a
add rsp, 0x28
pop rdi
pop rsi
ret
cmp dword [rcx + 0x1c], 0
je 0x14003c4e2
cmp qword [rcx + 0x80], 0
je 0x14003c503
call fcn.14003bf80
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.14003cd80
test eax, eax
je 0x14003c52a
mov eax, 0xffffff99
add rsp, 0x28
pop rdi
pop rsi
ret
mov ecx, 0xb0
mov qword [rsp + 0x48], rbx
call fcn.1400712e4
mov rbx, rax
test rax, rax
jne 0x14003c550
lea eax, [rbx - 0x68]
mov rbx, qword [rsp + 0x48]
add rsp, 0x28
pop rdi
pop rsi
ret
mov ecx, 0x4000
mov qword [rsp + 0x20], rbp
call fcn.1400712e4
mov ecx, dword [rsp + 0x40]
xor ebp, ebp
mov dword [rbx + 0x68], ecx
mov ecx, dword [rsp + 0x50]
mov qword [rbx], rax
mov dword [rbx + 0x70], ebp
mov dword [rbx + 0x6c], ecx
test rax, rax
jne 0x14003c596
mov rcx, rbx
call fcn.14006dccc
mov rbx, qword [rsp + 0x48]
lea eax, [rbp - 0x68]
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
mov dword [rbx + 0x64], ebp
mov eax, dword [rdi + 0x40]
mov ecx, ebp
cmp dword [rdi + 0x38], ecx
mov dword [rbx + 0x78], eax
mov dword [rbx + 0x74], ebp
mov eax, dword [rdi + 0x38]
sete cl
mov dword [rbx + 0x90], eax
mov rax, qword [rdi]
mov qword [rbx + 0x88], rax
mov eax, dword [rdi + 0x10]
mov dword [rbx + 0x24], ebp
mov dword [rbx + 0x94], eax
test ecx, ecx
jne 0x14003c5ed
lea rcx, [rbx + 8]
mov qword [rbx + 0x38], rbp
mov qword [rbx + 0x40], rbp
mov qword [rbx + 0x48], rbp
call fcn.140039e50
test eax, eax
jne 0x14003c5ed
mov dword [rbx + 0x64], 1
mov eax, dword [rdi + 0x44]
mov dword [rbx + 0x7c], eax
mov eax, dword [rdi + 0x48]
mov dword [rbx + 0x80], eax
movzx eax, byte [rdi + 0x34]
and al, 1
mov byte [rbx + 0x98], al
mov eax, dword [rdi + 0x34]
shr eax, 3
test al, 1
je 0x14003c618
movzx eax, byte [rdi + 0x3d]
jmp 0x14003c61c
movzx eax, byte [rdi + 0x43]
mov byte [rbx + 0xac], al
movzx eax, byte [rbx + 0x98]
neg al
sbb ecx, ecx
and ecx, 0xc
mov dword [rbx + 0xa8], ecx
mov dword [rbx + 0x9c], 0x12345678
mov dword [rbx + 0xa0], 0x23456789
mov dword [rbx + 0xa4], 0x34567890
test rsi, rsi
je 0x14003c6c2
lea r8, [0x14014fda0]
movzx eax, byte [rsi]
test al, al
je 0x14003c6c2
mov edx, dword [rbx + 0x9c]
mov ecx, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
mov ecx, dword [r8 + rax*4]
xor ecx, edx
mov edx, dword [rbx + 0xa4]
movzx eax, cl
mov dword [rbx + 0x9c], ecx
add eax, dword [rbx + 0xa0]
imul ecx, eax, 0x8088405
inc ecx
mov dword [rbx + 0xa0], ecx
movzx eax, byte [rbx + 0xa3]
movzx ecx, dl
xor rcx, rax
shr edx, 8
mov eax, dword [r8 + rcx*4]
xor eax, edx
mov dword [rbx + 0xa4], eax
inc rsi
jne 0x14003c660
mov ecx, dword [rdi + 0x7c]
mov eax, dword [rsp + 0x58]
mov dword [rbx + 0x10], ebp
mov rbp, qword [rsp + 0x20]
add eax, 0x1e
add ecx, eax
xor eax, eax
mov dword [rbx + 0x60], ecx
mov qword [rdi + 0x80], rbx
mov rbx, qword [rsp + 0x48]
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x14003da40
Capabilities:
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
mov r9d, dword [rcx + 8]
mov r10, rcx
movzx r11d, dl
mov edx, dword [rcx]
mov r8d, r9d
and r8d, 0xfffd
mov ecx, edx
shr edx, 8
or r8d, 2
mov eax, r8d
xor eax, 1
imul eax, r8d
lea r8, [0x14014fda0]
shr eax, 8
xor r11b, al
movsx rax, r11b
xor rcx, rax
movzx eax, cl
mov ecx, dword [r8 + rax*4]
xor ecx, edx
movzx eax, cl
mov dword [r10], ecx
add eax, dword [r10 + 4]
imul ecx, eax, 0x8088405
inc ecx
mov dword [r10 + 4], ecx
movzx eax, byte [r10 + 7]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, dword [r8 + rcx*4]
xor eax, r9d
mov dword [r10 + 8], eax
movzx eax, r11b
ret
Function at 0x14003eac0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rbx, rcx
mov qword [rsp + 0x50], rcx
xor edi, edi
mov dword [rsp + 0x40], edi
call fcn.1400155d0
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x14003eb2d
mov ecx, 0x80004005
call fcn.14000f2a0
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbx], rax
mov dword [rsp + 0x40], 1
mov byte [rbp - 0x50], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rbp - 0x4f]
call fcn.14006eac0
mov dword [rsp + 0x30], 0x200
mov dword [rbp - 0x70], 0x740066
mov dword [rbp - 0x5a], 0x700061
mov dword [rbp - 0x6c], 0x43005c
mov r10d, 0x6f
mov dword [rbp - 0x76], 0x73006f
mov dword [rsp + 0x78], 0x410057
mov dword [rbp - 0x68], 0x790072
lea r8d, [r10 + 3]
mov dword [rbp - 0x80], 0x4d005c
mov dword [rbp - 0x64], 0x740070
mov dword [rbp - 0x7c], 0x630069
lea r15d, [r10 - 0x22]
mov dword [rbp - 0x60], 0x67006f
mov dword [rsp + 0x7c], 0x450052
mov dword [rsp + 0x70], 0x4f0053
mov word [rbp - 0x78], r8w
mov dword [rsp + 0x74], 0x540046
mov word [rbp - 0x5c], r8w
mov dword [rbp - 0x54], 0x79
mov word [rbp - 0x72], r10w
mov r13d, 0x68
mov word [rbp - 0x56], r13w
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, 0xffffffff80000002
call fcn.140036150
test eax, eax
jne 0x14003ed03
mov dword [rsp + 0x60], 0x6e0069
mov dword [rsp + 0x6c], 0x64
mov dword [rsp + 0x64], 0x470065
mov dword [rsp + 0x5a], 0x630061
mov dword [rsp + 0x68], 0x690075
mov word [rsp + 0x58], r15w
mov word [rsp + 0x5e], r13w
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
call fcn.140036330
test eax, eax
je 0x14003ecd1
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, 0xffffffff80000002
call fcn.140036150
test eax, eax
jne 0x14003ed03
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
call fcn.140036330
test eax, eax
jne 0x14003ed03
lea rax, [rbp - 0x50]
or rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], 0
jne 0x14003ece0
mov r8d, ecx
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14003fbb0
mov rcx, qword [rsp + 0x38]
call fcn.140035bb0
mov rax, rbx
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14006c1f0
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
Function at 0x140071288
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
xor edx, edx
jmp fcn.1400710f0
Function at 0x1400a3a0c
Capabilities:
Delete file

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400a3a22
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400a3a24
xor eax, eax
test eax, eax
je 0x1400a3a34
mov ecx, eax
call fcn.140073d10
or eax, 0xffffffff
jmp 0x1400a3a36
xor eax, eax
add rsp, 0x28
ret
Function at 0x1400b1350
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [0x14017b250]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x20], 0xffffffff
call fcn.1400b1700
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x1400b1471
mov eax, 1
imul rax, rax, 7
mov byte [rsp + rax + 0x40], 0x63
mov eax, 1
imul rax, rax, 4
mov byte [rsp + rax + 0x40], 0x65
mov eax, 1
imul rax, rax, 9
mov byte [rsp + rax + 0x40], 0x65
mov eax, 1
imul rax, rax, 8
mov byte [rsp + rax + 0x40], 0x6b
mov eax, 1
imul rax, rax, 0xa
mov byte [rsp + rax + 0x40], 0x74
mov eax, 1
imul rax, rax, 3
mov byte [rsp + rax + 0x40], 0x73
mov eax, 1
imul rax, rax, 1
mov byte [rsp + rax + 0x40], 0x6c
mov eax, 1
imul rax, rax, 5
mov byte [rsp + rax + 0x40], 0x73
mov eax, 1
imul rax, rax, 6
mov byte [rsp + rax + 0x40], 0x6f
mov eax, 1
imul rax, rax, 0xb
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0xc
jae 0x1400b141c
jmp 0x1400b1421
call fcn.14006bf98
mov rax, qword [rsp + 0x38]
mov byte [rsp + rax + 0x40], 0
mov eax, 1
imul rax, rax, 2
mov byte [rsp + rax + 0x40], 0x6f
mov eax, 1
imul rax, rax, 0
mov byte [rsp + rax + 0x40], 0x63
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x1400b1471
mov rcx, qword [rsp + 0x70]
call qword [rsp + 0x30]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14006c1f0
add rsp, 0x68
ret