joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400897a0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov r11, rcx
lea rdi, [0x1402e2860]
movsxd rcx, dword [rcx + 0x100]
mov r10d, edx
shr r10d, 0x18
mov r8d, edx
shr r8d, 8
mov r9d, edx
mov rax, qword [r11 + 0x108]
shr r9d, 0x10
mov ebx, dword [rax + rcx*4 - 4]
not ebx
movzx eax, dl
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r8b
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r9b
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rcx, r10
shr ebx, 8
xor ebx, dword [rdi + rcx*4]
mov rcx, qword [r11]
not ebx
cmp dword [rcx + 0x405c], ebx
jne 0x140089834
movsxd r8, edx
mov ecx, ebx
mov edx, 4
call fcn.140093760
mov eax, ebx
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x14008cfc0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x140322440]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x140326780]
mov edi, ecx
cmp byte [rbx + 0x4d5d], 0
jne 0x14008d021
cmp byte [rbx + 0x4d5e], 0
jne 0x14008d021
movsx r9d, word [rbx + 0x5ec8]
lea r8, [0x1402dfaa0]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.14007c130
test dil, 2
je 0x14008d14f
jmp 0x14008d0ac
movss xmm1, dword [rbx + 0x39bc]
lea r8, [0x1402dfaa0]
movsx r9d, word [rbx + 0x5ec8]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1402ff2c0]
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1402ff2b0]
addss xmm0, dword [rbx + 0xe40]
addss xmm1, dword [rbx + 0xe44]
mov qword [rbx + 0x4a28], rax
mov dword [rbx + 0x4a14], 1
movss dword [rbx + 0x4a20], xmm0
movss dword [rbx + 0x4a24], xmm1
movss xmm0, dword [rbx + 0x3a18]
mulss xmm0, dword [0x1402ff1b0]
or dword [rbx + 0x4a10], 0x41
movss dword [rbx + 0x4a70], xmm0
call fcn.14007c130
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x14008d100
lea r11, [0x1402e2860]
nop dword [rax]
cmp r9b, 0x23
jne 0x14008d0e3
cmp byte [r8], r9b
jne 0x14008d0e3
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 0x14008d0d0
not ecx
call fcn.140083a30
test rax, rax
je 0x14008d14f
cmp byte [rax + 0xbe], 0
je 0x14008d14f
mov byte [rax + 0xc3], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xc5], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xe4], 1
mov edx, reloc.WS2_32.dll_recv
inc word [rbx + 0x5ec8]
movsx r9d, word [rbx + 0x5ec8]
call fcn.14007c130
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x2030347
call fcn.1400865f0
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14022f770
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x1400bd060
Capabilities:
Convert ip address from string

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x140322440]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r13, qword [rcx]
mov ebp, r8d
mov rsi, rcx
lea r8, [rsp + 0x20]
mov ebx, 2
xor r14d, r14d
mov ecx, ebx
mov r15, r9
mov r12, qword [r13 + 0x11b0]
mov rdi, rdx
mov dword [r9], r14d
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1400bd0cc
mov r9d, ebp
lea rdx, [rsp + 0x20]
mov r8, rdi
mov ecx, ebx
call fcn.1400dbd10
jmp 0x1400bd1aa
mov ebx, reloc.WS2_32.dll_socket
lea r8, [rsp + 0x58]
mov ecx, ebx
mov rdx, rdi
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1400bd0fc
mov r9d, ebp
lea rdx, [rsp + 0x58]
mov r8, rdi
mov ecx, ebx
call fcn.1400dbd10
jmp 0x1400bd1aa
mov ecx, dword [rsi + 0x440]
sub ecx, 1
je 0x1400bd120
cmp ecx, 1
je 0x1400bd10f
mov ebx, r14d
call fcn.1400bdba0
test al, al
mov eax, 2
cmove ebx, eax
jmp 0x1400bd125
mov ebx, 2
cmp dword [rsi + 0xbc], 3
lea r8, [0x1402fda6c]
xorps xmm0, xmm0
lea rcx, [rsp + 0x68]
movups xmmword [rsp + 0x28], xmm0
setne r14b
mov dword [rsp + 0x2c], ebx
inc r14d
mov r9d, ebp
mov edx, recv
mov dword [rsp + 0x30], r14d
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
call fcn.1400d9bb0
lea rcx, [rsp + 0x58]
call fcn.1400bcef0
lea r9, [rsp + 0x28]
mov r8d, ebp
mov rdx, rdi
mov rcx, rsi
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
call fcn.1400bd800
test al, al
je 0x1400bd199
mov dword [r15], 1
jmp 0x1400bd1a8
lea rdx, str.getaddrinfo___thread_failed_to_start_n
mov rcx, r13
call fcn.1400c9140
xor eax, eax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14022f770
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
jmp 0x1400bd060
Function at 0x1400dc090
Capabilities:
Convert ip address from string

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x140322440]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r13, qword [rcx]
mov ebp, r8d
mov rsi, rcx
lea r8, [rsp + 0x20]
mov ebx, 2
xor r14d, r14d
mov ecx, ebx
mov r15, r9
mov r12, qword [r13 + 0x11b0]
mov rdi, rdx
mov dword [r9], r14d
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1400bd0cc
mov r9d, ebp
lea rdx, [rsp + 0x20]
mov r8, rdi
mov ecx, ebx
call fcn.1400dbd10
jmp 0x1400bd1aa
mov ebx, reloc.WS2_32.dll_socket
lea r8, [rsp + 0x58]
mov ecx, ebx
mov rdx, rdi
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1400bd0fc
mov r9d, ebp
lea rdx, [rsp + 0x58]
mov r8, rdi
mov ecx, ebx
call fcn.1400dbd10
jmp 0x1400bd1aa
mov ecx, dword [rsi + 0x440]
sub ecx, 1
je 0x1400bd120
cmp ecx, 1
je 0x1400bd10f
mov ebx, r14d
call fcn.1400bdba0
test al, al
mov eax, 2
cmove ebx, eax
jmp 0x1400bd125
mov ebx, 2
cmp dword [rsi + 0xbc], 3
lea r8, [0x1402fda6c]
xorps xmm0, xmm0
lea rcx, [rsp + 0x68]
movups xmmword [rsp + 0x28], xmm0
setne r14b
mov dword [rsp + 0x2c], ebx
inc r14d
mov r9d, ebp
mov edx, recv
mov dword [rsp + 0x30], r14d
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
call fcn.1400d9bb0
lea rcx, [rsp + 0x58]
call fcn.1400bcef0
lea r9, [rsp + 0x28]
mov r8d, ebp
mov rdx, rdi
mov rcx, rsi
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
call fcn.1400bd800
test al, al
je 0x1400bd199
mov dword [r15], 1
jmp 0x1400bd1a8
lea rdx, str.getaddrinfo___thread_failed_to_start_n
mov rcx, r13
call fcn.1400c9140
xor eax, eax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14022f770
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
jmp 0x1400bd060
Function at 0x1400ed490
Capabilities:
Check http status code

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x30
xor ebx, ebx
lea eax, [rdx - 0xc8]
mov rdi, rcx
mov rcx, qword [rcx]
mov esi, r8d
cmp eax, 0x64
jb 0x1400ed4c5
lea rdx, str.Couldnt_set_desired_mode
call fcn.1400c9140
lea eax, [rbx + 0x11]
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
cmp edx, 0xc8
je 0x1400ed4dc
mov r8d, edx
lea rdx, str.Got_a__03d_response_code_instead_of_the_assumed_200_n
call fcn.1400c92c0
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], r14
cmp esi, 0x13
jne 0x1400ed4f8
mov rcx, rdi
call fcn.1400ed3d0
jmp 0x1400ed651
cmp esi, 0x14
jne 0x1400ed633
mov rsi, qword [rdi]
mov rbp, rbx
cmp dword [rsi + 0xb98], 2
jne 0x1400ed585
mov rax, qword [rsi + 0x1e0]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1400ed585
mov byte [rsp + 0x28], 1
lea r9, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov qword [rsp + 0x50], rbx
call fcn.1400e4ff0
test eax, eax
jne 0x1400ed651
mov rcx, qword [rsp + 0x50]
lea edx, [rax + 0x2f]
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x1400ed56f
mov rbp, qword [rsp + 0x50]
mov ecx, 1
sub rax, rbp
cmovne rcx, rax
mov byte [rcx + rbp], bl
jmp 0x1400ed585
mov rcx, qword [rsp + 0x50]
lea r8, str.C:Users_riskuDownloads_vcpkg_master_buildtreescurl_srcurl_7_68_0_cd669cc759lib_ftp.c
mov edx, 0x5c0
call fcn.1400cc650
mov rdx, qword [rsi + 0xc00]
test rdx, rdx
jne 0x1400ed5a9
cmp byte [rsi + 0xe95], bl
lea rax, str.NLST
lea rdx, str.LIST
cmovne rdx, rax
lea r8, [0x1402c0f6b]
test rbp, rbp
mov r9, r8
lea rax, [0x1402fdf34]
cmovne r9, rbp
lea rcx, [0x140237574]
cmovne r8, rax
call fcn.1400d9ad0
lea r8, str.C:Users_riskuDownloads_vcpkg_master_buildtreescurl_srcurl_7_68_0_cd669cc759lib_ftp.c
mov edx, 0x5c9
mov rcx, rbp
mov r14, rax
call fcn.1400cc650
test r14, r14
jne 0x1400ed5f3
lea ebx, [r14 + 0x1b]
jmp 0x1400ed653
lea rcx, [rdi + 0x798]
mov r8, r14
lea rdx, [0x14023ceac]
call fcn.1401044c0
lea r8, str.C:Users_riskuDownloads_vcpkg_master_buildtreescurl_srcurl_7_68_0_cd669cc759lib_ftp.c
mov edx, 0x5cf
mov rcx, r14
mov esi, eax
call fcn.1400cc650
test esi, esi
je 0x1400ed627
mov ebx, esi
jmp 0x1400ed653
mov dword [rdi + 0x850], 0x1f
jmp 0x1400ed653
cmp esi, 0x15
jne 0x1400ed63e
lea r8d, [rsi - 8]
jmp 0x1400ed647
cmp esi, 0x16
jne 0x1400ed653
lea r8d, [rsi - 8]
mov dl, 1
mov rcx, rdi
call fcn.1400ecf00
mov ebx, eax
mov r14, qword [rsp + 0x60]
mov eax, ebx
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
Function at 0x1400f7660
Capabilities:
Convert ip address from string

