joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14006fcf8
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x14006fd0e
mov al, 1
jmp 0x14006fd6e
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x14006fd1f
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x14006fd6c
mov ecx, dword [rcx + 0x18]
nop
call fcn.1400695ac
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14006fd6c
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x14006fd6c
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x14006fd6c
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x14006fd6e
xor al, al
add rsp, 0x20
pop rbx
ret

Function at 0x1400725e0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140072608
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140072608
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x140003c30
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x47], 0
je 0x140003c53
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x39]
xor byte [rcx + rax], dl
inc rax
cmp rax, 0x46
jb 0x140003c40
mov byte [rcx + 0x47], 0
mov rax, rcx
ret

Function at 0x140003c60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x70
mov r9, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x68], rcx
xor esi, esi
cmp byte [r8 + 6], sil
je 0x140003c94
mov ecx, esi
lea eax, [rcx - 0x39]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 5
jb 0x140003c80
mov byte [r8 + 6], sil
lea rax, [r8 + 5]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], sil
cmp r9, rax
je 0x140003cc9
mov r8d, 5
mov rdx, r9
lea rcx, [rsp + 0x48]
call fcn.140006a10
nop
cmp byte [rbx + 0xa], 0
je 0x140003cf3
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x39]
xor byte [rbx + rcx], al
inc rcx
cmp rcx, 9
jb 0x140003ce0
mov byte [rbx + 0xa], 0
lea rax, [rbx + 9]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x28], 0
cmp rbx, rax
je 0x140003d28
mov r8d, 9
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140006a10
nop
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x28]
mov rcx, rdi
call fcn.140008cb0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x140003d7c
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003d76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003d76
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140003dbc
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003db7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003db7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
mov rax, rdi
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
Function at 0x140003dd0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r9, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
cmp byte [r8 + 7], sil
je 0x140003e04
mov ecx, esi
lea eax, [rcx - 0x39]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 6
jb 0x140003df0
mov byte [r8 + 7], sil
lea rax, [r8 + 6]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x28], sil
cmp r9, rax
je 0x140003e39
mov r8d, 6
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.140006a10
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140003e47
mov rbx, qword [rbx]
mov r8, rbx
lea rcx, [rsp + 0x28]
call fcn.140009b70
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x140003ebc
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003eb7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003eb7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140003ed0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r9, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
cmp byte [r8 + 0xa], sil
je 0x140003f04
mov ecx, esi
lea eax, [rcx - 0x39]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 9
jb 0x140003ef0
mov byte [r8 + 0xa], sil
lea rax, [r8 + 9]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x28], sil
cmp r9, rax
je 0x140003f39
mov r8d, 9
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.140006a10
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140003f47
mov rbx, qword [rbx]
mov r8, rbx
lea rcx, [rsp + 0x28]
call fcn.140009b70
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x140003fbc
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003fb7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003fb7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret

Function at 0x140003fd0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x136], 0
je 0x140003ff8
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0x39]
xor byte [rcx + rax], dl
inc rax
cmp rax, 0x135
jb 0x140003fe0
mov byte [rcx + 0x136], 0
mov rax, rcx
ret
Function at 0x140004030
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r9, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
cmp byte [r8 + 0xc], sil
je 0x140004064
mov ecx, esi
lea eax, [rcx - 0x39]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 0xb
jb 0x140004050
mov byte [r8 + 0xc], sil
lea rax, [r8 + 0xb]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x28], sil
cmp r9, rax
je 0x140004099
mov r8d, listen
mov rdx, r9
lea rcx, [rsp + 0x28]
call fcn.140006a10
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x1400040a7
mov rbx, qword [rbx]
mov r8, rbx
lea rcx, [rsp + 0x28]
call fcn.140009b70
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14000411c
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004117
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004117
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x140004670
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x70
mov r9, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x68], rcx
xor esi, esi
cmp byte [r8 + 6], sil
je 0x1400046a4
mov ecx, esi
lea eax, [rcx - 0x39]
xor byte [r8 + rcx], al
inc rcx
cmp rcx, 5
jb 0x140004690
mov byte [r8 + 6], sil
lea rax, [r8 + 5]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x48], sil
cmp r9, rax
je 0x1400046d9
mov r8d, 5
mov rdx, r9
lea rcx, [rsp + 0x48]
call fcn.140006a10
nop
cmp byte [rbx + 0xd], 0
je 0x140004703
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x39]
xor byte [rbx + rcx], al
inc rcx
cmp rcx, 0xc
jb 0x1400046f0
mov byte [rbx + 0xd], 0
lea rax, [rbx + 0xc]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x28], 0
cmp rbx, rax
je 0x140004738
mov r8d, recvfrom
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140006a10
nop
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x28]
mov rcx, rdi
call fcn.140008cb0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14000478c
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004786
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004786
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400047cc
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400047c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400047c7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a928c
mov rax, rdi
add rsp, 0x70
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400053d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140110240]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x1400053fd
xor eax, eax
jmp 0x14000555a
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x140005428
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x140005428
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], dil
mov eax, edi
jmp 0x14000555a
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14000554d
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x14000546b
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x140005496
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x140005552
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140005505
sub eax, 1
je 0x140005505
cmp eax, 2
jne 0x14000554d
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x140005552
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140005533
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14000554d
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x140005552
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400a96d0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140005f70
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140110240]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140006043
cmp byte [rcx + 0x71], 0
je 0x140006043
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + Ordinal_26]
cmp eax, 0xffffffff
je 0x14000603f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140006004
sub eax, 1
je 0x140006008
cmp eax, 2
jne 0x14000603f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400a96d0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140006036
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x14000603f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140005fec
xor al, al
jmp 0x140005fec
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400a96d0
add rsp, 0x60
pop rbx
ret
Function at 0x14001a9e0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x140110240]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x140110720]
mov esi, edx
mov edi, ecx
cmp byte [rbx + 0x20d5], 0
jne 0x14001aa47
cmp byte [rbx + 0x20d6], 0
jne 0x14001aa47
mov r9d, dword [rbx + 0x3178]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140027cc0
test sil, 1
je 0x14001ab7c
jmp 0x14001aae6
movss xmm1, dword [rbx + 0x16ec]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x1400ad8d0]
xor eax, eax
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1400ad8c8]
addss xmm0, dword [rbx + 0x120]
addss xmm1, dword [rbx + 0x124]
or dword [rbx + 0x1dc0], 1
mov qword [rbx + 0x1ddc], rax
movss dword [rbx + 0x1dd4], xmm0
mov dword [rbx + 0x1dc4], 1
movss dword [rbx + 0x1dd8], xmm1
mov byte [rbx + 0x1dfc], 1
movss xmm0, dword [rbx + 0x1748]
mov rax, qword [0x140110720]
mulss xmm0, dword [0x1400ad85c]
or dword [rax + 0x1dc0], 0x40
movss dword [rax + 0x1e20], xmm0
mov r9d, dword [rbx + 0x3178]
call fcn.140027cc0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x14001ab36
lea r11, [0x1400acc90]
cmp r9b, 0x23
jne 0x14001ab19
cmp byte [r8], r9b
jne 0x14001ab19
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 0x14001ab06
not ecx
call fcn.1400266e0
test rax, rax
je 0x14001ab7c
cmp byte [rax + 0xcf], 0
je 0x14001ab7c
mov byte [rax + 0xd6], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xf0], 1
lea rcx, [rsp + 0x20]
inc dword [rbx + 0x3178]
mov edx, reloc.WS2_32.dll_recv
mov r9d, dword [rbx + 0x3178]
call fcn.140027cc0
or edi, 0x22c0347
lea rcx, [rsp + 0x20]
mov r8d, edi
xor edx, edx
call fcn.140016c50
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400a96d0
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14001e8f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
sub rsp, 0x30
mov qword [rsp + 0x50], rbx
mov rbp, rdx
mov qword [rsp + 0x28], rdi
mov rbx, rcx
mov rcx, qword [rdx + 0x448]
movzx edi, r8b
mov qword [rsp + 0x20], r14
test rcx, rcx
je 0x14001e923
xor r8d, r8d
call fcn.1400203b0
cmp qword [rbx + 0x80], 0
jne 0x14001e95c
cmp dword [rbx + 0x28], 1
jne 0x14001e95c
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax]
cmp byte [rcx + 0xd0], 0
jne 0x14001e95c
cmp byte [rcx + 0xcf], 0
mov byte [rcx + 0xd6], 1
sete al
inc al
mov byte [rcx + 0xf0], al
mov r8d, dword [rbx + 0x28]
mov ecx, dword [rbx + 0x2c]
cmp r8d, ecx
jne 0x14001e992
inc r8d
test ecx, ecx
je 0x14001e97a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14001e97f
mov eax, 8
cmp eax, r8d
lea rcx, [rbx + 0x28]
cmovg r8d, eax
mov edx, r8d
call fcn.140038180
movsxd rcx, dword [rbx + 0x28]
mov rax, qword [rbx + 0x30]
mov qword [rax + rcx*8], rbp
inc dword [rbx + 0x28]
or byte [rbx + 0xbc], 0x80
mov qword [rbp + 0x448], rbx
mov eax, dword [rbx]
mov dword [rbp + 0x458], eax
cmp dword [rbx + 0x28], 1
movzx eax, byte [rbp + 0x429]
setg cl
and al, 0xfe
or cl, al
and cl, 0xfb
mov byte [rbp + 0x429], cl
cmp qword [rbx + 0x80], 0
jne 0x14001ea28
cmp qword [rbx + 0x10], 0
jne 0x14001ea28
test dword [rbx + 8], 0x400
jne 0x14001ea28
mov eax, dword [rbx + 0xb8]
test al, 7
jne 0x14001ea02
and eax, 0xfffffffa
or eax, 2
mov dword [rbx + 0xb8], eax
test al, 0x38
jne 0x14001ea12
and eax, 0xffffffd7
or eax, 0x10
mov dword [rbx + 0xb8], eax
test eax, 0x1c0
jne 0x14001ea28
and eax, 0xfffffebf
bts eax, 7
mov dword [rbx + 0xb8], eax
test dil, dil
je 0x14001eaa8
cmp qword [rbx + 0x38], 0
jne 0x14001ea97
mov rcx, rbx
call fcn.14001e880
mov rcx, qword [rbx + 0x38]
xor edi, edi
mov eax, dword [rbx + 0xb0]
mov dword [rcx + 0x1c], eax
mov rcx, qword [rbx + 0x38]
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x18], eax
mov eax, dword [rbx + 0x28]
dec eax
test eax, eax
jle 0x14001ea97
mov qword [rsp + 0x58], rsi
mov esi, edi
nop word [rax + rax]
mov r8, qword [rbx + 0x30]
xor edx, edx
mov rcx, qword [rbx + 0x38]
mov r8, qword [rsi + r8]
call fcn.140054b70
mov eax, dword [rbx + 0x28]
lea rsi, [rsi + 8]
dec eax
inc edi
cmp edi, eax
jl 0x14001ea70
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rbx + 0x38]
mov r8, rbp
mov edx, 0x400000
call fcn.140054b70
mov ecx, dword [rbx + 8]
mov eax, ecx
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
shr eax, 0xb
shr ecx, 0xa
cmp qword [rbx + 0x10], 0
movzx eax, al
movzx r8d, cl
cmovne r8d, eax
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14001eae3
test byte [rax + 0xbc], 1
je 0x14001eae3
mov al, 1
jmp 0x14001eae5
xor al, al
cmp dword [rbx + 0x28], 0
movzx edx, al
mov eax, 1
cmovg edx, eax
mov rax, qword [rbx + 0x20]
or dl, r8b
test rax, rax
je 0x14001eb0d
test byte [rax + 0xbc], 1
je 0x14001eb0d
mov cl, 1
jmp 0x14001eb0f
xor cl, cl
movzx eax, byte [rbx + 0xbc]
or cl, dl
mov r8, qword [rbx + 0x80]
and cl, 1
and al, 0xfe
xor cl, al
mov byte [rbx + 0xbc], cl
mov rbx, qword [rsp + 0x50]
test r8, r8
je 0x14001eb4a
mov edx, dword [rbp + 0xc]
mov rcx, rbp
bts edx, 0x18
add rsp, 0x30
pop rbp
jmp fcn.140037000
add rsp, 0x30
pop rbp
ret
Function at 0x140026540
Capabilities:
Hash data with crc32

Disassembly:
push rbx
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov rbx, rcx
mov eax, r10d
test r9b, r9b
je 0x140026592
lea r11, [0x1400acc90]
cmp r9b, 0x23
jne 0x140026575
cmp byte [r8], r9b
jne 0x140026575
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x140026562
mov r11, qword [0x140110720]
xor r9d, r9d
mov r10, qword [r11 + 0x3228]
test r10, r10
lea rcx, [r10 + 4]
cmovne r9, rcx
test r9, r9
je 0x1400265de
not eax
cmp dword [r9], eax
je 0x1400265e7
movsxd r8, dword [r9 - 4]
movsxd rdx, dword [r11 + 0x3220]
add r8, r9
add rdx, 4
xor r9d, r9d
add rdx, r10
cmp r8, rdx
cmovne r9, r8
test r9, r9
jne 0x1400265b5
mov rcx, rbx
pop rbx
jmp fcn.14001c7a0
mov rax, r9
pop rbx
ret

Function at 0x140026760
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rcx
mov r10d, 0xffffffff
mov ecx, r10d
movzx r9d, byte [rax]
lea r8, [rax + 1]
test r9b, r9b
je 0x1400267b0
lea r11, [0x1400acc90]
cmp r9b, 0x23
jne 0x140026793
cmp byte [r8], r9b
jne 0x140026793
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 0x140026780
not ecx
jmp fcn.1400266e0

Function at 0x140027130
Capabilities:
Hash data with crc32

Disassembly:
movsxd rax, dword [rcx + 0x108]
mov r9, r8
mov r8, qword [rcx + 0x110]
mov r10, rdx
xor ecx, ecx
mov rdx, r9
sub rdx, r10
test r9, r9
mov r8d, dword [r8 + rax*4 - 4]
cmove rdx, rcx
mov rcx, r10
jmp fcn.140027e10

Function at 0x140027e10
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 0x140027e6d
lea rbx, [0x1400acc90]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140027e54
cmp r10, 2
jb 0x140027e54
cmp byte [r9], r8b
jne 0x140027e54
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 0x140027e30
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x140027eaf
lea rbx, [0x1400acc90]
cmp r8b, 0x23
jne 0x140027e93
cmp byte [r9], r8b
jne 0x140027e93
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 0x140027e80
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x1400280f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push r13
push r14
push r15
mov qword [rsp + 0x28], rbp
xor r10d, r10d
mov qword [rsp + 0x30], rsi
mov rbx, rdx
mov qword [rsp + 0x38], rdi
mov rax, rcx
mov qword [rsp + 0x40], r12
mov r14d, r10d
lea r15, [0x140000000]
mov r13, rax
test rbx, rbx
je 0x140028130
cmp rax, rbx
jae 0x1400282dc
movzx r8d, byte [rax]
test r8b, r8b
je 0x1400282dc
mov r11d, r10d
mov ecx, r8d
shr rcx, 3
mov rdx, rbx
movsx r9, byte [rcx + r15 + 0xad1e0]
test r9d, r9d
sete r11b
add r11d, r9d
test rbx, rbx
jne 0x140028168
movsxd rdx, r11d
add rdx, rax
cmp rax, rdx
lea rcx, [rax + 1]
mov edi, r8d
cmovae edi, r10d
cmp rcx, rdx
jae 0x140028181
movzx r12d, byte [rcx]
jmp 0x140028184
xor r12b, r12b
lea rcx, [rax + 2]
cmp rcx, rdx
jae 0x140028192
movzx ebp, byte [rcx]
jmp 0x140028195
xor bpl, bpl
lea rcx, [rax + 3]
cmp rcx, rdx
jae 0x1400281a3
movzx esi, byte [rcx]
jmp 0x1400281a6
xor sil, sil
lea r9, [r9*4]
movzx ecx, dil
mov r15d, dword [r9 + r15 + 0xad200]
and r15d, ecx
movzx r8d, r12b
shl r15d, 6
mov ecx, r8d
and ecx, 0x3f
movzx edx, bpl
or r15d, ecx
movzx r10d, sil
shl r15d, 6
mov ecx, edx
and ecx, 0x3f
and edx, 0xc0
or r15d, ecx
and r8d, 0xc0
mov ecx, r10d
shl r15d, 6
and ecx, 0x3f
shr r10d, 2
or r10d, edx
or r15d, ecx
shr r10d, 2
lea rcx, [0x140000000]
mov ecx, dword [r9 + rcx + 0xad230]
or r10d, r8d
shr r15d, cl
lea rcx, [0x140000000]
shr r10d, 2
mov edx, r15d
cmp r15d, dword [r9 + rcx + 0xad218]
sbb ecx, ecx
and edx, 0xfffff800
and ecx, 0x40
xor r8d, r8d
or r10d, ecx
mov ecx, 0x80
cmp edx, 0xd800
cmove r8d, ecx
xor edx, edx
or r10d, r8d
mov ecx, 0x100
cmp r15d, 0xffff
cmova edx, ecx
lea rcx, [0x140000000]
mov ecx, dword [r9 + rcx + 0xad248]
or r10d, edx
xor r10d, 0x2a
sar r10d, cl
test r10d, r10d
je 0x1400282c6
xor r10d, r10d
test dil, dil
mov eax, r10d
mov ecx, r10d
setne cl
test sil, sil
setne al
add ecx, eax
mov eax, r10d
test bpl, bpl
setne al
add ecx, eax
mov eax, r10d
test r12b, r12b
setne al
add ecx, eax
cmp r11d, ecx
cmovl ecx, r11d
movsxd rax, ecx
add rax, r13
inc r14d
jmp 0x140028118
movsxd rcx, r11d
add rax, rcx
test r15d, r15d
je 0x1400282dc
xor r10d, r10d
inc r14d
jmp 0x140028118
mov r12, qword [rsp + 0x40]
mov eax, r14d
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x28]
pop r15
pop r14
pop r13
pop rbx
ret