joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140005230
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
cmp dword [r8 + 0x38], 1
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov rbp, rcx
je 0x14000525f
xor eax, eax
jmp 0x14000544a
mov ecx, dword [r9 + 0x10]
mov qword [rsp + 0x30], rsi
call qword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
lea rax, [rsi - 1]
cmp rax, 0xfe
ja 0x1400053df
mov ecx, dword [rdi + 0x1c]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0xa4]
jne 0x1400053df
mov ecx, dword [rdi + 0x20]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0x9c]
jne 0x1400053df
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0xa0]
jne 0x1400053df
mov eax, dword [rbx + 0x1c]
cmp dword [rdi + 0x28], eax
jne 0x1400053df
mov edx, 1
mov r8b, 0xff
mov rcx, rbx
call fcn.140004450
cmp rsi, qword [rbx + 0x48]
jae 0x1400052e5
mov qword [rbx + 0x48], rsi
movzx ecx, word [rdi + 4]
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rbx + 0x18], ax
movzx eax, byte [rdi + 6]
mov byte [rbx + 0x21], al
movzx eax, byte [rdi + 7]
mov byte [rbx + 0x20], al
mov ecx, dword [rdi + 8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, 0x240
mov esi, 0x1000
cmp eax, ecx
jb 0x14000531f
cmp eax, esi
mov ecx, eax
cmova ecx, esi
cmp ecx, dword [rbx + 0xd0]
jae 0x14000532d
mov dword [rbx + 0xd0], ecx
mov ecx, dword [rdi + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, esi
jb 0x140005346
mov ecx, 0x10000
mov esi, eax
cmp eax, ecx
cmova esi, ecx
cmp esi, dword [rbx + 0xd4]
jae 0x140005354
mov dword [rbx + 0xd4], esi
mov ecx, dword [rdi + 0x14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x50], eax
mov ecx, dword [rdi + 0x18]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x54], eax
mov dword [rbp + 0x24], 1
mov eax, dword [rbx + 0x38]
test r14, r14
je 0x1400053c2
add eax, 0xfffffffb
cmp eax, 1
jbe 0x14000539f
cmp dword [rbx + 0x50], 0
je 0x140005394
mov rax, qword [rbx + 0x10]
inc qword [rax + 0x2af0]
mov rax, qword [rbx + 0x10]
inc qword [rax + 0x2ae8]
mov dword [rbx + 0x38], 5
mov dword [r14], 1
mov qword [r14 + 8], rbx
mov eax, dword [rbx + 0x1c8]
mov dword [r14 + 0x14], eax
xor eax, eax
jmp 0x140005445
xor r8d, r8d
mov rdx, rbx
cmp eax, 1
mov rcx, rbp
sete r8b
add r8d, 3
call fcn.140004210
xor eax, eax
jmp 0x140005445
mov eax, dword [rbx + 0x38]
xor r8d, r8d
sub eax, 5
mov dword [rbx + 0x1c8], r8d
cmp eax, 1
ja 0x140005410
cmp dword [rbx + 0x50], r8d
je 0x140005405
mov rax, qword [rbx + 0x10]
dec qword [rax + 0x2af0]
mov rax, qword [rbx + 0x10]
dec qword [rax + 0x2ae8]
mov dword [rbx + 0x38], 9
cmp dword [rbx + 0x140], r8d
jne 0x140005440
mov rax, qword [rbp + 0x50]
lea rcx, [rbp + 0x48]
mov qword [rbx + 8], rax
mov qword [rbx], rcx
mov qword [rax], rbx
mov qword [rcx + 8], rbx
mov dword [rbx + 0x140], 1
mov eax, 0xffffffff
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x1400071b0
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x1d8
mov rax, qword [0x14006f040]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov ecx, 0x101
lea rdx, [rsp + 0x20]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x140007219
movzx eax, word [rsp + 0x20]
cmp al, 1
jne 0x140007213
shr ax, 8
cmp al, 1
jne 0x140007213
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
xor eax, eax
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1400527c0
add rsp, 0x1d8
ret
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1400527c0
add rsp, 0x1d8
ret

Function at 0x140008df0
Capabilities:
Hash data using fnv

Disassembly:
movsx eax, byte [rcx]
test al, al
jne 0x140008dfa
mov eax, edx
ret
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
jmp fcn.140008df0

Function at 0x14000c040
Capabilities:
Hash data using fnv

Disassembly:
mov r9, rcx
mov dword [rsp + 0x10], edx
movabs rcx, 0x100000001b3
movzx r8d, dl
movabs rax, 0xcbf29ce484222325
mov r10d, edx
xor r8, rax
xor edx, edx
movzx eax, byte [rsp + 0x11]
mov r11, qword [r9 + 0x38]
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
and r11, r8
shl r11, 4
add r11, qword [r9 + 0x20]
mov r9, qword [r9 + 0x10]
mov rax, qword [r11 + 8]
mov rcx, rax
cmp rax, r9
je 0x14000c0c8
mov r8, qword [r11]
cmp r10d, dword [rax + 0x10]
je 0x14000c0cb
cmp rcx, r8
je 0x14000c0c8
mov rcx, qword [rcx + 8]
cmp r10d, dword [rcx + 0x10]
jne 0x14000c0b7
jmp 0x14000c0cb
mov rcx, rdx
test rcx, rcx
je 0x14000c0fe
cmp rax, r9
je 0x14000c0f2
mov rcx, qword [r11]
cmp r10d, dword [rax + 0x10]
je 0x14000c0ef
nop
cmp rax, rcx
je 0x14000c0f2
mov rax, qword [rax + 8]
cmp r10d, dword [rax + 0x10]
jne 0x14000c0e0
mov rdx, rax
test rdx, rdx
cmove rdx, r9
movzx eax, byte [rdx + 0x16]
ret
mov eax, edx
ret
Function at 0x14000d470
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x28], rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], bpl
mov dword [rsp + 0x20], 1
mov rax, qword [rdx + 0x10]
cmp rax, 0xf
jbe 0x14000d4cc
mov rdx, rax
call fcn.140042100
mov qword [rbx + 0x10], rbp
mov rax, qword [rdi + 0x10]
mov r15d, 0xfffffffa
cmp qword [rdi + 0x18], 0xf
jbe 0x14000d4e4
mov r14, qword [rdi]
mov rcx, r14
mov rdi, r14
jmp 0x14000d4ea
mov r14, rdi
mov rcx, rdi
lea r13, [rax + rcx]
cmp rdi, r13
je 0x14000d5e1
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop
shl ebp, 8
movzx eax, byte [r14]
add ebp, eax
add r15d, 8
js 0x14000d586
movsxd r12, ebp
movsxd rdi, r15d
lea ecx, [r15 + 6]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 2
mov esi, edx
imul eax, edx, 0xfffffffa
add r15d, eax
nop dword [rax + rax]
mov rax, r12
mov rcx, rdi
sar rax, cl
and eax, 0x3f
movzx r9d, byte [rax + r8]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x14000d56d
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0xf
jbe 0x14000d562
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14000d57c
mov rcx, rbx
call fcn.140042250
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
sub rdi, 6
sub rsi, 1
jne 0x14000d530
inc r14
cmp r14, r13
jne 0x14000d500
cmp r15d, 0xfffffffa
jle 0x14000d5e1
lea ecx, [r15 + 8]
shl ebp, 8
movsxd rax, ebp
sar rax, cl
and eax, 0x3f
movzx r9d, byte [rax + r8]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x14000d5d9
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0xf
jbe 0x14000d5ce
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14000d5e1
mov rcx, rbx
call fcn.140042250
mov rcx, qword [rbx + 0x10]
test cl, 3
je 0x14000d629
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x14000d615
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0xf
jbe 0x14000d60d
mov rax, qword [rbx]
mov word [rax + rcx], 0x3d
jmp 0x14000d620
mov r9b, 0x3d
mov rcx, rbx
call fcn.140042250
mov rcx, qword [rbx + 0x10]
test cl, 3
jne 0x14000d5f0
mov rax, rbx
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000e8d0
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x260
mov rax, qword [0x14006f040]
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 0x14000e93f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x14000e910
mov rax, rbx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1400527c0
mov rbx, qword [rsp + 0x270]
add rsp, 0x260
pop rdi
ret

Function at 0x14000e970
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x260
mov rax, qword [0x14006f040]
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 0x14000e9de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x14000e9b0
mov rax, rbx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1400527c0
mov rbx, qword [rsp + 0x270]
add rsp, 0x260
pop rdi
ret

Function at 0x14000ea10
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x270
mov rax, qword [0x14006f040]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rsi, rcx
mov rbp, rdx
lea rcx, [rsp + 0x40]
call fcn.140007790
mov rbx, qword [rsp + 0x40]
xor r14d, r14d
movabs r15, 0x431bde82d7b634db
nop
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x44], 0x2710
nop word [rax + rax]
lea rax, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea ecx, [rsi + 1]
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x14000eab1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x14000ea80
xor al, al
jmp 0x14000eaff
jne 0x14000eafd
lea rcx, [rsp + 0x30]
call fcn.140007790
mov rcx, qword [rsp + 0x30]
mov rax, r15
sub rcx, rbx
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rbp, 0x3e8
cmp rdx, rax
jg 0x14000eaad
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 1
call fcn.14003d310
jmp 0x14000ea60
mov al, 1
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400527c0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x14000f160
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
sub rsp, 0x4f8
mov rax, qword [0x14006f040]
xor rax, rsp
mov qword [rsp + 0x4e0], rax
mov rsi, r8
mov dword [rsp + 0x40], 0x80
mov rdi, rdx
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
jne 0x14000f286
movzx eax, word [rsp + 0x50]
mov qword [rsp + 0x4f0], rbx
mov ebx, dword [rsp + 0x40]
cmp ax, 2
je 0x14000f1c3
cmp ax, 0x17
jne 0x14000f27e
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
xor edx, edx
lea rcx, [rsp + 0xd0]
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 + 0xd0]
mov r9d, 0x401
mov qword [rsp + 0x20], rax
mov edx, ebx
lea rcx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
jne 0x14000f27e
lea rax, [rsp + 0xd0]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14000f230
mov rax, qword [rdi + 0x18]
cmp rbx, rax
ja 0x14000f26b
mov rsi, rdi
cmp rax, 0xf
jbe 0x14000f24e
mov rsi, qword [rdi]
mov r8, rbx
mov qword [rdi + 0x10], rbx
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
jmp 0x14000f27e
lea r9, [rsp + 0xd0]
mov rdx, rbx
mov rcx, rdi
call fcn.1400423c0
mov rbx, qword [rsp + 0x4f0]
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.1400527c0
add rsp, 0x4f8
pop rdi
pop rsi
ret
mov rcx, qword [rcx + 8]
jmp 0x14000f160
Function at 0x140017df0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x28
mov rbx, rcx
mov eax, 0x7fffffff
mov rcx, qword [rcx + 0x48]
cmp r8, rax
mov rdi, r8
mov r14, rdx
cmova rdi, rax
mov rsi, qword [rbx + 0x50]
cmp rcx, rsi
jae 0x140017e60
mov rdx, qword [rbx + 0x30]
sub rsi, rcx
add rdx, rcx
mov rcx, r14
cmp rdi, rsi
ja 0x140017e47
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add qword [rbx + 0x48], rdi
mov rax, rdi
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add qword [rbx + 0x48], rsi
mov rax, rsi
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
test al, al
jne 0x140017e7e
mov rax, 0xffffffffffffffff
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret
xor eax, eax
mov qword [rsp + 0x68], rbp
mov rbp, qword [rbx + 8]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
cmp rdi, 0x1000
jae 0x140017f30
mov qword [rsp + 0x20], r15
mov r15, qword [rbx + 0x30]
nop word [rax + rax]
xor r9d, r9d
mov r8d, 0x1000
mov rdx, r15
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_recv]
movsxd rsi, eax
test eax, eax
jns 0x140017ed7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x140017eb0
mov r15, qword [rsp + 0x20]
test rsi, rsi
jle 0x140017ef5
mov rdx, qword [rbx + 0x30]
mov rcx, r14
cmp rsi, rdi
jg 0x140017f07
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rbp, qword [rsp + 0x68]
mov rax, rsi
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rbp, qword [rsp + 0x68]
mov rax, rdi
mov qword [rbx + 0x48], rdi
mov qword [rbx + 0x50], rsi
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret
xor r9d, r9d
mov r8d, edi
mov rdx, r14
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_recv]
movsxd rbx, eax
test eax, eax
jns 0x140017f54
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x140017f30
mov rbp, qword [rsp + 0x68]
mov rax, rbx
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret

Function at 0x140017f70
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 0x140017fa9
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 0x140017fd6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x140017fb2
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 0x140017ff0
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
sub rsp, 0x4f8
mov rax, qword [0x14006f040]
xor rax, rsp
mov qword [rsp + 0x4e0], rax
mov rsi, r8
mov dword [rsp + 0x40], 0x80
mov rdi, rdx
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
jne 0x14000f286
movzx eax, word [rsp + 0x50]
mov qword [rsp + 0x4f0], rbx
mov ebx, dword [rsp + 0x40]
cmp ax, 2
je 0x14000f1c3
cmp ax, 0x17
jne 0x14000f27e
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
xor edx, edx
lea rcx, [rsp + 0xd0]
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 + 0xd0]
mov r9d, 0x401
mov qword [rsp + 0x20], rax
mov edx, ebx
lea rcx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_getnameinfo]
test eax, eax
jne 0x14000f27e
lea rax, [rsp + 0xd0]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14000f230
mov rax, qword [rdi + 0x18]
cmp rbx, rax
ja 0x14000f26b
mov rsi, rdi
cmp rax, 0xf
jbe 0x14000f24e
mov rsi, qword [rdi]
mov r8, rbx
mov qword [rdi + 0x10], rbx
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0
jmp 0x14000f27e
lea r9, [rsp + 0xd0]
mov rdx, rbx
mov rcx, rdi
call fcn.1400423c0
mov rbx, qword [rsp + 0x4f0]
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.1400527c0
add rsp, 0x4f8
pop rdi
pop rsi
ret
mov rcx, qword [rcx + 8]
jmp 0x14000f160
Function at 0x140024890
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 [0x14006f040]
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 0x1400248d4
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 0x1400248f0
mov r15d, reloc.WS2_32.dll_recv
jmp 0x140024914
cmp qword [rsi + 0x18], 0xf
jbe 0x1400248fa
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 0x140024919
mov r15d, 4
mov edi, 7
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
lea edx, [r9 + 0x55]
call qword [sym.imp.libcrypto_3_x64.dll_X509_get_ext_d2i]
mov r12, rax
test rax, rax
je 0x140024a05
mov qword [rsp + 0xa0], r13
mov rcx, rax
mov qword [rsp + 0x50], r14
xor r13b, r13b
xor r14b, r14b
call qword [sym.imp.libcrypto_3_x64.dll_OPENSSL_sk_num]
mov dword [rsp + 0x24], eax
test eax, eax
jle 0x1400249f8
test r14b, r14b
jne 0x1400249f3
mov edx, ebx
mov rcx, r12
call qword [sym.imp.libcrypto_3_x64.dll_OPENSSL_sk_value]
mov rsi, rax
cmp dword [rax], edi
jne 0x1400249dd
mov rcx, qword [rax + 8]
call qword [sym.imp.libcrypto_3_x64.dll_ASN1_STRING_get0_data]
mov rcx, qword [rsi + 8]
mov rbp, rax
call qword [sym.imp.libcrypto_3_x64.dll_ASN1_STRING_length]
movsxd r8, eax
cmp edi, 2
je 0x1400249cc
cmp edi, 7
jne 0x1400249dd
mov r8, r15
lea rcx, [rsp + 0x38]
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400249c7
mov r8, r15
lea rcx, [rsp + 0x30]
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400249dd
mov r13b, 1
jmp 0x1400249dd
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.140024a30
movzx r14d, al
inc ebx
cmp ebx, dword [rsp + 0x24]
jl 0x140024960
test r14b, r14b
jne 0x1400249f3
test r13b, r13b
je 0x1400249f8
mov byte [rsp + 0x20], 1
mov r13, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x50]
mov rcx, r12
call qword [sym.imp.libcrypto_3_x64.dll_GENERAL_NAMES_free]
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400527c0
add rsp, 0x58
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140038d20
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x30
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140038dcc
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x140038d5a
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x30
pop rdi
jmp 0x14003bb00
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x140038d9a
mov qword [rsp + 0x48], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x18
call fcn.140052c54
mov rcx, rbx
test rbx, rbx
jne 0x140038d80
mov rbx, qword [rsp + 0x48]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x20]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x20], rax
call fcn.140041610
add rsp, 0x30
pop rdi
ret
mov rax, rsp
push rbp
push rsi
push r14
sub rsp, 0x50
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x14003bc04
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rax + 0x10], rbx
mov rbx, r14
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
mov qword [rax - 0x20], r13
mov r13, qword [r14 + 8]
mov qword [rax - 0x28], r15
movabs rax, 0xcbf29ce484222325
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x11]
imul rcx, r8
mov qword [rsp + 0x30], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x28], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x18
call fcn.140052c54
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x28]
je 0x14003bc10
cmp rbx, rbp
jne 0x14003bbb0
cmp qword [rsp + 0x20], r14
jne 0x14003bbdd
mov qword [r15], rbx
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov rax, rbp
add rsp, 0x50
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x20], r14
jne 0x14003bc1f
mov qword [r15], r12
mov rax, r12
jmp 0x14003bc22
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x14003bbdd
nop dword [rax + rax]
movzx ecx, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
mov r15, qword [rsi + 0x30]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [rbx + 0x11]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x30]
mov r14, qword [r15 + 8]
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x18
call fcn.140052c54
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x14003bcb6
cmp rbx, rbp
jne 0x14003bc90
jmp 0x14003bbda
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x14003bc30
jmp 0x14003bbdd