Disassembly:
push rbx
push rbp
push rdi
push r13
sub rsp, 0x58
mov rax, qword [0x140322440]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, rdx
mov r13, rcx
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400f7686
mov qword [rsp + 0x90], rsi
xor ebp, ebp
cmp byte [rdx], 0x5b
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x50], r15
jne 0x1400f77f5
cmp rbx, 5
jb 0x1400f7809
inc rdi
sub rbx, 2
cmp byte [rdi + rbx], 0x5d
lea r14, [rdi + rbx]
jne 0x1400f7809
lea rdx, str.0123456789abcdefABCDEF:.
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strspn
cmp rbx, rax
je 0x1400f779d
cmp byte [rdi + rax], 0x25
lea r14, [rdi + rax]
jne 0x1400f7809
lea r8d, [rbp + 2]
mov esi, ebp
lea rdx, [0x140240d44]
lea rcx, [r14 + 1]
lea rbx, [r14 + 1]
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
jne 0x1400f7725
movzx eax, byte [r14 + 3]
lea rcx, [r14 + 3]
test al, al
je 0x1400f7725
cmp al, 0x5d
cmovne rbx, rcx
movzx eax, byte [rbx]
test al, al
je 0x1400f7809
mov rcx, rbp
cmp al, 0x5d
je 0x1400f7750
cmp rcx, 0xf
jge 0x1400f7750
inc rbx
mov byte [rsp + rcx + 0x20], al
inc esi
inc rcx
movzx eax, byte [rbx]
test al, al
jne 0x1400f7733
test esi, esi
je 0x1400f7809
cmp byte [rbx], 0x5d
jne 0x1400f7809
movsxd rax, esi
cmp rax, 0x10
jae 0x1400f7810
lea r8, str.C:Users_riskuDownloads_vcpkg_master_buildtreescurl_srcurl_7_68_0_cd669cc759liburlapi.c
mov byte [rsp + rax + 0x20], bpl
mov edx, 0x276
lea rcx, [rsp + 0x20]
call fcn.1400ccc80
mov qword [r13 + 0x28], rax
test rax, rax
jne 0x1400f7799
mov eax, 7
jmp 0x1400f77c9
mov byte [r14 + 1], bpl
lea r8, [rsp + 0x30]
mov byte [r14], bpl
mov rdx, rdi
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x1400f7809
mov byte [r14], 0x5d
cmp byte [rdi], bpl
mov eax, reloc.WS2_32.dll_ntohl
cmove ebp, eax
mov eax, ebp
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14022f770
add rsp, 0x58
pop r13
pop rdi
pop rbp
pop rbx
ret
lea rdx, [0x1402fdf34]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcspn
cmp rbx, rax
je 0x1400f77bc
mov eax, 3
jmp 0x1400f77c9
call fcn.14022fb50
int3
Function at 0x1401d6880
Capabilities:
Encode data using xor

