joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140015650
Capabilities:
Get memory capacity

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x1a0
mov rax, qword [0x1405dcbd0]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov rdi, rcx
test rcx, rcx
je 0x140015688
mov byte [rcx], 0
xor ebx, ebx
mov rbp, 0xffffffffffffffff
mov r15d, ebx
mov dword [rsp + 0x30], ebx
mov r14d, ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x30]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_IsProcessInJob]
test eax, eax
je 0x140015760
cmp dword [rsp + 0x30], ebx
je 0x140015760
mov r9d, 0x90
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x100]
xor ecx, ecx
lea edx, [rbp + 0xa]
call qword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
test eax, eax
je 0x140015760
mov eax, dword [rsp + 0x110]
mov rdx, rbp
bt eax, 9
mov rcx, rbp
mov rsi, rbp
cmovb rdx, qword [rsp + 0x178]
bt eax, 8
cmovb rcx, qword [rsp + 0x170]
test al, 1
cmovne rsi, qword [rsp + 0x120]
cmp rdx, rbp
jne 0x140015729
cmp rcx, rbp
jne 0x140015729
cmp rsi, rbp
je 0x140015760
cmp rdx, rcx
mov dword [rsp + 0x40], 0x40
cmovb rcx, rdx
cmp rcx, rsi
cmovb rsi, rcx
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rbp, qword [rsp + 0x48]
mov r15, qword [rsp + 0x68]
cmp rsi, rbp
mov r14, qword [rsp + 0x50]
cmovb rbp, rsi
cmp rbp, 0xffffffffffffffff
mov rsi, rbx
cmovne rsi, rbp
test r15, r15
jne 0x140015799
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x80], 0x40
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov r15, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x88]
test rsi, rsi
cmovne r14, rsi
cmp r15, r14
cmovae rbx, rsi
test rbx, rbx
je 0x1400157b9
test rdi, rdi
je 0x1400157b4
mov byte [rdi], 1
mov rax, rbx
jmp 0x1400157eb
lea rcx, [rsp + 0xc0]
mov dword [rsp + 0xc0], 0x40
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov rax, qword [rsp + 0xc8]
cmp qword [rsp + 0xe8], rax
cmovb rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.140049190
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x140061630
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rbx, rcx
mov rsi, rdx
mov edi, r8d
mov qword [rbp - 0x40], r9
mov r14, r9
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov qword [rbp - 0x4c], rcx
mov rdx, rsi
mov qword [rbp - 0x54], rdx
mov r8d, edi
mov dword [rbp - 0x44], r8d
mov r9, r14
mov qword [rbp - 0x5c], r9
lea rcx, [rbp - 0x88]
call fcn.140006730
mov rcx, qword [rbp - 0x4c]
mov rdx, qword [rbp - 0x54]
mov r8d, dword [rbp - 0x44]
mov r9, qword [rbp - 0x5c]
call sub.KERNEL32.dll_WriteFile
mov ebx, eax
lea rcx, [rbp - 0x88]
call fcn.140006780
call sub.KERNEL32.dll_GetLastError
mov esi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.140003422
mov dword [rax + 0xb0], esi
mov eax, ebx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x140001650
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140b44158]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov eax, dword [0x1400c9188]
xor edi, edi
movups xmm0, xmmword [str._pipediscord_ipc_0]
mov dword [rsp + 0x68], eax
mov rbx, rcx
movzx eax, word [0x1400c918c]
lea rcx, [rsp + 0x40]
movups xmm1, xmmword [0x1400c9170]
mov word [rsp + 0x6c], ax
mov eax, Ordinal_50
movups xmmword [rsp + 0x40], xmm0
xor r9d, r9d
mov qword [rsp + 0x30], rdi
movsd xmm0, qword [0x1400c9180]
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov edx, 0xc0000000
movsd qword [rsp + 0x60], xmm0
mov word [rsp + 0x6a], ax
movups xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
jne 0x140001754
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x140001708
movzx eax, word [rsp + 0x6a]
cmp ax, 0x39
jae 0x140001777
inc ax
mov word [rsp + 0x6a], ax
jmp 0x140001723
cmp eax, 0xe7
jne 0x140001777
mov edx, 0x2710
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x140001777
mov qword [rsp + 0x30], rdi
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], edi
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
cmp rax, 0xffffffffffffffff
je 0x1400016e8
mov byte [rbx], 1
mov al, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400c3020
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rdi
ret
xor al, al
jmp 0x140001759

