joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180347fde
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
mov r9w, word [rsi]
add rsi, 2
mov qword [rsp], 0xffffffff91b80697
xor ebx, dword [rsp + 3]
movzx eax, bl
lea r10, [r10 + rbx*2 - 0x5ad3217]
mov al, byte [r10 + rbx*2 - 0x5ad3216]

Function at 0x180355c5d
Capabilities:
Encode data using base64

Disassembly:
movsx eax, di
mov edx, 0x5c9c1f18
xor r9d, r11d
inc r9d
bswap edx
rol r9d, 1
shl dl, 2
jp 0x180360313
lea r9d, [rdi + r9 + 0x268bf12a]
movzx ecx, dx
shr ax, 0xac
neg r9d
dec rbp
xor r9d, 0xd2b8730c
movzx ebx, ax
xor rbx, 0xfffffffff52b8a86
ror ebp, 0x33
push r11
ror rbp, cl
sub bp, cx
xor dword [rsp + rdi - 0x77accd0a], r9d
pop r11
dec rbx
add ebp, 0xaeafe919
movsxd r9, r9d
neg rbx
add r8, r9
mov edx, dword [rsi + rdx*4 - 0x607e71c0]
mov cl, byte [rcx + rsi - 0x9c6c]
shl ax, 0x84
xchg dil, al
neg rbx
lea rsi, [rbx + rsi + 0xad47579]
inc rax
add eax, eax
sal edx, cl
or rbp, rdi
not edi
je 0x18033eef3
mov dword [rbx + rsi + 0xad47577], edx
xor ebx, eax
jmp r8
shr qword [rsp + 0x20], 0x3d
jne 0x1803606a6
adc rsi, 8
pop rdx
pop rcx
pop rdi
pop rbx
pop rbx
add rbx, r8
jmp rbx
not r9d
xchg word [rsp + rbp*2], bp
inc r9d
mov qword [rsp + rbp*8 - 0xb990], r11
movsx ecx, bp
lea rdx, [rcx + rbp*8 - 0x19dba8da]
xor dword [rsp + rbp - 0x1732], r9d
pop r11
add rdx, 0xffffffffc73b643a
add rbx, rdx
movsxd r9, r9d
ror dx, 0xe8
xor bp, bx
js 0x1803689c1
neg ebp
pop rcx
rol bx, 0xc7
and rbx, rax
mov qword [rsp + rbx*4 - 0x41fffe0], r11
mov qword [rsp + rbx*4 - 0x4200000], rbx
mov word [rsp + rbx - 0x107ffe7], di
xor dword [rsp + rbx - 0x107ffe0], ebp
and rdi, rax
xadd rdi, r9
mov r11, qword [rsp + rbx - 0x107ffe0]
movzx edx, word [rsp + rbx*8 - 0x83fffff]
movsxd rbp, ebp
mov qword [rsp + rbx*2 - 0x20ffff0], 0x211e909e
pop rdi
adc r8, rbp
or rdx, r9
call fcn.180315a8a
push rax
lea r9, [rsp + r9 + 0x10]
mov qword [rcx + r9 - 0xbb], rbp
jp 0x18035ed45
lea edi, [r9 + rdi + 0xc698d21]
mov qword [rsp + 0x10], r11
xor byte [rsp + 0xa], 0x3c
xor dword [rsp + 0x10], edi
mov r11, qword [rsp + 0x10]
mov qword [rsp], r9
not dword [rsp + 9]
xchg rcx, rax
movsxd rdi, edi
shr al, 0xe4
setb cl
add r8, rdi
mov ebp, dword [rsp + 0xa]
mov rbp, qword [rsi + rbp - 0xff003c]
lea rdx, [rax + r9 - 0x1bc69a5c]
sub dx, word [rsp + 6]
ror word [rsp + 4], 0x66
mov cx, word [rsi + 8]
mov qword [rsp + 0x10], 0xfffffffff614e18f
neg qword [rsp + 0x10]
mov word [rbp + riz], cx
movzx edi, word [r10 - 6]
mov ebx, eax
push r9
sub r10, 6
dec rdx
xor di, r11w
xor dl, 0xa2
inc di
push r9
sar word [rsp + 0xe], 0x22
and qword [rsp + 0x1d], rdx
neg di
sub al, 0xa9
xor di, 0xc43c
movzx ebp, dx
not di
xor r11w, di
add rbp, qword [rsp + rbp - 0xdd49]
sal rbx, 0xfc
mov word [rsi + 8], di
jns 0x1803340bf
mov edi, 0x77accd0a
jmp 0x18036362a
inc dx
dec al
add qword [rsp + rcx*2 - 0x176], r8
ret 8
jmp 0x180345a72
mov ebp, edi
lea r10, [rdi + r10 - 0x77accd0e]
movzx r9d, di
mov r9d, dword [r10 + r9*2 - 0x19a14]
jmp 0x180323e92
adc r8, r9
mov rcx, qword [rbp + rsi - 0x9de5]
mov rbp, qword [rsi + rbp*4 - 0x2778c]
shr bx, 0xc2
bswap rdx
lea rsi, [rsi + rbx - 0x6ef222ad]
xchg bh, bl
not rcx
not rbp
or rcx, rbp
mov qword [rsi + rbx - 0x6ef2b522], rcx
sal ebx, 0x96
jmp r8
Function at 0xb858e0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0xb858ed
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0xb858fd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0xb858e5
lea eax, [rcx + 1]
jmp 0xb8590b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0xb8591e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0xb85904
sub eax, 3
jb 0xb8593e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0xb8598d
sar eax, 1
movsxd rbp, eax
jb 0xb85974
jmp 0xb8594c
add ebx, ebx
jne 0xb8594a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0xb85974
inc ecx
add ebx, ebx
jne 0xb8595a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0xb85974
call r11
adc ecx, ecx
add ebx, ebx
jne 0xb8596d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0xb8595c
add ecx, 2
jmp 0xb85979
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.00b858a2
jmp 0xb858ed
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x343600
mov dl, 0x65
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0xb859d9
cmp rsi, rcx
jae 0xb859e1
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0xb859c0
cmp al, 0x8f
ja 0xb859c0
cmp byte [rsi - 2], 0xf
je 0xb859c6
sub al, 0xe8
cmp al, 1
ja 0xb859aa
cmp rsi, rcx
jae 0xb859e1
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0xb859b0
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0xb859e1
lodsb al, byte [rsi]
jmp 0xb859c0
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x77b000]
mov eax, dword [rdi]
or eax, eax
je 0xb85a3e
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x785000]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0xb859ee
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0xb85a38
mov qword [rbx], rax
add rbx, 8
jmp 0xb85a0e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0xb85a82
cmp al, 0xef
ja 0xb85a6a
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0xb85a4a
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0xb85a59
mov eax, dword [rdi]
add rdi, 4
jmp 0xb85a59
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0xb85ad6
sub rsp, 0xffffffffffffff80
jmp 0x474620
Function at 0x140002388
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400023d2
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400023d2
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400023d2
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400023d2
cmp dword [rcx + 0x84], 0xe
jbe 0x1400023d2
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400023d4
xor al, al
add rsp, 0x28
ret
Function at 0x140003de0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x140003e3d
lea rbx, [0x140167150]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140003e24
cmp r10, 2
jb 0x140003e24
cmp byte [r9], r8b
jne 0x140003e24
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x140003e00
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x140003e7f
lea rbx, [0x140167150]
cmp r8b, 0x23
jne 0x140003e63
cmp byte [r9], r8b
jne 0x140003e63
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x140003e50
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x140004040
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rdi, r8
mov rbx, rcx
test rcx, rcx
jne 0x14000406f
mov r8d, 0x7d7
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarimgui.cpp
lea rcx, str.filename__mode
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rdi, rdi
je 0x14000407b
mov qword [rdi], 0
lea rdx, [0x140166968]
mov rcx, rbx
call fcn.140003e90
mov rbx, rax
test rax, rax
jne 0x14000409d
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x140004176
xor edx, edx
mov r8d, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140004176
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rsi, eax
cmp esi, 0xffffffff
je 0x140004176
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140004176
cmp rsi, 0xffffffffffffffff
je 0x140004176
mov rax, qword [0x14020c330]
test rax, rax
je 0x140004113
inc dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
je 0x140004176
mov r9, rbx
mov r8, rsi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rsi
je 0x140004163
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x14020c330]
test rax, rax
je 0x140004158
dec dword [rax + 0xf4]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14000417f
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rdi, rdi
je 0x140004171
mov qword [rdi], rsi
mov rax, rbp
jmp 0x140004181
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140007dd0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x10], edx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0xf0], 0
mov rsi, rcx
movsxd rdi, edx
jg 0x140007e0c
mov r8d, 0x717
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rsi + 0xf8]
lea rdx, [0x140167150]
movsxd r8, dword [rsi + 0xf0]
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, dil
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x39]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [rdx + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [rdx + rcx*4]
mov rcx, qword [rsi]
not ebx
cmp dword [rcx + 0x3f40], ebx
jne 0x140007e87
mov r8, rdi
mov edx, 4
mov ecx, ebx
call fcn.1400205f0
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140007ea0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
cmp dword [rcx + 0xf0], 0
mov rdi, rdx
mov rbx, rcx
jg 0x140007ed3
mov r8d, 0x717
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm0, dword [rbx + 0x110]
lea r10, [0x140167150]
movsxd rcx, dword [rbx + 0xf0]
mov rax, qword [rbx + 0xf8]
movss xmm2, dword [rdi]
movss xmm1, dword [rbx + 0x114]
subss xmm2, xmm0
movss xmm3, dword [rdi + 4]
mov r9d, dword [rax + rcx*4 - 4]
subss xmm3, xmm1
movss xmm4, dword [rdi + 8]
not r9d
movzx ecx, r9b
subss xmm4, xmm0
movss xmm0, dword [rdi + 0xc]
shr r9d, 8
subss xmm0, xmm1
movd r8d, xmm2
movss dword [rsp + 0x20], xmm2
movzx eax, byte [rsp + 0x20]
xor rcx, rax
movss dword [rsp + 0x24], xmm3
mov eax, r8d
movss dword [rsp + 0x28], xmm4
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
movss dword [rsp + 0x2c], xmm0
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 0x24]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm3
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 0x28]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm4
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
shr eax, 8
movzx edx, al
movzx ecx, r9b
mov rbx, qword [rsp + 0x40]
xor rdx, rcx
shr r9d, 8
mov eax, r8d
shr eax, 0x10
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
movzx eax, byte [rsp + 0x2c]
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
movd r8d, xmm0
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor r9d, dword [r10 + rcx*4]
movzx ecx, r9b
xor rdx, rcx
shr r9d, 8
shr eax, 0x10
shr r8, 0x18
xor r9d, dword [r10 + rdx*4]
movzx ecx, r9b
shr r9d, 8
movzx edx, al
xor rdx, rcx
xor r9d, dword [r10 + rdx*4]
movzx edx, r9b
shr r9d, 8
xor r8, rdx
xor r9d, dword [r10 + r8*4]
not r9d
mov eax, r9d
add rsp, 0x30
pop rdi
ret
Function at 0x1400184e0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, qword [0x14020c330]
mov edi, ecx
cmp byte [rbx + 0x4a9d], 0
jne 0x140018532
cmp byte [rbx + 0x4a9e], 0
jne 0x140018532
movsx r9d, word [rbx + 0x5bc2]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140003c40
test dil, 1
je 0x14001865f
jmp 0x1400185bd
movss xmm1, dword [rbx + 0x389c]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x140175570]
xor eax, eax
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x140175550]
addss xmm0, dword [rbx + 0xe08]
addss xmm1, dword [rbx + 0xe0c]
mov qword [rbx + 0x47e8], rax
mov dword [rbx + 0x47d4], 1
movss dword [rbx + 0x47e0], xmm0
movss dword [rbx + 0x47e4], xmm1
movss xmm0, dword [rbx + 0x3904]
mulss xmm0, dword [0x140175490]
or dword [rbx + 0x47d0], 0x41
movss dword [rbx + 0x4830], xmm0
movsx r9d, word [rbx + 0x5bc2]
call fcn.140003c40
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140018610
lea r11, [0x140167150]
nop dword [rax]
cmp r9b, 0x23
jne 0x1400185f3
cmp byte [r8], r9b
jne 0x1400185f3
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x1400185e0
not ecx
call fcn.14000cc20
test rax, rax
je 0x14001865f
cmp byte [rax + 0xb6], 0
je 0x14001865f
mov byte [rax + 0xbb], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xbd], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xd8], 1
mov edx, reloc.WS2_32.dll_recv
inc word [rbx + 0x5bc2]
movsx r9d, word [rbx + 0x5bc2]
call fcn.140003c40
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14000f880
mov rbx, qword [rsp + 0x40]
mov al, 1
add rsp, 0x30
pop rdi
ret
Function at 0x14001ec80
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5ca8], 0
lea rbx, [rcx + 0x5cb0]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x14001ed27
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001ecda
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.140021430
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140004840
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5ca8]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x5cb8]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x14020c328]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001ed2f
mov rcx, rbx
call fcn.140004840
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x14001f0e0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
movzx r8d, byte [rcx]
lea rdx, [rcx + 1]
mov r14, qword [0x14020c330]
mov r9d, 0xffffffff
mov ebx, r9d
test r8b, r8b
je 0x14001f144
lea r10, [0x140167150]
cmp r8b, 0x23
jne 0x14001f127
cmp byte [rdx], r8b
jne 0x14001f127
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x14001f114
mov eax, dword [r14 + 0x5c20]
xor edi, edi
mov qword [rsp + 0x30], rbp
not ebx
mov qword [rsp + 0x38], rsi
test eax, eax
jle 0x14001f1a5
mov esi, edi
mov ebp, edi
test rsi, rsi
js 0x14001f16a
cmp edi, eax
jl 0x14001f184
mov r8d, 0x70e
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r14 + 0x5c28]
cmp dword [rax + rbp + 8], ebx
je 0x14001f1c2
mov eax, dword [r14 + 0x5c20]
inc edi
inc rsi
add rbp, 0x48
cmp edi, eax
jl 0x14001f161
xor eax, eax
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
test edi, edi
js 0x14001f1cf
cmp edi, dword [r14 + 0x5c20]
jl 0x14001f1e9
mov r8d, 0x70e
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarimgui.h
lea rcx, str.i___0__i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, edi
lea rcx, [rax + rax*8]
mov rax, qword [r14 + 0x5c28]
lea rax, [rax + rcx*8]
jmp 0x14001f1a7
Function at 0x14004e300
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x138
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x14004e367
lea r8, [r10 + 0x10]
movabs r11, 0xb5026f5aa96619e9
mov rdx, qword [r8]
xor rdx, qword [r8 - 8]
lea r8, [r8 + 8]
and rdx, 0xffffffff80000000
xor rdx, qword [r8 - 8]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x14004e322
mov ecx, dword [r10]
jmp 0x14004e488
cmp ecx, 0x270
jb 0x14004e488
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [r10 + 0x9c8]
mov qword [rsp], rdi
mov rax, qword [rbx]
mov edi, 0x9c
nop word [rax + rax]
mov r9, qword [rbx + 8]
mov r8, rbx
add rbx, 8
mov rdx, r9
xor rdx, rax
and rdx, 0xffffffff80000000
xor rdx, r9
movzx eax, dl
and al, 1
neg al
mov rax, r9
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4e0]
xor rcx, rdx
mov qword [r8 - 0x9c0], rcx
sub rdi, 1
jne 0x14004e3a0
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov r9, qword [rbx]
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rbx + 8]
mov rdx, rbx
xor r9, r8
add rbx, 8
and r9, 0xffffffff80000000
xor r9, r8
movzx eax, r9b
and al, 1
neg al
sbb rcx, rcx
shr r9, 1
and rcx, r11
xor rcx, qword [rdx - 0xea0]
xor rcx, r9
mov r9, r8
mov qword [rdx - 0x9c0], rcx
sub rdi, 1
jne 0x14004e400
mov rdx, qword [r10 + 8]
xor rdx, qword [r10 + 0x1380]
mov rdi, qword [rsp]
and rdx, 0xffffffff80000000
xor rdx, qword [r10 + 8]
mov rbx, qword [rsp + 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
mov qword [r10 + 0x9c0], rcx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov rdx, qword [r10 + rax*8 + 8]
lea eax, [rcx + 1]
mov dword [r10], eax
mov rcx, rdx
mov rax, qword [r10 + 0x1388]
shr rcx, 0x1d
and rax, rcx
movabs rcx, 0x38eb3ffff6d3
xor rdx, rax
mov rax, rdx
and rax, rcx
shl rax, 0x11
xor rdx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rdx, rax
mov rax, rdx
shr rax, 0x2b
xor rax, rdx
add rsp, 8
ret
Function at 0x14004e9b0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x30
mov rdi, qword [0x140231ef0]
mov rbx, r8
lea rsi, [rdi + 0x164]
lea rcx, [rdi + 0x16c]
mov dword [rsi], 1
call sub.VCRUNTIME140.dll_memcpy
mov dword [rdi + 0x168], ebx
add rbx, 8
je 0x14004eac3
mov rax, qword [rdi]
test rax, rax
jne 0x14004ea1b
mov r8d, reloc.WLDAP32.dll_Ordinal_79
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarexamplesexample_win32_directx11Discord_RPCDiscord_SDKSourceFilesconnection_win.cpp
lea rcx, str.self
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
jmp 0x14004ea73
mov rcx, qword [rax + 8]
cmp rcx, 0xffffffffffffffff
je 0x14004ea73
test rsi, rsi
jne 0x14004ea46
mov r8d, 0x56
lea rdx, str.E:CCTepQuanTrongKUTOM_MAInKUTOM_MAInimgui_1_1.rarexamplesexample_win32_directx11Discord_RPCDiscord_SDKSourceFilesconnection_win.cpp
lea rcx, [0x14016fda0]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
jmp 0x14004ea73
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], 0
mov r8d, ebx
mov qword [rsp + 0x20], 0
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x14004ea73
cmp dword [rsp + 0x40], ebx
je 0x14004eac3
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x14004ea92
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x14004ea92
mov ecx, dword [rdi + 0x60]
lea rdx, [rdi + 0x64]
call r8
mov rbx, qword [rdi]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
xor al, al
mov byte [rbx], 0
mov dword [rdi + 8], 0
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x48]
mov al, 1
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x140055100
Capabilities:
Check for debugger via api

Disassembly:
sub rsp, 0x28
mov dword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
mov eax, dword [rsp + 0x30]
add rsp, 0x28
ret

Function at 0x140055b30
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x150
mov rsi, rcx
xor edx, edx
mov ecx, 2
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140055bc2
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], pe_nt_image_headers64
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x140055bdd
nop word [rax + rax]
lea r8, [rsp + 0x4c]
mov rax, rsi
sub r8, rsi
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140055ba3
inc rax
test ecx, ecx
jne 0x140055b90
test edx, edx
je 0x140055bd9
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x140055b80
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
mov ebx, dword [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
setne al
jmp 0x140055bc4