Disassembly:
mov eax, gethostname
call fcn.14022fff0
sub rsp, rax
cmp dword [rsp + 0x68], 0
je 0x1401d68a9
lea rax, [0x1401d4ef0]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401cde30
lea rax, [0x1401d40b0]
mov qword [rsp + 0x68], rax
add rsp, 0x38
jmp fcn.1401cdb80

Function at 0x1402304b0
Capabilities:
Parse pe header

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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov dword [rsp + 0x24], edx
mov rbp, qword [0x180065760]
mov eax, ecx
imul r13, rax, 0x38
mov r12, qword [rbp + r13]
movzx esi, byte [rbp + r13 + 0x20]
lea rdi, [r12 - 5]
and esi, 1
test sil, sil
sete r14b
cmove rdi, r12
mov rbx, qword [0x180065770]
test rbx, rbx
jne 0x18000189e
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180001892
movabs rcx, 0x6e6964646f6d4453
mov qword [rsp + 0x28], rcx
movabs rcx, 0x6b6f6f484d676e
mov qword [rsp + 0x2f], rcx
mov byte [rsp + 0x28], 0x56
mov ecx, 1
lea rdx, [0x180056978]
mov bl, byte [rcx + rdx]
xor byte [rsp + rcx + 0x28], bl
inc rcx
cmp rcx, 0xe
jne 0x180001868
lea rdx, [rsp + 0x28]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x180065770], rax
jmp 0x180001899
mov rbx, qword [0x180065770]
test rbx, rbx
je 0x180001901
lea r15, [rsi + rsi]
add r15, 5
lea r9, [rsp + 0x28]
mov rcx, rdi
mov rdx, r15
mov r8d, 0x40
call rbx
test eax, eax
je 0x180001901
lea rsi, [r13 + 0x20]
add rsi, rbp
cmp dword [rsp + 0x24], 0
je 0x180001908
xor eax, eax
mov al, r14b
lea rax, [rax + rax*4]
add rax, 0xfffffffffffffffb
mov byte [r12 + rax], 0xe9
mov eax, dword [rbp + r13 + 8]
sub eax, edi
add eax, 0xfffffffb
mov dword [rdi + 1], eax
test byte [rsi], 1
je 0x180001928
add rbp, r13
mov rax, qword [rbp]
mov word [rax], 0xf9eb
jmp 0x180001928
mov eax, 0xa
jmp 0x180001960
test byte [rsi], 1
lea rax, [rbp + r13 + 0x18]
jne 0x18000191e
mov cl, byte [rax + 4]
mov byte [rdi + 4], cl
mov eax, dword [rax]
mov dword [rdi], eax
jmp 0x180001928
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rdi + 3], eax
mov dword [rdi], ecx
lea r9, [rsp + 0x28]
mov r8d, dword [r9]
mov rcx, rdi
mov rdx, r15
call rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov rdx, rdi
mov r8, r15
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov al, byte [rsi]
mov ecx, dword [rsp + 0x24]
add cl, cl
and cl, 2
and al, 0xfd
or al, cl
mov byte [rsi], al
xor eax, eax
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x180001971
Capabilities:
Resume thread

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov r8, qword [rcx]
test r8, r8
je 0x1800019dc
mov rsi, rcx
cmp dword [rcx + 0xc], 0
je 0x1800019ed
mov ebx, 1
mov r14, qword [sym.imp.KERNEL32.dll_OpenThread]
mov r15, qword [sym.imp.KERNEL32.dll_ResumeThread]
mov r12, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, dword [r8 + rbx*4 - 4]
mov ecx, 0x5a
xor edx, edx
call r14
test rax, rax
je 0x1800019cc
mov rdi, rax
mov rcx, rax
call r15
mov rcx, rdi
call r12
mov eax, dword [rsi + 0xc]
cmp rbx, rax
jae 0x1800019ea
mov r8, qword [rsi]
inc rbx
jmp 0x1800019a9
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r8, qword [rsi]
mov rcx, qword [0x180065758]
xor edx, edx
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
Function at 0x180001a0d
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rsi, rcx
lea rdi, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
lea rbx, [rsi - 0x40000000]
cmp rbx, rax
cmovbe rbx, rax
mov r15d, 0x40000000
cmp rsi, r15
cmovbe rbx, rax
add r15, rsi
cmp r15, rcx
cmovae r15, rcx
add r15, 0xfffffffffffff001
mov rax, qword [0x180065778]
mov rdi, rsi
test rax, rax
je 0x180001a93
cmp rbx, rax
ja 0x180001a88
cmp r15, rax
jbe 0x180001a88
cmp qword [rax + 8], 0
jne 0x180001c02
mov rax, qword [rax]
test rax, rax
jne 0x180001a73
mov rdi, rsi
cmp rbx, rdi
ja 0x180001b14
mov r12d, dword [rsp + 0x78]
mov rax, rdi
xor edx, edx
div r12
sub rdi, rdx
sub rdi, r12
cmp rdi, rbx
jb 0x180001b14
lea r14, [rsp + 0x20]
mov r13, qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov r8d, 0x30
mov rcx, rdi
mov rdx, r14
call r13
test rax, rax
je 0x180001b14
cmp dword [rsp + 0x40], 0x10000
je 0x180001aeb
mov rdi, qword [rsp + 0x28]
sub rdi, r12
jb 0x180001b14
cmp rdi, rbx
jae 0x180001abc
jmp 0x180001b14
test rdi, rdi
je 0x180001b14
mov edx, 0x1000
mov rcx, rdi
mov r8d, 0x3000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180001a93
jmp 0x180001bb7
lea r12, [rsp + 0x20]
mov r13, qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov r14, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp r15, rsi
jb 0x180001c12
mov edi, dword [rsp + 0x78]
mov rax, rsi
xor edx, edx
div rdi
add rsi, rdi
sub rsi, rdx
cmp rsi, r15
ja 0x180001c12
lea ebx, [rdi - 1]
mov r8d, 0x30
mov rcx, rsi
mov rdx, r12
call r13
test rax, rax
je 0x180001c12
cmp dword [rsp + 0x40], 0x10000
je 0x180001b92
mov rsi, qword [rsp + 0x20]
add rsi, rbx
add rsi, qword [rsp + 0x38]
mov rax, rsi
xor edx, edx
div rdi
sub rsi, rdx
cmp rsi, r15
jbe 0x180001b4e
jmp 0x180001c12
test rsi, rsi
je 0x180001c12
mov edx, 0x1000
mov rcx, rsi
mov r8d, 0x3000
mov r9d, 0x40
call r14
test rax, rax
je 0x180001b27
lea rbx, [rax + 0x40]
mov qword [rax + 8], 0
mov dword [rax + 0x10], 0
mov edx, 0x40
xor ecx, ecx
lea rdi, [rax + rdx]
mov qword [rax + rdx], rcx
mov qword [rax + 8], rdi
mov rcx, rbx
add rbx, 0x40
add rdx, 0x40
cmp rdx, 0xfc1
jb 0x180001bd1
mov rcx, qword [0x180065778]
mov qword [rax], rcx
mov qword [0x180065778], rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov qword [rax + 8], rdx
inc dword [rax + 0x10]
jmp 0x180001c14
xor ecx, ecx
mov rax, rcx
add rsp, 0x80
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x180005c90
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 0x180005ced
lea rbx, [0x180056f50]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x180005cd4
cmp r10, 2
jb 0x180005cd4
cmp byte [r9], r8b
jne 0x180005cd4
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 0x180005cb0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x180005d2f
lea rbx, [0x180056f50]
cmp r8b, 0x23
jne 0x180005d13
cmp byte [r9], r8b
jne 0x180005d13
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 0x180005d00
mov rbx, qword [rsp + 8]
not eax
ret
Function at 0x180008330
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0xf8]
lea r9, [0x180056f50]
movss xmm2, dword [rcx + 0x110]
movss xmm3, dword [rcx + 0x114]
movsxd rcx, dword [rcx + 0xf0]
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
movss dword [rsp], xmm0
movzx eax, byte [rsp]
xor rcx, rax
movss xmm0, dword [rdx + 8]
movzx eax, byte [rsp + 1]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
movss xmm1, dword [rdx + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret
Function at 0x18000ba00
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x180065d08]
mov r14d, edx
mov r12d, dword [rsp + 0x90]
movaps xmmword [rsp + 0x30], xmm6
mov rbx, qword [rdi + 0x3ed8]
mov eax, dword [rbx + 0x14]
movss xmm3, dword [rbx + 0x250]
and eax, 4
movss xmm5, dword [rbx + 0x254]
or eax, 0x1000103
or r12d, eax
cmp qword [rbx + 0x1a8], 0
jne 0x18000ba66
cmp qword [rdi + 0x4b38], 0
je 0x18000ba6e
movss xmm3, dword [rbx + 0x220]
cvttss2si eax, dword [r8]
xor r15d, r15d
subss xmm3, dword [rbx + 0x100]
subss xmm5, dword [rbx + 0x104]
xorps xmm4, xmm4
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm4
cvtdq2ps xmm0, xmm0
jp 0x18000baa8
lea eax, [r15 + 1]
je 0x18000baab
mov eax, r15d
ucomiss xmm0, xmm4
jp 0x18000bab8
jne 0x18000bab8
mov r15d, 2
movss xmm2, dword [0x18005cb10]
or r15d, eax
comiss xmm4, xmm1
jb 0x18000bad4
addss xmm1, xmm3
comiss xmm1, xmm2
jae 0x18000bad4
movaps xmm1, xmm2
comiss xmm4, xmm0
jb 0x18000bae5
addss xmm0, xmm5
comiss xmm0, xmm2
jae 0x18000bae5
movaps xmm0, xmm2
or dword [rdi + 0x47b8], 2
xor edx, edx
movss dword [rdi + 0x47d8], xmm1
movss dword [rdi + 0x47dc], xmm0
mov dword [rdi + 0x47c0], 1
mov r9, qword [rbx + 8]
test rcx, rcx
je 0x18000bb2e
mov dword [rsp + 0x28], r14d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x70]
call fcn.180005bf0
jmp 0x18000bb44
lea r8, str._s__08X
mov dword [rsp + 0x20], r14d
lea rcx, [rsp + 0x70]
call fcn.180005bf0
mov rcx, qword [rsp + 0x70]
mov r8d, r12d
movss xmm6, dword [rdi + 0x37f8]
xor edx, edx
call fcn.18000e7f0
mov rsi, qword [rdi + 0x3ed8]
movzx ebp, al
movss dword [rdi + 0x37f8], xmm6
cmp word [rsi + 0xc2], 1
mov dword [rsi + 0x80], r14d
mov byte [rsi + 0xd2], r15b
jne 0x18000bb92
movsd xmm0, qword [rsi + 0x20]
movsd qword [rbx + 0x100], xmm0
mov r9d, r14d
lea rdx, [0x180056b39]
not r9d
lea r10, [0x180056f50]
mov ebx, r9d
mov r8b, 0x23
nop dword [rax]
cmp r8b, 0x23
jne 0x18000bbc3
cmp byte [rdx], r8b
jne 0x18000bbc3
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x18000bbb0
not ebx
cmp dword [rdi + 0x3f38], ebx
jne 0x18000bbef
call fcn.180008690
cmp dword [rdi + 0x48d0], r14d
jne 0x18000bc3c
bt r12d, 0x17
jb 0x18000bc3c
cmp word [rsi + 0x15c], 0
jne 0x18000bc12
cmp byte [rsi + 0x162], 0
je 0x18000bc3c
xor edx, edx
mov rcx, rsi
call fcn.180010c20
xor edx, edx
mov rcx, rsi
call fcn.1800168d0
mov rdx, rsi
mov ecx, ebx
call fcn.180008590
mov eax, dword [rdi + 0x48f4]
mov dword [rdi + 0x3f60], eax
mov rbx, qword [rsp + 0x78]
movzx eax, bpl
mov rbp, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret