joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14004b4b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x14004b4e4
movabs r10, 0x100000001b3
nop
movzx ecx, byte [r9 + rdx]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x14004b4d0
ret

Function at 0x14004b9b0
Capabilities:
Hash data using fnv

Disassembly:
mov r9, rcx
mov dword [rsp + 0x10], edx
movabs rcx, 0x100000001b3
movzx r8d, dl
movabs rax, 0xcbf29ce484222325
xor r8, rax
movzx eax, byte [rsp + 0x11]
imul r8, rcx
xor r8, rax
movzx eax, byte [rsp + 0x12]
imul r8, rcx
xor r8, rax
movzx eax, byte [rsp + 0x13]
imul r8, rcx
xor r8, rax
imul r8, rcx
mov rcx, qword [r9 + 0x38]
and rcx, r8
mov r8, qword [r9 + 0x10]
shl rcx, 4
add rcx, qword [r9 + 0x20]
mov rax, qword [rcx + 8]
cmp rax, r8
je 0x14004ba3c
mov rcx, qword [rcx]
cmp edx, dword [rax + 0x10]
je 0x14004ba3e
nop
cmp rax, rcx
je 0x14004ba3c
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x14004ba20
test rax, rax
cmove rax, r8
cmp rax, r8
setne al
ret
xor eax, eax
test rax, rax
cmove rax, r8
cmp rax, r8
setne al
ret
Function at 0x14008abd0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov edi, edx
mov ebx, edx
mov esi, edx
shr edi, 0x18
mov ebp, edx
shr esi, 0x10
shr ebp, 8
mov r14, rcx
call fcn.14004b9b0
test al, al
je 0x14008ac8e
movabs rcx, 0x100000001b3
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, bpl
imul rdx, rcx
xor rdx, rax
movzx eax, sil
imul rdx, rcx
xor rdx, rax
mov eax, edi
imul rdx, rcx
xor rdx, rax
imul rdx, rcx
mov rcx, qword [r14 + 0x38]
and rcx, rdx
mov rdx, qword [r14 + 0x10]
shl rcx, 4
add rcx, qword [r14 + 0x20]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x14008ac7f
mov rcx, qword [rcx]
cmp ebx, dword [rax + 0x10]
je 0x14008ac81
cmp rax, rcx
je 0x14008ac7f
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14008ac64
test rax, rax
cmove rax, rdx
movzx eax, byte [rax + 0x16]
jmp 0x14008ac90
xor eax, eax
test rax, rax
cmove rax, rdx
movzx eax, byte [rax + 0x16]
jmp 0x14008ac90
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x14008d140
Capabilities:
Resolve dns

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x478
mov rax, qword [0x140157dc0]
xor rax, rsp
mov qword [rsp + 0x460], rax
movzx eax, word [rcx]
mov rsi, r9
mov rdi, r8
mov ebp, edx
mov rbx, rcx
cmp ax, 2
je 0x14008d17c
cmp ax, 0x17
jne 0x14008d22a
movzx ecx, word [rcx + 2]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
xor edx, edx
lea rcx, [rsp + 0x50]
mov dword [rsi], eax
mov r8d, 0x401
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x50]
mov r9d, 0x401
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
jne 0x14008d22a
lea rax, [rsp + 0x50]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x14008d1d6
mov rax, qword [rdi + 0x18]
cmp rbx, rax
ja 0x14008d210
mov rsi, rdi
cmp rax, 0xf
jbe 0x14008d1f4
mov rsi, qword [rdi]
mov r8, rbx
mov qword [rdi + 0x10], rbx
lea rdx, [rsp + 0x50]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov al, 1
mov byte [rsi + rbx], 0
jmp 0x14008d22c
movzx r8d, byte [rsp + 0x40]
lea r9, [rsp + 0x50]
mov rdx, rbx
mov rcx, rdi
call fcn.14001c6c0
mov al, 1
jmp 0x14008d22c
xor al, al
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.1400d35d0
add rsp, 0x478
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140091fd0
Capabilities:
Hash data using fnv

Disassembly:
movsx eax, byte [rcx]
test al, al
jne 0x140091fda
mov eax, edx
ret
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
jmp fcn.140091fd0

Function at 0x1400923d0
Capabilities:
Hash data using fnv

Disassembly:
mov edx, ecx
mov rcx, qword [0x140160d08]
add rcx, 0x5de8
jmp fcn.14008abd0
Function at 0x140095180
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x140157dc0]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov esi, edx
mov rdi, rcx
cmp edx, 0xffffffff
jne 0x1400951ad
xor eax, eax
jmp 0x140095316
mov qword [rsp + 0xa0], rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
test rax, rax
je 0x1400951ed
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::epptr_void_const___ptr64]
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
cmp rax, rbx
jae 0x1400951ed
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], sil
mov eax, esi
jmp 0x14009530e
cmp qword [rdi + 0x80], 0
je 0x140095309
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rdi + 0x70]
cmp rax, rcx
jne 0x140095227
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
mov r9, qword [rdi + 0x90]
mov r8, rdx
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
mov rcx, qword [rdi + 0x68]
test rcx, rcx
jne 0x140095252
mov rdx, qword [rdi + 0x80]
movsx ecx, sil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x14009530e
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], sil
mov qword [rsp + 0x38], rax
lea rdx, [rdi + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x1400952c1
sub eax, 1
je 0x1400952c1
cmp eax, 2
jne 0x140095309
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rdi + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, esi
mov eax, ecx
jmp 0x14009530e
mov rbx, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rbx, rax
je 0x1400952ef
mov r9, qword [rdi + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x140095309
lea rax, [rsp + 0x50]
mov byte [rdi + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, esi
mov eax, ecx
jmp 0x14009530e
mov eax, 0xffffffff
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400d35d0
mov rsi, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x14009c330
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov edi, r9d
mov rsi, r8
mov rbp, rdx
mov r14, rcx
nop word [rax + rax]
mov r9d, edi
mov r8d, esi
mov rdx, rbp
mov rcx, r14
call qword [sym.imp.WS2_32.dll_recv]
movsxd rbx, eax
test eax, eax
jns 0x14009c384
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x14009c360
mov rbp, qword [rsp + 0x38]
mov rax, rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x14009d5a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x60
xor r14d, r14d
lea rdx, str.Replacing_whole_world_with_glass
xorps xmm0, xmm0
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], r14
movups xmmword [rsp + 0x20], xmm0
lea r8d, [r14 + 0x20]
call fcn.140012fd0
lea rcx, [rsp + 0x20]
call fcn.1400bd490
mov rcx, qword [0x140160d08]
mov rbp, qword [rcx + 0x5f2c]
mov rbx, qword [rcx + 0x5f24]
cmp rbx, rbp
je 0x14009d71f
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rdi
nop dword [rax + rax]
mov rdx, qword [rbx]
cmp word [rdx], r14w
je 0x14009d702
mov eax, dword [rdx + 0x1be]
xorps xmm0, xmm0
mov rsi, qword [rcx + 0x18]
mov rdi, qword [rcx]
mov dword [rsp + 0x4c], eax
mov eax, dword [rdx + 0x1c2]
mov dword [rsp + 0x50], eax
movzx eax, byte [rcx + 0x5f9c]
mov byte [rsp + 0x21], al
mov word [rsp + 0x32], r14w
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x54], r14
mov byte [rsp + 0x20], 3
mov dword [rsp + 0x34], 0x38
movdqu xmmword [rsp + 0x22], xmm0
movdqu xmmword [rsp + 0x38], xmm0
test rsi, rsi
je 0x14009d702
test rdi, rdi
je 0x14009d702
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.14000c9e0
movups xmm0, xmmword [rsp + 0x20]
mov edx, dword [rsp + 0x58]
xor ecx, ecx
movups xmm1, xmmword [rsp + 0x30]
mov r8, qword [rax + 0x10]
mov dword [r8], 3
movups xmmword [r8 + 4], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r8 + 0x14], xmm1
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r8 + 0x24], xmm0
movsd qword [r8 + 0x34], xmm1
mov dword [r8 + 0x3c], edx
xor edx, edx
mov byte [r8 + 0x40], cl
mov r8, rax
mov rcx, rsi
call fcn.14000db10
test eax, eax
je 0x14009d6f3
mov edx, eax
lea rcx, str._SERVER_:Error_Sending_Packet__Code:__d_n
call fcn.1400b6a90
mov rcx, rdi
call fcn.14000dfc0
mov rcx, qword [0x140160d08]
add rbx, 8
cmp rbx, rbp
jne 0x14009d610
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
add rsp, 0x60
pop r14
pop rbp
pop rbx
ret
Function at 0x1400a1300
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x260
mov rax, qword [0x140157dc0]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x48], rcx
lea edi, [rcx + 1]
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
nop dword [rax + rax]
lea rax, [rsp + 0x30]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
mov ecx, edi
call qword [sym.imp.WS2_32.dll_select]
movsxd rbx, eax
test eax, eax
jns 0x1400a136f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x1400a1340
mov rax, rbx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1400d35d0
mov rbx, qword [rsp + 0x270]
add rsp, 0x260
pop rdi
ret

Function at 0x1400a13a0
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x260
mov rax, qword [0x140157dc0]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x48], rcx
lea edi, [rcx + 1]
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x34], r8d
nop dword [rax + rax]
lea rax, [rsp + 0x30]
xor r9d, r9d
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, edi
call qword [sym.imp.WS2_32.dll_select]
movsxd rbx, eax
test eax, eax
jns 0x1400a140e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x1400a13e0
mov rax, rbx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1400d35d0
mov rbx, qword [rsp + 0x270]
add rsp, 0x260
pop rdi
ret
Function at 0x1400a7810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x90
mov rdx, qword [0x140160d08]
movaps xmmword [rsp + 0x70], xmm6
movaps xmm6, xmm1
movaps xmmword [rsp + 0x60], xmm7
movaps xmm7, xmm0
mov rax, qword [rdx + 0x60cb]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400a79b6
mov qword [r11 + 8], rbp
mov qword [r11 - 0x10], r14
mov qword [r11 - 0x18], r15
xor r15d, r15d
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
cvttss2si ebp, xmm7
cvttss2si r14d, xmm6
nop word [rax + rax]
cvttss2si ecx, dword [rdx + 0x5fa4]
cvttss2si eax, dword [rdx + 0x5fa8]
sub ecx, ebp
imul ecx, ecx
sub eax, r14d
imul eax, eax
add eax, ecx
cmp eax, 0x19000
jg 0x1400a797e
mov rsi, qword [rdx + 0x10]
xor eax, eax
mov rdi, qword [rdx + 8]
mov qword [rsp + 0x54], rax
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x34], eax
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x3c], xmm6
mov word [rsp + 0x21], r15w
mov byte [rsp + 0x23], r15b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], r15d
mov byte [rsp + 0x20], listen
mov dword [rsp + 0x24], 0xffffffff
test rsi, rsi
je 0x1400a797e
test rdi, rdi
je 0x1400a797e
mov edx, 0x41
xor ecx, ecx
lea r8d, [rdx - 0x40]
call fcn.14000c9e0
movups xmm0, xmmword [rsp + 0x20]
mov edx, dword [rsp + 0x58]
xor ecx, ecx
movups xmm1, xmmword [rsp + 0x30]
mov r8, qword [rax + 0x10]
mov dword [r8], 4
movups xmmword [r8 + 4], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r8 + 0x14], xmm1
movsd xmm1, qword [rsp + 0x50]
movups xmmword [r8 + 0x24], xmm0
movsd qword [r8 + 0x34], xmm1
mov dword [r8 + 0x3c], edx
xor edx, edx
mov byte [r8 + 0x40], cl
mov r8, rax
mov rcx, rsi
call fcn.14000db10
test eax, eax
je 0x1400a796f
mov edx, eax
lea rcx, str._SERVER_:Error_Sending_Packet__Code:__d_n
call fcn.1400b6a90
mov rcx, rdi
call fcn.14000dfc0
mov rdx, qword [0x140160d08]
mov rbx, qword [rbx]
cmp rbx, qword [rdx + 0x60cb]
jne 0x1400a7870
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x60]
add rsp, 0x90
pop rbx
ret

Function at 0x1400a9810
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [0x140157dc0]
xor rax, rsp
mov qword [rsp + 0x20], rax
mov rbx, rcx
call sub.MSVCP140.dll__Thrd_id
mov edx, eax
movabs r9, 0x100000001b3
movzx r8d, al
movabs rax, 0xcbf29ce484222325
xor r8, rax
mov eax, edx
imul r8, r9
shr eax, 8
movzx ecx, al
mov eax, edx
xor r8, rcx
shr eax, 0x10
imul r8, r9
movzx ecx, al
mov eax, dword [rbx + 0x6194]
xor r8, rcx
imul r8, r9
shr rdx, 0x18
xor r8, rdx
imul r8, r9
cmp rax, r8
je 0x1400a98a5
movzx eax, byte [rbx + 0x6190]
nop
test al, al
jne 0x1400a98a5
mov eax, 1
lea rcx, [rbx + 0x6198]
xchg byte [rbx + 0x6190], al
call sub.MSVCP140.dll__Cnd_broadcast
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.1400d35d0
add rsp, 0x30
pop rbx
ret
Function at 0x1400b38c0
Capabilities:
Convert ip address from string

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x58
mov rax, qword [0x140157dc0]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebx, ebx
mov qword [rsp + 0x28], rcx
cmp qword [rcx + 0x20], 0xf
lea rsi, [rcx + 8]
mov rbp, rdx
mov byte [rsp + 0x20], 0
mov edi, 2
mov r15d, ebx
mov rdx, rsi
jbe 0x1400b3904
mov rdx, qword [rsi]
lea r8, [rsp + 0x38]
mov ecx, reloc.WS2_32.dll_socket
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
je 0x1400b3920
mov r15d, reloc.WS2_32.dll_recv
jmp 0x1400b3944
cmp qword [rsi + 0x18], 0xf
jbe 0x1400b392a
mov rsi, qword [rsi]
lea r8, [rsp + 0x30]
mov rdx, rsi
mov ecx, edi
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
je 0x1400b3949
mov r15d, 4
mov edi, 7
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
lea edx, [r9 + 0x55]
call sub.libcrypto_3_x64.dll_X509_get_ext_d2i
mov r12, rax
test rax, rax
je 0x1400b3a32
mov qword [rsp + 0xa0], r13
mov rcx, rax
mov qword [rsp + 0x50], r14
xor r13b, r13b
xor r14b, r14b
call sub.libcrypto_3_x64.dll_OPENSSL_sk_num
mov dword [rsp + 0x24], eax
test eax, eax
jle 0x1400b3a25
nop
test r14b, r14b
jne 0x1400b3a20
mov edx, ebx
mov rcx, r12
call sub.libcrypto_3_x64.dll_OPENSSL_sk_value
mov rsi, rax
cmp dword [rax], edi
jne 0x1400b3a0a
mov rcx, qword [rax + 8]
call sub.libcrypto_3_x64.dll_ASN1_STRING_get0_data
mov rcx, qword [rsi + 8]
mov rbp, rax
call sub.libcrypto_3_x64.dll_ASN1_STRING_length
movsxd r8, eax
cmp edi, 2
je 0x1400b39f9
cmp edi, 7
jne 0x1400b3a0a
mov r8, r15
lea rcx, [rsp + 0x38]
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400b39f4
mov r8, r15
lea rcx, [rsp + 0x30]
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400b3a0a
mov r13b, 1
jmp 0x1400b3a0a
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.140045760
movzx r14d, al
inc ebx
cmp ebx, dword [rsp + 0x24]
jl 0x1400b3990
test r14b, r14b
jne 0x1400b3a20
test r13b, r13b
je 0x1400b3a25
mov byte [rsp + 0x20], 1
mov r13, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x50]
mov rcx, r12
call sub.libcrypto_3_x64.dll_GENERAL_NAMES_free
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400d35d0
add rsp, 0x58
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400b5810
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rcx]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
jne 0x1400b5849
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov rdi, qword [rdi + 8]
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
movsxd rbx, eax
test eax, eax
jns 0x1400b5876
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x1400b5852
mov rbp, qword [rsp + 0x40]
mov rax, rbx
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x1400b67f0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rsi, r8
mov r14, rdx
mov rbp, rcx
test r8, r8
jg 0x1400b6812
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x1400b6828
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov qword [rsp + 0x28], rbx
mov rbx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Gnavail_void_const___ptr64]
test rax, rax
je 0x1400b6872
cmp rax, rsi
mov rdi, rsi
mov rcx, rbp
cmovb rdi, rax
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gptr_void_const___ptr64]
mov r8, rdi
mov rcx, r14
mov rdx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
mov rcx, rbp
add r14, rdi
sub rbx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::gbump_int____ptr64]
cmp qword [rbp + 0x80], 0
mov rdi, rbx
je 0x1400b68e1
mov rcx, rbp
call fcn.140041d10
cmp rbx, 0xfff
jbe 0x1400b68c1
mov r9, qword [rbp + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
add r14, rax
mov rdi, rbx
cmp rax, 0xfff
jne 0x1400b68fa
cmp rbx, rax
ja 0x1400b6890
test rdi, rdi
je 0x1400b68e1
mov r9, qword [rbp + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rdi, rax
sub rsi, rdi
mov rbx, qword [rsp + 0x28]
mov rax, rsi
mov rdi, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rsi, rbx
jmp 0x1400b68e4
Function at 0x1400b6900
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x1400b6928
add rsp, 0x20
pop r14
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
call qword [sym.imp.MSVCP140.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov rbp, rax
test rbx, rbx
jle 0x1400b699c
test rax, rax
jle 0x1400b697c
cmp rbx, rax
mov rcx, rdi
cmovl rbp, rbx
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, rbp
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov edx, ebp
mov rcx, rdi
add r14, rbp
sub rbx, rbp
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
test rbx, rbx
jle 0x1400b699c
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x1400b699c
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x40]
sub rsi, rbx
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
Function at 0x1400b9140
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1400b92db
lea rax, [rdx - 1]
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14003bab0
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1400b92a4
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rbp
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, qword [rsi + 0x30]
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1400b921e
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400b9293
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1400b925b
mov r10, qword [rdx]
cmp r10, rax
je 0x1400b9255
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400b9293
cmp r9, rdx
je 0x1400b926f
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1400b92b5
cmp r9, rdx
jne 0x1400b9260
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x1400b91d1
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400b9293
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3