Function at 0x140001780
Capabilities:
Read file on windows
Read pipe

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x140b44158]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rdx, rdx
je 0x140001830
test rcx, rcx
je 0x140001830
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x140001830
xor ebp, ebp
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rbp
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x30], ebp
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x14000181b
mov eax, dword [rsp + 0x30]
cmp rax, rdi
jb 0x140001830
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x34]
mov r8d, edi
mov dword [rsp + 0x34], ebp
mov rdx, rsi
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x140001811
jmp 0x140001832
mov rcx, rbx
call fcn.140001600
jmp 0x140001830
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], 0xffffffffffffffff
mov byte [rbx], bpl
xor al, al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400c3020
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
Function at 0x140001850
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x140b44158]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, r8
test r8, r8
jne 0x140001882
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400c3020
add rsp, 0x40
pop rbx
ret
test rcx, rcx
je 0x1400018b7
mov rcx, qword [rcx + 8]
cmp rcx, 0xffffffffffffffff
je 0x1400018b7
test rdx, rdx
je 0x1400018b7
xor eax, eax
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x1400018b7
cmp dword [rsp + 0x30], ebx
je 0x14000186d
xor al, al
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400c3020
add rsp, 0x40
pop rbx
ret
Function at 0x140001da0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
sub rsp, 0xae0
mov rax, qword [0x140b44158]
xor rax, rsp
mov qword [rsp + 0xad0], rax
mov rbx, rdx
mov dword [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_32
lea rax, [rsp + 0x80]
mov r8, rcx
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_32
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SoftwareValveSteam
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140001e53
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_opening_Steam_key_n
jmp 0x140001f1a
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rdx, str.SteamExe
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x38], 0x208
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140001f08
mov ecx, dword [rsp + 0x38]
cmp ecx, 1
jb 0x140001f08
shr ecx, 1
je 0x140001ec6
lea rax, [rsp + 0xc0]
lea edx, [rbx + 0x5c]
cmp word [rax], 0x2f
jne 0x140001ebc
mov word [rax], dx
add rax, 2
sub rcx, 1
jne 0x140001eb3
lea rax, [rsp + 0x40]
mov edx, 0x800
lea r9, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea r8, str.__s__steam:__rungameid__s
lea rcx, [rsp + 0x2d0]
call fcn.140001c30
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x80]
call fcn.1400018d0
jmp 0x140001f22
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_reading_SteamExe_key_n
mov rcx, rax
call fcn.140001f50
mov rcx, qword [rsp + 0xad0]
xor rcx, rsp
call fcn.1400c3020
add rsp, 0xae0
pop rbx
ret
Function at 0x140002140
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov edx, dword [rcx]
mov r9d, 0x138
mov r10, rcx
xorps xmm1, xmm1
cmp edx, r9d
jne 0x1400021b2
lea r8, [rcx + 0x10]
movabs r11, 0xb5026f5aa96619e9
nop word [rax + rax]
mov edx, dword [r8 - 8]
xor edx, dword [r8]
lea r8, [r8 + 8]
btr edx, 0x1f
xor rdx, qword [r8 - 0x10]
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 0x140002170
mov edx, dword [r10]
jmp 0x1400022b3
cmp edx, 0x270
jb 0x1400022b3
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [rcx + 0x9c8]
mov qword [rsp], rdi
mov rax, qword [rbx]
mov edi, 0x9c
mov rdx, qword [rbx + 8]
lea r8, [rbx + 8]
xor rdx, rax
btr edx, 0x1f
xor rdx, rax
movzx eax, dl
and al, 1
neg al
mov rax, qword [r8]
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [rbx + 0x4e0]
xor rcx, rdx
mov qword [rbx - 0x9c0], rcx
lea rbx, [r8]
sub rdi, 1
jne 0x1400021e0
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov rax, qword [rbx]
nop
mov rdx, rax
lea r8, [rbx + 8]
xor rdx, qword [r8]
btr edx, 0x1f
xor rdx, rax
movzx eax, dl
and al, 1
neg al
mov rax, qword [r8]
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [rbx - 0xea0]
xor rcx, rdx
mov qword [rbx - 0x9c0], rcx
lea rbx, [r8]
sub rdi, 1
jne 0x140002230
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 8]
mov rdi, qword [rsp]
btr edx, 0x1f
xor rdx, qword [r10 + 0x1380]
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
xor edx, edx
mov qword [r10 + 0x9c0], rcx
mov dword [r10], edx
mov eax, edx
xorps xmm0, xmm0
mov rcx, qword [r10 + rax*8 + 8]
lea eax, [rdx + 1]
mov dword [r10], eax
movabs rdx, 0x38eb3ffff6d3
mov rax, rcx
shr rax, 0x1d
and rax, qword [r10 + 0x1388]
xor rcx, rax
mov rax, rcx
and rax, rdx
shl rax, 0x11
xor rcx, rax
mov rax, rcx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rcx, rax
mov rdx, rcx
shr rdx, 0x2b
xor rdx, rcx
js 0x14000230e
cvtsi2sd xmm0, rdx
jmp 0x140002323
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
subsd xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm0, qword [0x1400c9448]
add rsp, 8
ret
Function at 0x140003890
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rbx, rdx
mov rbp, rcx
lea rdx, [0x140102574]
mov ecx, 0xb0
mov rdi, r9
mov r14d, r8d
call fcn.1400c32d4
mov rsi, rax
test rax, rax
je 0x140003a79
lea rcx, [rax + 1]
xor edx, edx
mov r8d, 0xaf
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsi + 8]
mov byte [rsi], 1
mov edx, 2
call sub.MSVCP140.dll__Mtx_init_in_situ
lea rcx, [rsi + 0x58]
call sub.MSVCP140.dll__Cnd_init_in_situ
mov qword [0x140b69e98], rsi
xorps xmm0, xmm0
movups xmmword [rsi + 0xa0], xmm0
test r14d, r14d
je 0x140003930
test rdi, rdi
je 0x140003926
cmp byte [rdi], 0
je 0x140003926
mov rdx, rdi
mov rcx, rbp
call fcn.140001da0
jmp 0x140003930
xor edx, edx
mov rcx, rbp
call fcn.140001d00
call sub.KERNEL32.dll_GetCurrentProcessId
lea rcx, [0x140b44900]
mov dword [0x140b65c88], eax
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x140003aa9
test rbx, rbx
je 0x14000396f
movups xmm0, xmmword [rbx]
movups xmmword [0x140b65a10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140b65a20], xmm1
movups xmm0, xmmword [rbx + 0x20]
jmp 0x14000398f
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [0x140b65a10], xmm0
movups xmmword [0x140b65a20], xmm0
movups xmmword [0x140b65a30], xmm0
lea rcx, [0x140b44900]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [0x140b65a40], xmm0
movups xmmword [0x140b65a50], xmm0
movups xmmword [0x140b65a60], xmm0
call sub.MSVCP140.dll__Mtx_unlock
cmp qword [0x140b459b8], 0
jne 0x140003a82
mov rcx, rbp
call fcn.140005010
mov qword [0x140b459b8], rax
lea rcx, [0x140001fa0]
mov qword [rax + 0x10], rcx
lea rcx, [0x140001fb0]
mov rax, qword [0x140b459b8]
mov qword [rax + 0x18], rcx
mov eax, 1
mov rdi, qword [0x140b69e98]
mov ecx, 8
xchg byte [rdi], al
call fcn.1400c3040
xor ebx, ebx
test rax, rax
je 0x140003a2d
mov qword [rax], rdi
jmp 0x140003a30
mov rax, rbx
lea rcx, [rsp + 0x38]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea r8, [0x140002000]
xor ecx, ecx
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140003a9a
cmp dword [rdi + 0xa8], ebx
jne 0x140003a72
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rdi + 0xa0], xmm1
jmp 0x140003a82
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
xor ebx, ebx
mov qword [0x140b69e98], rbx
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov ecx, 6
mov dword [rsp + 0x38], ebx
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
int3
Function at 0x140010040
Capabilities:
Hash data with crc32

Disassembly:
xor edx, edx
xor ecx, ecx
jmp fcn.140010050

Function at 0x140010050
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x140b44158]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x140b7a258]
mov esi, edx
mov edi, ecx
cmp byte [rbx + 0x20d5], 0
jne 0x1400100b7
cmp byte [rbx + 0x20d6], 0
jne 0x1400100b7
mov r9d, dword [rbx + 0x3178]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.14001d010
test sil, 1
je 0x1400101ec
jmp 0x140010156
movss xmm1, dword [rbx + 0x16ec]
lea r8, str.Tooltip__02d
movaps xmm0, xmm1
lea rcx, [rsp + 0x20]
mulss xmm0, dword [0x1400cb0d8]
xor eax, eax
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1400cb0d0]
addss xmm0, dword [rbx + 0x120]
addss xmm1, dword [rbx + 0x124]
or dword [rbx + 0x1dc0], 1
mov qword [rbx + 0x1ddc], rax
invalid
add byte [rax], al
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 [0x140b7a258]
mulss xmm0, dword [0x1400cb064]
or dword [rax + 0x1dc0], 0x40
movss dword [rax + 0x1e20], xmm0
mov r9d, dword [rbx + 0x3178]
call fcn.14001d010
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x1400101a6
lea r11, [0x1400ca480]
cmp r9b, 0x23
jne 0x140010189
cmp byte [r8], r9b
jne 0x140010189
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 0x140010176
not ecx
call fcn.14001b8b0
test rax, rax
je 0x1400101ec
cmp byte [rax + 0xcf], 0
je 0x1400101ec
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.14001d010
or edi, 0x22c0347
lea rcx, [rsp + 0x20]
mov r8d, edi
xor edx, edx
call fcn.14000c180
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400c3020
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14001b710
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 0x14001b762
lea r11, [0x1400ca480]
cmp r9b, 0x23
jne 0x14001b745
cmp byte [r8], r9b
jne 0x14001b745
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 0x14001b732
mov r11, qword [0x140b7a258]
mov r10, qword [r11 + 0x3228]
test r10, r10
je 0x14001b7a9
lea r9, [r10 + 4]
test r9, r9
je 0x14001b7a9
not eax
cmp dword [r9], eax
je 0x14001b7b2
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 0x14001b780
mov rcx, rbx
pop rbx
jmp fcn.140011e00
mov rax, r9
pop rbx
ret

Function at 0x14001b930
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 0x14001b980
lea r11, [0x1400ca480]
cmp r9b, 0x23
jne 0x14001b963
cmp byte [r8], r9b
jne 0x14001b963
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 0x14001b950
not ecx
jmp fcn.14001b8b0

Function at 0x14001c330
Capabilities:
Hash data with crc32

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

Function at 0x14001d160
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 0x14001d1bd
lea rbx, [0x1400ca480]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x14001d1a4
cmp r10, 2
jb 0x14001d1a4
cmp byte [r9], r8b
jne 0x14001d1a4
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 0x14001d180
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14001d1ff
lea rbx, [0x1400ca480]
cmp r8b, 0x23
jne 0x14001d1e3
cmp byte [r9], r8b
jne 0x14001d1e3
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 0x14001d1d0
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x14001d440
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 0x14001d480
cmp rax, rbx
jae 0x14001d62c
movzx r8d, byte [rax]
test r8b, r8b
je 0x14001d62c
mov r11d, r10d
mov ecx, r8d
shr rcx, 3
mov rdx, rbx
movsx r9, byte [rcx + r15 + 0xca9e8]
test r9d, r9d
sete r11b
add r11d, r9d
test rbx, rbx
jne 0x14001d4b8
movsxd rdx, r11d
add rdx, rax
cmp rax, rdx
lea rcx, [rax + 1]
mov edi, r8d
cmovae edi, r10d
cmp rcx, rdx
jae 0x14001d4d1
movzx r12d, byte [rcx]
jmp 0x14001d4d4
xor r12b, r12b
lea rcx, [rax + 2]
cmp rcx, rdx
jae 0x14001d4e2
movzx ebp, byte [rcx]
jmp 0x14001d4e5
xor bpl, bpl
lea rcx, [rax + 3]
cmp rcx, rdx
jae 0x14001d4f3
movzx esi, byte [rcx]
jmp 0x14001d4f6
xor sil, sil
lea r10, [r9*4]
movzx ecx, dil
mov r15d, dword [r10 + r15 + 0xcaa08]
and r15d, ecx
movzx r8d, r12b
shl r15d, 6
mov ecx, r8d
and ecx, 0x3f
movzx edx, bpl
or r15d, ecx
movzx r9d, sil
shl r15d, 6
mov ecx, edx
and ecx, 0x3f
and edx, 0xc0
or r15d, ecx
and r8d, 0xc0
mov ecx, r9d
shl r15d, 6
and ecx, 0x3f
shr r9d, 2
or r9d, edx
or r15d, ecx
shr r9d, 2
lea rcx, [0x140000000]
mov ecx, dword [r10 + rcx + 0xcaa38]
or r9d, r8d
shr r15d, cl
lea rcx, [0x140000000]
shr r9d, 2
mov edx, r15d
cmp r15d, dword [r10 + rcx + 0xcaa20]
sbb ecx, ecx
and edx, 0xfffff800
and ecx, 0x40
xor r8d, r8d
or r9d, ecx
mov ecx, pe_nt_image_headers64
cmp edx, 0xd800
cmove r8d, ecx
xor edx, edx
or r9d, r8d
mov ecx, 0x100
cmp r15d, 0xffff
cmova edx, ecx
lea rcx, [0x140000000]
mov ecx, dword [r10 + rcx + 0xcaa50]
or r9d, edx
xor r9d, 0x2a
sar r9d, cl
test r9d, r9d
je 0x14001d616
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 0x14001d468
movsxd rcx, r11d
add rax, rcx
test r15d, r15d
je 0x14001d62c
xor r10d, r10d
inc r14d
jmp 0x14001d468
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 0x14001d6a0
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 0x14001d8c9
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 0x14001d702
cmp r8, rbp
jae 0x14001d8a6
movzx edx, byte [r8]
test dl, dl
je 0x14001d8a6
mov eax, edx
mov rcx, rbp
shr rax, 3
movsx r9, byte [rax + rsi + 0xca9e8]
xor eax, eax
test r9d, r9d
mov ebx, eax
sete bl
add ebx, r9d
test rbp, rbp
jne 0x14001d738
movsxd rcx, ebx
add rcx, r8
cmp r8, rcx
mov r14d, edx
cmovae r14d, eax
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x14001d751
movzx r13d, byte [rax]
jmp 0x14001d754
xor r13b, r13b
lea rax, [r8 + 2]
cmp rax, rcx
jae 0x14001d763
movzx r12d, byte [rax]
jmp 0x14001d766
xor r12b, r12b
lea rax, [r8 + 3]
cmp rax, rcx
jae 0x14001d775
movzx r15d, byte [rax]
jmp 0x14001d778
xor r15b, r15b
lea r11, [r9*4]
movzx eax, r14b
mov esi, dword [r11 + rsi + 0xcaa08]
and esi, eax
movzx r9d, r13b
shl esi, 6
mov eax, r9d
and eax, 0x3f
movzx edx, r12b
or esi, eax
movzx r10d, r15b
shl esi, 6
and r9d, 0xc0
mov eax, edx
and edx, 0xc0
and eax, 0x3f
or esi, eax
mov eax, r10d
and eax, 0x3f
shr r10d, 2
or r10d, edx
shl esi, 6
or esi, eax
shr r10d, 2
or r10d, r9d
lea rax, [0x140000000]
mov ecx, dword [r11 + rax + 0xcaa38]
shr r10d, 2
shr esi, cl
mov ecx, 0x100
cmp esi, dword [r11 + rax + 0xcaa20]
sbb eax, eax
xor r9d, r9d
and eax, 0x40
mov edx, r9d
or r10d, eax
mov eax, esi
and eax, 0xfffff800
cmp eax, 0xd800
mov eax, pe_nt_image_headers64
cmove edx, eax
mov eax, r9d
or r10d, edx
cmp esi, 0xffff
cmova eax, ecx
or r10d, eax
lea rax, [0x140000000]
mov ecx, dword [r11 + rax + 0xcaa50]
xor r10d, 0x2a
sar r10d, cl
test r10d, r10d
je 0x14001d883
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 0x14001d88d
movsxd rax, ebx
add r8, rax
test esi, esi
je 0x14001d8a6
mov word [rdi], si
add rdi, 2
lea rsi, [0x140000000]
cmp rdi, qword [rsp + 8]
jb 0x14001d6f0
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 0x14001d8df
mov qword [rax], r8
sub rdi, rcx
sar rdi, 1
mov eax, edi
add rsp, 0x30
pop rdi
ret