joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400167b0
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 0x140016822
lea r8, [r10 + 0x10]
movabs r11, 0xb5026f5aa96619e9
nop dword [rax]
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 0x1400167e0
mov ecx, dword [r10]
jmp 0x140016923
cmp ecx, 0x270
jb 0x140016923
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [r10 + 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 0x140016850
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 0x1400168a0
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
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 0x140016e60
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x1401d12b0]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rdi, qword [0x140204098]
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 0x140016f37
mov rax, qword [rdi]
test rax, rax
je 0x140016ef5
mov rcx, qword [rax + 8]
cmp rcx, 0xffffffffffffffff
je 0x140016ef5
test rsi, rsi
je 0x140016ef5
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov r8d, ebx
mov qword [rsp + 0x20], 0
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x140016ef5
cmp dword [rsp + 0x30], ebx
je 0x140016f37
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x140016f14
mov eax, dword [rdi + 8]
dec eax
test eax, 0xfffffffd
jne 0x140016f14
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
jmp 0x140016f39
mov al, 1
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14012e570
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x140025580
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x10]
mov rbx, rcx
mov r10d, edx
mov r9d, edx
and r10d, 7
je 0x14002560d
cmp edx, r10d
jge 0x1400255fe
mov r9d, dword [rcx + 0x14]
mov eax, 1
mov ecx, edx
mov r8d, edx
shl eax, cl
cmp r9d, eax
jae 0x1400255f7
mov r11, qword [rbx + 8]
mov rax, qword [rbx]
cmp rax, r11
jb 0x1400255c2
xor cl, cl
jmp 0x1400255cb
movzx ecx, byte [rax]
inc rax
mov qword [rbx], rax
movzx eax, cl
lea edx, [r8 + 8]
mov ecx, r8d
mov dword [rbx + 0x10], edx
shl eax, cl
or r9d, eax
mov dword [rbx + 0x14], r9d
cmp edx, 0x18
jg 0x1400255fe
mov ecx, edx
mov eax, 1
shl eax, cl
mov r8d, edx
cmp r9d, eax
jb 0x1400255b6
mov rax, qword [rbx + 8]
mov qword [rbx], rax
mov ecx, r10d
shr dword [rbx + 0x14], cl
sub edx, r10d
mov dword [rbx + 0x10], edx
mov r9d, edx
xor r10d, r10d
test edx, edx
jle 0x140025642
mov ecx, dword [rbx + 0x14]
lea r8, [rsp + 0x30]
nop dword [rax]
movzx eax, byte [rbx + 0x14]
lea edx, [r9 - 8]
shr ecx, 8
inc r10d
mov byte [r8], al
lea r8, [r8 + 1]
mov dword [rbx + 0x14], ecx
mov r9d, edx
test edx, edx
jg 0x140025620
mov dword [rbx + 0x10], edx
jns 0x140025668
mov rax, qword gs:[0x58]
mov edx, Ordinal_41
mov rcx, qword [rax]
lea rax, str.zlib_corrupt
mov qword [rdx + rcx], rax
xor eax, eax
add rsp, 0x20
pop rbx
ret
movsxd rcx, r10d
cmp rcx, 4
jge 0x140025697
mov r8, qword [rbx + 8]
mov rax, qword [rbx]
cmp rax, r8
jb 0x140025681
xor dl, dl
jmp 0x14002568a
movzx edx, byte [rax]
inc rax
mov qword [rbx], rax
mov byte [rsp + rcx + 0x30], dl
inc rcx
cmp rcx, 4
jl 0x140025678
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 0x140025644
mov rcx, qword [rbx]
mov qword [rsp + 0x38], rdi
mov edi, r8d
add rcx, rdi
cmp rcx, qword [rbx + 8]
jbe 0x140025701
mov rax, qword gs:[0x58]
mov edx, Ordinal_41
mov rcx, qword [rax]
lea rax, str.read_past_buffer
mov qword [rdx + rcx], rax
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 0x14002571b
mov rcx, rbx
call fcn.140024a10
test eax, eax
je 0x1400256f4
mov rdx, qword [rbx]
mov r8, rdi
mov rcx, qword [rbx + 0x18]
call sub.VCRUNTIME140.dll_memcpy
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 0x140031560
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x14], 0
je 0x140031583
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x13
jb 0x140031570
mov byte [rcx + 0x14], 0
mov rax, rcx
ret
Function at 0x140031b30
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x13], 0
je 0x140031b53
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x12
jb 0x140031b40
mov byte [rcx + 0x13], 0
mov rax, rcx
ret

Function at 0x140031b60
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x17], 0
je 0x140031b83
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x16
jb 0x140031b70
mov byte [rcx + 0x17], 0
mov rax, rcx
ret

Function at 0x140031b90
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x12], 0
je 0x140031bb3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x11
jb 0x140031ba0
mov byte [rcx + 0x12], 0
mov rax, rcx
ret
Function at 0x1400325d0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x11], 0
je 0x1400325f3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x10
jb 0x1400325e0
mov byte [rcx + 0x11], 0
mov rax, rcx
ret

Function at 0x140032600
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xe], 0
je 0x140032623
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xd
jb 0x140032610
mov byte [rcx + 0xe], 0
mov rax, rcx
ret

Function at 0x140032630
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x10], 0
je 0x140032653
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xf
jb 0x140032640
mov byte [rcx + 0x10], 0
mov rax, rcx
ret

Function at 0x140032660
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0xb], 0
je 0x140032683
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0xa
jb 0x140032670
mov byte [rcx + 0xb], 0
mov rax, rcx
ret

Function at 0x140032690
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rdi
sub rsp, 0x40
movdqa xmm0, xmmword [0x1401b3c30]
mov rbx, rcx
movdqu xmmword [rax - 0x28], xmm0
mov dword [rax - 0x18], 0x66637750
xor ecx, ecx
mov dword [rax - 0x14], 0x6e787c7b
mov dword [rax - 0x10], 0x5076624e
mov word [rax - 0xc], 0x53
mov byte [rax - 0xa], 1
nop dword [rax]
lea eax, [rcx - 0xc]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 0x1d
jb 0x1400326d0
mov byte [rsp + 0x3e], 0
lea rcx, [rsp + 0x20]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400326f1
mov rdi, qword [rbx + 0x18]
mov rcx, rbx
mov r8, qword [rbx + 0x10]
cmp rdi, 0x10
jb 0x14003270e
mov rcx, qword [rbx]
cmp r8, rax
jne 0x140032758
lea rdx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140032758
cmp rdi, 0x10
jb 0x140032754
mov rcx, qword [rbx]
lea rdx, [rdi + 1]
cmp rdx, 0x1000
jb 0x14003274f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400327ab
mov rcx, r8
call fcn.14012eab4
mov al, 1
jmp 0x14003278d
cmp rdi, 0x10
jb 0x14003278b
mov rcx, qword [rbx]
lea rdx, [rdi + 1]
cmp rdx, 0x1000
jb 0x140032786
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400327ab
mov rcx, r8
call fcn.14012eab4
xor al, al
mov byte [rbx], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], 0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x1400327c0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x50
movdqa xmm0, xmmword [0x1401b3e30]
mov rbx, rcx
movdqa xmm1, xmmword [0x1401b3da0]
xor ecx, ecx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x10], 0x65737166
movdqu xmmword [rbp - 0x20], xmm1
mov dword [rbp - 0xc], 0x1005a47
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0xc]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x26
jb 0x140032810
mov rdi, 0xffffffffffffffff
mov byte [rbp - 9], 0
mov rax, rdi
lea rcx, [rbp - 0x30]
inc rax
cmp byte [rcx + rax], 0
jne 0x140032832
mov rsi, qword [rbx + 0x18]
mov rcx, rbx
mov r8, qword [rbx + 0x10]
cmp rsi, 0x10
jb 0x14003284f
mov rcx, qword [rbx]
cmp r8, rax
jne 0x140032861
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400328d7
movdqa xmm0, xmmword [0x1401b3e30]
xor ecx, ecx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0x606f565b
mov dword [rbp - 0x1c], 0x54666866
mov word [rbp - 0x18], reloc.WLDAP32.dll_Ordinal_79
mov byte [rbp - 0x16], 1
nop dword [rax + rax]
lea eax, [rcx - 0xc]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x19
jb 0x140032890
mov r8, qword [rbx + 0x10]
lea rax, [rbp - 0x30]
mov byte [rbp - 0x16], 0
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400328b0
mov rcx, rbx
cmp rsi, 0x10
jb 0x1400328c5
mov rcx, qword [rbx]
cmp r8, rdi
jne 0x14003290e
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14003290e
cmp rsi, 0x10
jb 0x14003290a
mov rcx, qword [rbx]
lea rdx, [rsi + 1]
cmp rdx, 0x1000
jb 0x140032905
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14003296b
mov rcx, r8
call fcn.14012eab4
mov al, 1
jmp 0x140032943
cmp rsi, 0x10
jb 0x140032941
mov rcx, qword [rbx]
lea rdx, [rsi + 1]
cmp rdx, 0x1000
jb 0x14003293c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14003296b
mov rcx, r8
call fcn.14012eab4
xor al, al
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov byte [rbx], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], 0
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3

Function at 0x140032980
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x1a], 0
je 0x1400329a3
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x19
jb 0x140032990
mov byte [rcx + 0x1a], 0
mov rax, rcx
ret
Function at 0x1400329b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rbx, rcx
mov dword [rbp - 0x20], 0x9b9597a4
xor ecx, ecx
mov dword [rbp - 0x1c], 0x9b89b589
mov dword [rbp - 0x18], 0x76624192
mov dword [rbp - 0x14], 0x100766c
nop dword [rax + rax]
lea eax, [rcx - 9]
xor byte [rbp + rcx - 0x20], al
inc rcx
cmp rcx, 0xe
jb 0x1400329f0
mov rdi, 0xffffffffffffffff
mov byte [rbp - 0x11], 0
mov rax, rdi
lea rcx, [rbp - 0x20]
inc rax
cmp byte [rcx + rax], 0
jne 0x140032a12
mov rsi, qword [rbx + 0x18]
mov rcx, rbx
mov r8, qword [rbx + 0x10]
cmp rsi, 0x10
jb 0x140032a2f
mov rcx, qword [rbx]
cmp r8, rax
jne 0x140032a41
lea rdx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140032ab7
movdqa xmm0, xmmword [0x1401b3cf0]
xor ecx, ecx
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0x64477261
mov dword [rbp - 0xc], 0x78667c
mov byte [rbp - 8], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0xc]
xor byte [rbp + rcx - 0x20], al
inc rcx
cmp rcx, 0x17
jb 0x140032a70
mov r8, qword [rbx + 0x10]
lea rax, [rbp - 0x20]
mov byte [rbp - 8], 0
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140032a90
mov rcx, rbx
cmp rsi, 0x10
jb 0x140032aa5
mov rcx, qword [rbx]
cmp r8, rdi
jne 0x140032aee
lea rdx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140032aee
cmp rsi, 0x10
jb 0x140032aea
mov rcx, qword [rbx]
lea rdx, [rsi + 1]
cmp rdx, 0x1000
jb 0x140032ae5
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140032b4b
mov rcx, r8
call fcn.14012eab4
mov al, 1
jmp 0x140032b23
cmp rsi, 0x10
jb 0x140032b21
mov rcx, qword [rbx]
lea rdx, [rsi + 1]
cmp rdx, 0x1000
jb 0x140032b1c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140032b4b
mov rcx, r8
call fcn.14012eab4
xor al, al
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov byte [rbx], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], 0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3

Function at 0x140032b60
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 0x18], 0
je 0x140032b83
xor eax, eax
nop dword [rax + rax]
lea edx, [rax - 0xc]
xor byte [rax + rcx], dl
inc rax
cmp rax, 0x17
jb 0x140032b70
mov byte [rcx + 0x18], 0
mov rax, rcx
ret
Function at 0x140032b90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movdqa xmm0, xmmword [0x1401b3e90]
mov rbx, rcx
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0xb1aeb297
xor ecx, ecx
mov word [rsp + 0x34], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x21]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 0x14
jb 0x140032bd0
mov rdi, 0xffffffffffffffff
mov byte [rsp + 0x35], 0
mov rax, rdi
lea rcx, [rsp + 0x20]
inc rax
cmp byte [rcx + rax], 0
jne 0x140032bf4
mov rsi, qword [rbx + 0x18]
mov rcx, rbx
mov r8, qword [rbx + 0x10]
cmp rsi, 0x10
jb 0x140032c11
mov rcx, qword [rbx]
cmp r8, rax
jne 0x140032c24
lea rdx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140032c98
movdqa xmm0, xmmword [0x1401b3e90]
xor ecx, ecx
movdqu xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0xb1aeb397
mov word [rsp + 0x34], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x21]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 0x14
jb 0x140032c50
mov r8, qword [rbx + 0x10]
lea rax, [rsp + 0x20]
mov byte [rsp + 0x35], 0
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x140032c70
mov rcx, rbx
cmp rsi, 0x10
jb 0x140032c85
mov rcx, qword [rbx]
cmp r8, rdi
jne 0x140032ccf
lea rdx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140032ccf
cmp rsi, 0x10
jb 0x140032ccb
mov rcx, qword [rbx]
lea rdx, [rsi + 1]
cmp rdx, 0x1000
jb 0x140032cc6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140032d27
mov rcx, r8
call fcn.14012eab4
mov al, 1
jmp 0x140032d04
cmp rsi, 0x10
jb 0x140032d02
mov rcx, qword [rbx]
lea rdx, [rsi + 1]
cmp rdx, 0x1000
jb 0x140032cfd
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140032d27
mov rcx, r8
call fcn.14012eab4
xor al, al
mov rsi, qword [rsp + 0x60]
mov byte [rbx], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], 0
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3

Function at 0x140034670
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 0x1400346cd
lea rbx, [0x1401a0510]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1400346b4
cmp r10, 2
jb 0x1400346b4
cmp byte [r9], r8b
jne 0x1400346b4
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 0x140034690
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x14003470f
lea rbx, [0x1401a0510]
cmp r8b, 0x23
jne 0x1400346f3
cmp byte [r9], r8b
jne 0x1400346f3
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 0x1400346e0
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x140034850
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x14003486a
mov qword [r8], 0
lea rdx, [0x14017ac34]
call fcn.140034720
mov rbx, rax
test rax, rax
jne 0x14003488a
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x140034975
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140034975
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140034975
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x140034975
cmp rdi, 0xffffffffffffffff
je 0x140034975
mov rax, qword [0x1401e29e8]
test rax, rax
je 0x140034906
inc dword [rax + 0x3b4]
mov rdx, qword [0x1401e29e0]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rsi, rax
test rax, rax
je 0x140034975
mov r9, rbx
mov r8, rdi
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, rdi
je 0x140034962
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1401e29e8]
test rax, rax
je 0x140034951
dec dword [rax + 0x3b4]
mov rdx, qword [0x1401e29e0]
mov rcx, rsi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x14003497e
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x140034970
mov qword [r14], rdi
mov rax, rsi
jmp 0x140034980
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x140040140
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0x20
mov rax, qword [0x1401e29e8]
mov r8, rcx
mov rbx, qword [rax + 0x1c10]
add rbx, 0xc8
movzx eax, r8b
lea r8, [0x1401a0510]
movsxd rdx, dword [rbx]
mov r9, qword [rbx + 8]
mov edi, dword [r9 + rdx*4 - 4]
not edi
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 9]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xa]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xb]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xc]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xd]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xe]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [r11 + 0xf]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [r8 + rcx*4]
mov r8d, dword [rbx + 4]
not edi
cmp edx, r8d
jne 0x14004024e
lea ecx, [rdx + 1]
test r8d, r8d
je 0x140040234
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140040239
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.140047ca0
mov edx, dword [rbx]
mov r9, qword [rbx + 8]
movsxd rax, edx
mov dword [r9 + rax*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140040270
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x20
mov rax, qword [0x1401e29e8]
mov r8d, ecx
mov rbx, qword [rax + 0x1c10]
add rbx, 0xc8
movzx eax, r8b
lea r8, [0x1401a0510]
movsxd rdx, dword [rbx]
mov r9, qword [rbx + 8]
mov edi, dword [r9 + rdx*4 - 4]
not edi
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x31]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x32]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x33]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [r8 + rcx*4]
mov r8d, dword [rbx + 4]
not edi
cmp edx, r8d
jne 0x140040330
lea ecx, [rdx + 1]
test r8d, r8d
je 0x140040316
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14004031b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.140047ca0
mov edx, dword [rbx]
mov r9, qword [rbx + 8]
movsxd rax, edx
mov dword [r9 + rax*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140041300
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1401d12b0]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1401e29e8]
mov edi, edx
cmp byte [rbx + 0x1f4d], 0
jne 0x140041360
cmp byte [rbx + 0x1f4e], 0
jne 0x140041360
mov r9d, dword [rbx + 0x2ff8]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140034560
test dil, 1
je 0x14004147e
jmp 0x1400413e8
movss xmm1, dword [rbx + 0x1614]
lea r8, str.Tooltip__02d
mov r9d, dword [rbx + 0x2ff8]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1401b3218]
mulss xmm1, dword [0x1401b31f8]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0x128]
addss xmm1, dword [rbx + 0x12c]
mov qword [rbx + 0x1cc8], rax
mov dword [rbx + 0x1cb4], 1
movss dword [rbx + 0x1cc0], xmm0
movss dword [rbx + 0x1cc4], xmm1
movss xmm0, dword [rbx + 0x1670]
mulss xmm0, dword [0x1401b310c]
or dword [rbx + 0x1cb0], 0x41
movss dword [rbx + 0x1d10], xmm0
call fcn.140034560
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140041438
lea r11, [0x1401a0510]
cmp r9b, 0x23
jne 0x14004141b
cmp byte [r8], r9b
jne 0x14004141b
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 0x140041408
not ecx
call fcn.14003abd0
test rax, rax
je 0x14004147e
cmp byte [rax + 0x8e], 0
je 0x14004147e
mov byte [rax + 0x95], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb0], 1
lea rcx, [rsp + 0x20]
inc dword [rbx + 0x2ff8]
mov edx, reloc.WS2_32.dll_recv
mov r9d, dword [rbx + 0x2ff8]
call fcn.140034560
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14003d380
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14012e570
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret