joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14005d6f4
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov dword [rsp + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12d, r8d
mov ebx, edx
mov r15d, ecx
mov ecx, 8
call fcn.14006596c
nop
cmp dword [0x14009bd20], 1
je 0x14005d6a0
mov dword [0x14009bd1c], 1
mov byte [0x14009bd18], r12b
test ebx, ebx
jne 0x14005d68c
mov rcx, qword [0x14009dec0]
call sub.KERNEL32.dll_DecodePointer
mov rsi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14005d679
mov rcx, qword [0x14009deb8]
call sub.KERNEL32.dll_DecodePointer
mov rdi, rax
mov qword [rsp + 0x20], rax
mov r14, rsi
mov qword [rsp + 0x28], rsi
mov r13, rax
mov qword [rsp + 0x38], rax
sub rdi, 8
mov qword [rsp + 0x20], rdi
cmp rdi, rsi
jb 0x14005d618
call fcn.14005fc34
cmp qword [rdi], rax
jne 0x14005d618
jmp 0x14005d5fe
cmp rdi, rsi
jb 0x14005d679
mov rcx, qword [rdi]
call sub.KERNEL32.dll_DecodePointer
mov rbx, rax
call fcn.14005fc34
mov qword [rdi], rax
call rbx
mov rcx, qword [0x14009dec0]
call sub.KERNEL32.dll_DecodePointer
mov rbx, rax
mov rcx, qword [0x14009deb8]
call sub.KERNEL32.dll_DecodePointer
cmp r14, rbx
jne 0x14005d657
cmp r13, rax
je 0x14005d677
mov r14, rbx
mov qword [rsp + 0x28], rbx
mov rsi, rbx
mov qword [rsp + 0x30], rbx
mov r13, rax
mov qword [rsp + 0x38], rax
mov rdi, rax
mov qword [rsp + 0x20], rax
jmp 0x14005d5fe
lea rdx, [0x140076b68]
lea rcx, [0x140076b50]
call fcn.14005d400
lea rdx, [0x140076b78]
lea rcx, [0x140076b70]
call fcn.14005d400
nop
test r12d, r12d
je 0x14005d6af
mov ecx, 8
call fcn.14006586c
test r12d, r12d
jne 0x14005d6da
mov dword [0x14009bd20], 1
lea ecx, [r12 + 8]
call fcn.14006586c
mov ecx, r15d
call fcn.14005d394
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
xor r8d, r8d
xor edx, edx
jmp 0x14005d568

Function at 0x14005d700
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
lea edx, [r8 + 1]
jmp 0x14005d568
Function at 0x140061977
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x140099938]
jne 0x14005baea
rol rcx, 0x10
test cx, 0xffff
jne 0x14005bae6
repz ret
ror rcx, 0x10
jmp 0x1400618d0
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x14009be50]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov r11, qword [0x14009bf48]
mov qword [rsp + 0x58], r11
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x140061955
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x14009be50]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x140061977
mov rax, qword [rsp + 0x88]
mov qword [0x14009bf48], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x14009bee8], rax
mov rax, qword [0x14009bf48]
mov qword [0x14009bdc0], rax
mov rax, qword [rsp + 0x90]
mov qword [0x14009bed0], rax
mov dword [0x14009bdb0], 0xc0000409
mov dword [0x14009bdb4], 1
mov rax, qword [0x140099938]
mov qword [rsp + 0x68], rax
mov rax, qword [0x140099940]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x14009be48], eax
mov ecx, 1
call fcn.140061a1c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x140085438]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x14009be48], 0
jne 0x1400619fe
mov ecx, 1
call fcn.140061a1c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x140068d80
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x40
mov ebp, r8d
mov r13, rdx
mov r14, rcx
call fcn.14005fc34
xor ebx, ebx
mov rdi, rax
cmp qword [0x14009cb68], rbx
jne 0x140068e86
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x140068f5b
lea rdx, str.MessageBoxA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140068f5b
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetActiveWindow
mov rcx, rsi
mov qword [0x14009cb68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetLastActivePopup
mov rcx, rsi
mov qword [0x14009cb70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetUserObjectInformationA
mov rcx, rsi
mov qword [0x14009cb78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov r11, rax
mov qword [0x14009cb88], rax
test rax, rax
je 0x140068e7d
lea rdx, str.GetProcessWindowStation
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov qword [0x14009cb80], rax
jmp 0x140068e8d
mov rax, qword [0x14009cb80]
jmp 0x140068e94
mov rax, qword [0x14009cb80]
mov r11, qword [0x14009cb88]
cmp rax, rdi
je 0x140068efc
cmp r11, rdi
je 0x140068efc
mov rcx, rax
call sub.KERNEL32.dll_DecodePointer
mov rcx, qword [0x14009cb88]
mov rsi, rax
call sub.KERNEL32.dll_DecodePointer
mov r12, rax
test rsi, rsi
je 0x140068efc
test rax, rax
je 0x140068efc
call rsi
test rax, rax
je 0x140068ef6
lea rcx, [rsp + 0x88]
mov r9d, 0xc
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
mov rcx, rax
call r12
test eax, eax
je 0x140068ef6
test byte [rsp + 0x38], 1
jne 0x140068efc
bts ebp, 0x15
jmp 0x140068f3a
mov rcx, qword [0x14009cb70]
cmp rcx, rdi
je 0x140068f3a
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140068f3a
call rax
mov rbx, rax
test rax, rax
je 0x140068f3a
mov rcx, qword [0x14009cb78]
cmp rcx, rdi
je 0x140068f3a
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140068f3a
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x14009cb68]
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140068f5b
mov r9d, ebp
mov r8, r13
mov rdx, r14
mov rcx, rbx
call rax
jmp 0x140068f5d
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x140001380
Capabilities:
Execute syscall

Disassembly:
mov r10, rcx
mov eax, 0x1007
syscall
ret
Function at 0x140002ed0
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x40
mov rbx, rcx
xor eax, eax
mov dword [rsp + 0x20], eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov dword [rsp + 0x20], 1
call fcn.1400033e0
mov r8d, dword [rbx + 8]
sub r8d, dword [rbx]
mov r9d, 2
mov rdx, qword [rbx]
xor ecx, ecx
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
js 0x140002f1f
mov rax, rbx
add rsp, 0x40
pop rbx
ret
lea rdx, str.Failed_to_gen_random_buffer
lea rcx, [rsp + 0x28]
call fcn.140001430
lea rdx, [0x1401c3140]
lea rcx, [rsp + 0x28]
call fcn.1400fc9b0
int3
Function at 0x140003d50
Capabilities:
Initialize winhttp library

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0xb0
mov rax, qword [0x1401ca1c8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rdi, rcx
mov qword [rsp + 0x38], rcx
lea rax, vtable.HttpClient.0
mov qword [rcx], rax
xor eax, eax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x20], xmm0
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], 0xf
mov byte [rcx + 0x20], al
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rdi + 8], rax
test rax, rax
je 0x140003e50
mov dword [rsp + 0x30], 0xa00
mov r9d, 4
lea r8, [rsp + 0x30]
lea edx, [r9 + 0x50]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
je 0x140003e0e
mov rax, rdi
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400fb3b0
mov rbx, qword [rsp + 0xc8]
add rsp, 0xb0
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov ebx, eax
lea rdx, str.Failed_to_set_the_WinHTTP_session_secure_protocols
lea rcx, [rsp + 0x40]
call fcn.140003b60
nop
lea r9, [rsp + 0x40]
mov r8d, ebx
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.140003fb0
lea rdx, [0x1401c3208]
lea rcx, [rsp + 0x60]
call fcn.1400fc9b0
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.Failed_to_start_WinHTTP_session
lea rcx, [rsp + 0x40]
call fcn.140003b60
nop
lea r9, [rsp + 0x40]
mov r8d, ebx
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.140003fb0
lea rdx, [0x1401c3208]
lea rcx, [rsp + 0x60]
call fcn.1400fc9b0
int3
Function at 0x140010cc0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov ecx, dword [rcx + 0x10]
mov r10d, ecx
and r10d, 7
je 0x140010cf4
cmp ecx, r10d
jge 0x140010ce2
mov rcx, rbx
call fcn.14000a6d0
mov eax, dword [rbx + 0x14]
mov ecx, r10d
shr eax, cl
sub dword [rbx + 0x10], r10d
mov ecx, dword [rbx + 0x10]
mov dword [rbx + 0x14], eax
xor r8d, r8d
mov eax, ecx
test ecx, ecx
jle 0x140010d2e
mov ecx, dword [rbx + 0x14]
lea rdx, [rsp + 0x30]
movzx r9d, cl
nop dword [rax]
shr ecx, 8
inc r8d
mov byte [rdx], r9b
lea rdx, [rdx + 1]
sub eax, 8
mov dword [rbx + 0x14], ecx
movzx r9d, cl
test eax, eax
jg 0x140010d10
mov dword [rbx + 0x10], eax
test eax, eax
jns 0x140010d5d
mov edx, dword [0x1401ce94c]
mov rax, qword gs:[0x58]
mov ecx, 0x10
mov rax, qword [rax + rdx*8]
lea rdx, str.zlib_corrupt
mov qword [rcx + rax], rdx
xor eax, eax
add rsp, 0x20
pop rbx
ret
movsxd rcx, r8d
cmp rcx, 4
jge 0x140010d8f
mov r8, qword [rbx + 8]
mov rax, qword [rbx]
nop dword [rax]
cmp rax, r8
jb 0x140010d79
xor dl, dl
jmp 0x140010d82
movzx edx, byte [rax]
inc rax
mov qword [rbx], rax
mov byte [rsp + rcx + 0x30], dl
inc rcx
cmp rcx, 4
jl 0x140010d70
movzx eax, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x33]
shl r8d, 8
add r8d, eax
shl ecx, 8
movzx eax, byte [rsp + 0x32]
add ecx, eax
mov eax, r8d
xor eax, 0xffff
cmp ecx, eax
jne 0x140010d32
mov rcx, qword [rbx]
mov qword [rsp + 0x38], rdi
mov edi, r8d
add rcx, rdi
cmp rcx, qword [rbx + 8]
jbe 0x140010e04
mov edx, dword [0x1401ce94c]
mov rax, qword gs:[0x58]
mov ecx, 0x10
mov rax, qword [rax + rdx*8]
lea rdx, str.read_past_buffer
mov qword [rcx + rax], rdx
mov rdi, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov rdx, qword [rbx + 0x18]
lea rax, [r8 + rdx]
cmp rax, qword [rbx + 0x28]
jbe 0x140010e1e
mov rcx, rbx
call fcn.140015ed0
test eax, eax
je 0x140010df7
mov rdx, qword [rbx]
mov r8, rdi
mov rcx, qword [rbx + 0x18]
call fcn.1400fd890
add qword [rbx], rdi
mov eax, 1
add qword [rbx + 0x18], rdi
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
Function at 0x14003bf80
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov r14, r8
mov rsi, rdx
mov rbx, rcx
test r8, r8
jg 0x14003bfb1
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rdi
je 0x14003c02b
mov rdi, r14
mov rcx, rbx
call fcn.14002a4a0
test rax, rax
jle 0x14003c003
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov rax, qword [rbx + 0x38]
mov r8, rbp
mov rdx, qword [rax]
call fcn.1400fd890
mov rax, qword [rbx + 0x50]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x14003c01b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x14003c023
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x14003bfc5
sub r14, rdi
jmp 0x14003c10f
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x14003c042
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x14003c044
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x14003c076
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.1400fd890
mov rax, qword [rbx + 0x50]
add rsi, rdi
sub rbp, rdi
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x14003c10c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14003c0b1
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
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
cmp rbp, 0xfff
jbe 0x14003c0ed
nop word [rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.140103fdc
add rsi, rax
sub rbp, rax
cmp rax, 0xfff
jne 0x14003c10c
cmp rbp, rax
ja 0x14003c0c0
test rbp, rbp
je 0x14003c10c
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.140103fdc
sub rbp, rax
sub r14, rbp
mov rbp, qword [rsp + 0x30]
mov rax, r14
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x1400433d0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1401ca1c8]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1401ce120]
mov edi, edx
mov esi, ecx
cmp byte [rbx + 0x41cd], 0
jne 0x140043438
cmp byte [rbx + 0x41ce], 0
jne 0x140043438
movsx r9d, word [rbx + 0x52ae]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.140047b10
test sil, 1
je 0x140043569
jmp 0x1400434d1
movss xmm1, dword [rbx + 0x3830]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x1401537b8]
xor eax, eax
mov edx, 0x10
mulss xmm1, dword [0x140154e28]
addss xmm0, dword [rbx + 0xd0c]
addss xmm1, dword [rbx + 0xd10]
or dword [rbx + 0x3f30], 1
mov qword [rbx + 0x3f48], rax
movss dword [rbx + 0x3f40], xmm0
mov dword [rbx + 0x3f34], 1
movss dword [rbx + 0x3f44], xmm1
movss xmm0, dword [rbx + 0x388c]
mov rax, qword [0x1401ce120]
mulss xmm0, dword [0x140154de4]
or dword [rax + 0x3f30], 0x40
movss dword [rax + 0x3f90], xmm0
movsx r9d, word [rbx + 0x52ae]
call fcn.140047b10
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140043521
lea r11, [0x140153c60]
cmp r9b, 0x23
jne 0x140043504
cmp byte [r8], r9b
jne 0x140043504
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 0x1400434f1
not ecx
call fcn.1400468c0
test rax, rax
je 0x140043569
cmp byte [rax + 0x8e], 0
je 0x140043569
mov byte [rax + 0x95], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb0], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x52ae]
mov edx, 0x10
movsx r9d, word [rbx + 0x52ae]
call fcn.140047b10
or edi, 0x20c0347
lea rcx, [rsp + 0x20]
mov r8d, edi
xor edx, edx
call fcn.140040960
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400fb3b0
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

Function at 0x140046940
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 0x140046990
lea r11, [0x140153c60]
cmp r9b, 0x23
jne 0x140046973
cmp byte [r8], r9b
jne 0x140046973
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 0x140046960
not ecx
jmp fcn.1400468c0
Function at 0x140046fd0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xc8]
mov rax, qword [rcx + 0xd0]
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x140153c60]
not ebx
movzx eax, dl
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x39]
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3a]
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, byte [rsp + 0x3b]
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov rax, qword [0x1401ce120]
xor ebx, dword [r8 + rcx*4]
not ebx
cmp dword [rax + 0x3e74], ebx
jne 0x140047052
mov dword [rax + 0x3e78], ebx
cmp dword [rax + 0x3ec0], ebx
jne 0x140047061
mov byte [rax + 0x3ec4], 1
mov rcx, qword [0x1401ce120]
cmp dword [rcx + 0x3e5c], ebx
jne 0x140047081
xor r9d, r9d
movsxd r8, edx
mov ecx, ebx
lea edx, [r9 + 4]
call fcn.140045080
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x140047c60
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 0x140047cbd
lea rbx, [0x140153c60]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140047ca4
cmp r10, 2
jb 0x140047ca4
cmp byte [r9], r8b
jne 0x140047ca4
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 0x140047c80
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x140047cff
lea rbx, [0x140153c60]
cmp r8b, 0x23
jne 0x140047ce3
cmp byte [r9], r8b
jne 0x140047ce3
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 0x140047cd0
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x140047f30
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 0x140047f70
cmp rax, rbx
jae 0x14004811c
movzx r8d, byte [rax]
test r8b, r8b
je 0x14004811c
mov r11d, r10d
mov ecx, r8d
shr rcx, 3
mov rdx, rbx
movsx r9, byte [rcx + r15 + 0x154b20]
test r9d, r9d
sete r11b
add r11d, r9d
test rbx, rbx
jne 0x140047fa8
movsxd rdx, r11d
add rdx, rax
cmp rax, rdx
lea rcx, [rax + 1]
mov edi, r8d
cmovae edi, r10d
cmp rcx, rdx
jae 0x140047fc1
movzx r12d, byte [rcx]
jmp 0x140047fc4
xor r12b, r12b
lea rcx, [rax + 2]
cmp rcx, rdx
jae 0x140047fd2
movzx ebp, byte [rcx]
jmp 0x140047fd5
xor bpl, bpl
lea rcx, [rax + 3]
cmp rcx, rdx
jae 0x140047fe3
movzx esi, byte [rcx]
jmp 0x140047fe6
xor sil, sil
lea r9, [r9*4]
movzx ecx, dil
mov r15d, dword [r9 + r15 + 0x154b40]
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 + 0x154b70]
or r10d, r8d
shr r15d, cl
lea rcx, [0x140000000]
shr r10d, 2
mov edx, r15d
cmp r15d, dword [r9 + rcx + 0x154b58]
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 + 0x154b88]
or r10d, edx
xor r10d, 0x2a
sar r10d, cl
test r10d, r10d
je 0x140048106
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 0x140047f58
movsxd rcx, r11d
add rax, rcx
test r15d, r15d
je 0x14004811c
xor r10d, r10d
inc r14d
jmp 0x140047f58
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
Function at 0x140048190
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0x30
movsxd rax, edx
mov rdi, rcx
dec rax
mov qword [r11 + 0x18], rbp
mov rbp, r9
xor r9d, r9d
lea rax, [rcx + rax*2]
mov qword [rsp + 8], rax
cmp rcx, rax
jae 0x1400483b9
mov qword [r11 + 0x20], rsi
lea rsi, [0x140000000]
mov qword [r11 + 0x10], rbx
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov qword [rsp], r8
test rbp, rbp
je 0x1400481f2
cmp r8, rbp
jae 0x140048396
movzx edx, byte [r8]
test dl, dl
je 0x140048396
mov eax, edx
mov rcx, rbp
shr rax, 3
movsx r9, byte [rax + rsi + 0x154b20]
xor eax, eax
test r9d, r9d
mov ebx, eax
sete bl
add ebx, r9d
test rbp, rbp
jne 0x140048228
movsxd rcx, ebx
add rcx, r8
cmp r8, rcx
mov r14d, edx
cmovae r14d, eax
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x140048241
movzx r13d, byte [rax]
jmp 0x140048244
xor r13b, r13b
lea rax, [r8 + 2]
cmp rax, rcx
jae 0x140048253
movzx r12d, byte [rax]
jmp 0x140048256
xor r12b, r12b
lea rax, [r8 + 3]
cmp rax, rcx
jae 0x140048265
movzx r15d, byte [rax]
jmp 0x140048268
xor r15b, r15b
lea r10, [r9*4]
movzx eax, r14b
mov esi, dword [r10 + rsi + 0x154b40]
and esi, eax
movzx r9d, r13b
shl esi, 6
mov eax, r9d
and eax, 0x3f
movzx edx, r12b
or esi, eax
movzx r11d, r15b
shl esi, 6
and r9d, 0xc0
mov eax, edx
and edx, 0xc0
and eax, 0x3f
or esi, eax
mov eax, r11d
shr r11d, 2
and eax, 0x3f
or r11d, edx
shl esi, 6
or esi, eax
shr r11d, 2
or r11d, r9d
lea rax, [0x140000000]
mov ecx, dword [r10 + rax + 0x154b70]
shr r11d, 2
shr esi, cl
mov ecx, 0x100
cmp esi, dword [r10 + rax + 0x154b58]
sbb eax, eax
xor r9d, r9d
and eax, 0x40
mov edx, r9d
or r11d, eax
mov eax, esi
and eax, 0xfffff800
cmp eax, 0xd800
mov eax, 0x80
cmove edx, eax
mov eax, r9d
or r11d, edx
cmp esi, 0xffff
cmova eax, ecx
lea rcx, [0x140000000]
mov ecx, dword [r10 + rcx + 0x154b88]
or r11d, eax
xor r11d, 0x2a
sar r11d, cl
test r11d, r11d
je 0x140048373
test r14b, r14b
mov eax, r9d
mov ecx, r9d
mov esi, 0xfffd
setne cl
test r15b, r15b
setne al
add ecx, eax
mov eax, r9d
test r12b, r12b
setne al
add ecx, eax
mov eax, r9d
test r13b, r13b
setne al
add ecx, eax
cmp ebx, ecx
cmovl ecx, ebx
movsxd r8, ecx
add r8, qword [rsp]
jmp 0x14004837d
movsxd rax, ebx
add r8, rax
test esi, esi
je 0x140048396
mov word [rdi], si
add rdi, 2
lea rsi, [0x140000000]
cmp rdi, qword [rsp + 8]
jb 0x1400481e0
mov rcx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov word [rdi], r9w
test rax, rax
je 0x1400483cf
mov qword [rax], r8
sub rdi, rcx
sar rdi, 1
mov eax, edi
add rsp, 0x30
pop rdi
ret