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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x1400b80b8]
mov r14d, edx
movaps xmmword [rsp + 0x30], xmm6
mov r15, qword [rdi + 0x3ed8]
cmp qword [r15 + 0x1a8], 0
jne 0x140016027
cmp qword [rdi + 0x4b48], 0
mov eax, 0x250
je 0x14001602c
mov eax, 0x220
movss xmm4, dword [rax + r15]
xorps xmm3, xmm3
movss xmm5, dword [rax + r15 + 4]
xor ebx, ebx
cvttss2si eax, dword [r8]
subss xmm4, dword [r15 + 0x100]
subss xmm5, dword [r15 + 0x104]
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm3
cvtdq2ps xmm0, xmm0
jp 0x140016073
lea eax, [rbx + 1]
je 0x140016075
mov eax, ebx
ucomiss xmm0, xmm3
jp 0x140016081
jne 0x140016081
mov ebx, 2
movss xmm2, dword [0x140097e90]
or ebx, eax
comiss xmm3, xmm1
jb 0x14001609c
addss xmm1, xmm4
comiss xmm1, xmm2
jae 0x14001609c
movaps xmm1, xmm2
comiss xmm3, xmm0
jb 0x1400160ad
addss xmm0, xmm5
comiss xmm0, xmm2
jae 0x1400160ad
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 [r15 + 8]
test rcx, rcx
je 0x1400160f6
mov dword [rsp + 0x28], r14d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.14000eb30
jmp 0x14001610c
lea r8, str._s__08X
mov dword [rsp + 0x20], r14d
lea rcx, [rsp + 0x60]
call fcn.14000eb30
mov rcx, qword [rsp + 0x60]
xor edx, edx
movss xmm6, dword [rdi + 0x37f8]
mov r8d, 0x1000107
call fcn.140018e50
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], bl
jne 0x14001615d
movsd xmm0, qword [rsi + 0x20]
movsd qword [r15 + 0x100], xmm0
mov r9d, r14d
lea rdx, [0x140095241]
not r9d
lea r10, [0x14008f280]
mov ebx, r9d
mov r8b, 0x23
cmp r8b, 0x23
jne 0x14001618a
cmp byte [rdx], r8b
jne 0x14001618a
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 0x140016177
not ebx
cmp dword [rdi + 0x3f38], ebx
jne 0x1400161ba
xor edx, edx
xor ecx, ecx
call fcn.1400128e0
cmp dword [rdi + 0x48e0], r14d
jne 0x140016200
cmp word [rsi + 0x15c], 0
jne 0x1400161d6
cmp byte [rsi + 0x162], 0
je 0x140016200
xor edx, edx
mov rcx, rsi
call fcn.14001b180
xor edx, edx
mov rcx, rsi
call fcn.1400216c0
mov rdx, rsi
mov ecx, ebx
call fcn.1400128e0
mov eax, dword [rdi + 0x4904]
mov dword [rdi + 0x3f60], eax
mov rbx, qword [rsp + 0x68]
movzx eax, bpl
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x14001f4f0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1400ad010]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1400b80b8]
mov edi, ecx
cmp byte [rbx + 0x4a91], 0
jne 0x14001f551
cmp byte [rbx + 0x4a92], 0
jne 0x14001f551
movsx r9d, word [rbx + 0x5bc4]
lea r8, str.Tooltip__02d
mov edx, reloc.WSOCK32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.14000ea20
test dil, 2
je 0x14001f67f
jmp 0x14001f5da
movss xmm1, dword [rbx + 0x3894]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5bc4]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x140097ec4]
mulss xmm1, dword [0x140097eb4]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xe00]
addss xmm1, dword [rbx + 0xe04]
mov qword [rbx + 0x47d0], rax
mov dword [rbx + 0x47bc], 1
movss dword [rbx + 0x47c8], xmm0
movss dword [rbx + 0x47cc], xmm1
movss xmm0, dword [rbx + 0x38f0]
mulss xmm0, dword [0x140097db4]
or dword [rbx + 0x47b8], 0x41
movss dword [rbx + 0x4818], xmm0
call fcn.14000ea20
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x14001f630
lea r11, [0x14008f280]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x14001f613
cmp byte [r8], r9b
jne 0x14001f613
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 0x14001f600
not ecx
call fcn.140016550
test rax, rax
je 0x14001f67f
cmp byte [rax + 0xb6], 0
je 0x14001f67f
mov byte [rax + 0xbb], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xbd], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xd8], 1
mov edx, reloc.WSOCK32.dll_recv
inc word [rbx + 0x5bc4]
movsx r9d, word [rbx + 0x5bc4]
call fcn.14000ea20
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.140018e50
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400888c0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x140001150
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
push r15
mov ebp, r8d
mov rdi, rcx
xor eax, eax
mov rdx, rcx
nop dword [rax]
nop word [rax + rax]
mov byte [rdx], al
lea rdx, [rdx + 1]
inc eax
cmp eax, 0x100
jl 0x140001180
xor r11d, r11d
movzx esi, bpl
xor r8b, r8b
lea r14, [rcx + 0xff]
mov r10d, 0xff
lea r15, str.lafviocleyyixgagdr
nop dword [rax]
xor ebx, ebx
mov r9d, 1
cmp r10d, r9d
jbe 0x1400011d0
nop dword [rax]
lea r9d, [r9*2 + 1]
cmp r9d, r10d
jb 0x1400011c0
nop dword [rax]
movzx ecx, r8b
lea eax, [r11 + 1]
movzx r8d, byte [rcx + rdi]
add r8b, byte [r11 + r15]
cmp eax, esi
jb 0x1400011e8
add r8b, bpl
xor r11d, r11d
cmp eax, esi
cmovb r11d, eax
movzx eax, r8b
and eax, r9d
inc ebx
cmp ebx, 0xb
jbe 0x140001206
xor edx, edx
div r10d
mov eax, edx
cmp eax, r10d
ja 0x1400011d0
movzx edx, byte [r14]
movzx ecx, al
movzx eax, byte [rcx + rdi]
mov byte [r14], al
dec r14
mov byte [rcx + rdi], dl
sub r10d, 1
jne 0x1400011b0
movzx eax, byte [rdi + 1]
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov byte [rdi + 0x100], al
movzx eax, byte [rdi + 3]
mov byte [rdi + 0x101], al
movzx eax, byte [rdi + 5]
mov byte [rdi + 0x102], al
movzx eax, byte [rdi + 7]
mov byte [rdi + 0x103], al
movzx eax, r8b
movzx ecx, byte [rax + rdi]
mov rax, rdi
mov byte [rdi + 0x104], cl
mov rdi, qword [rsp + 0x30]
pop r15
pop r14
ret
Function at 0x1400110c0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov r8, rcx
mov eax, 0xffffffff
movzx ecx, byte [rcx]
test cl, cl
je 0x14001116c
movzx edx, cl
lea r8, [r8 + 1]
xor eax, edx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
movzx ecx, byte [r8]
test cl, cl
jne 0x1400110d3
not eax
ret
Function at 0x14002c9a8
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x14002c70c
Function at 0x14003ea80
Capabilities:
Check http status code

Disassembly:
mov r11, rsp
push r14
sub rsp, 0xa0
mov qword [r11 - 0x58], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov rax, qword [0x140081080]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rbx, rcx
xor sil, sil
lea rax, [r11 - 0x50]
lea rdx, [0x140073f30]
lea rcx, [r11 - 0x30]
call fcn.140001390
nop
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rsp + 0x88]
movups xmmword [rsp + 0x68], xmm1
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rsp + 0x88], xmm0
mov byte [rsp + 0x78], sil
mov r14d, 1
mov r9d, r14d
lea r8d, [r14 + 0x4f]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14003fd50
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 0x10
jb 0x14003eb55
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003eb50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ec98
call fcn.14001f794
movzx eax, byte [rbx + 0x20]
test al, al
je 0x14003ec64
lea rcx, [rsp + 0x78]
call fcn.14003fb30
nop
cmp qword [rax + 0x18], 0x10
jb 0x14003eb76
mov rax, qword [rax]
mov dword [rsp + 0x30], 0x4080000
lea r8, [0x140073fd0]
mov rdx, rax
mov rcx, qword [rbx + 0x30]
call fcn.140014210
mov rdi, rax
mov rdx, qword [rsp + 0x90]
cmp rdx, 0x10
jb 0x14003ebd4
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ebcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ec92
call fcn.14001f794
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rsp + 0x88], xmm0
mov byte [rsp + 0x78], 0
test rdi, rdi
je 0x14003ec3e
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140014100
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x48], 4
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x40]
mov edx, 0x20000013
mov rcx, rdi
call fcn.140014000
movzx esi, sil
cmp dword [rsp + 0x40], 0xc8
cmove esi, r14d
mov rcx, rdi
call fcn.140053770
movzx eax, byte [rbx + 0x20]
test al, al
je 0x14003ec64
mov rcx, qword [rbx + 0x30]
call fcn.140053770
mov rcx, qword [rbx + 0x28]
call fcn.140053770
mov byte [rbx + 0x20], 0
movzx eax, sil
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14001f770
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
call fcn.140023c64
int3
call fcn.140023c64
int3
Function at 0x140041bc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, r8
call fcn.140041e30
test eax, eax
js 0x140041e24
mov ecx, dword [rbx + 0xf0]
lea eax, [rcx*4]
movsxd r9, eax
test eax, eax
jle 0x140041c53
lea r8, [rbx + 8]
xor r10d, r10d
lea r8, [r8 + r9*4]
lea rax, [rbx + 8]
nop dword [rax]
mov edx, dword [rax - 8]
add r10, 4
mov ecx, dword [r8 - 8]
lea r8, [r8 - 0x10]
mov dword [rax - 8], ecx
lea rax, [rax + 0x10]
mov ecx, dword [r8 + 0xc]
sub r9, 4
mov dword [r8 + 8], edx
mov edx, dword [rax - 0x14]
mov dword [rax - 0x14], ecx
mov ecx, dword [r8 + 0x10]
mov dword [r8 + 0xc], edx
mov edx, dword [rax - 0x10]
mov dword [rax - 0x10], ecx
mov ecx, dword [r8 + 0x14]
mov dword [r8 + 0x10], edx
mov edx, dword [rax - 0xc]
mov dword [rax - 0xc], ecx
mov dword [r8 + 0x14], edx
cmp r10, r9
jl 0x140041c00
mov ecx, dword [rbx + 0xf0]
mov r11d, 1
cmp ecx, r11d
jle 0x140041e22
mov qword [rsp + 0x30], rdi
lea r10, [rbx + 4]
lea rdi, [0x140000000]
nop dword [rax]
nop word [rax + rax]
mov r9d, dword [r10 + 0x10]
lea r10, [r10 + 0x10]
mov edx, dword [r10 - 4]
inc r11d
movzx eax, byte [r10 - 3]
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
mov eax, edx
shr rax, 0x18
mov r8d, dword [rdi + rcx*4 + 0x6cdd0]
movzx eax, byte [rdi + rax*4 + 0x6d9d0]
xor r8d, dword [rdi + rax*4 + 0x6d5d0]
movzx eax, dl
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
movzx eax, byte [r10 - 2]
xor r8d, dword [rdi + rcx*4 + 0x6c9d0]
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
mov eax, r9d
shr eax, 0x10
xor r8d, dword [rdi + rcx*4 + 0x6d1d0]
movzx ecx, al
mov eax, r9d
shr eax, 8
mov dword [r10 - 4], r8d
movzx edx, byte [rdi + rcx*4 + 0x6d9d0]
movzx ecx, al
mov r8d, dword [rdi + rdx*4 + 0x6d1d0]
movzx eax, byte [rdi + rcx*4 + 0x6d9d0]
xor r8d, dword [rdi + rax*4 + 0x6cdd0]
mov eax, r9d
shr rax, 0x18
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
movzx eax, r9b
mov r9d, dword [r10 + 4]
xor r8d, dword [rdi + rcx*4 + 0x6d5d0]
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
mov eax, r9d
shr eax, 0x10
xor r8d, dword [rdi + rcx*4 + 0x6c9d0]
movzx ecx, al
mov eax, r9d
shr eax, 8
mov dword [r10], r8d
movzx edx, byte [rdi + rcx*4 + 0x6d9d0]
movzx ecx, al
mov r8d, dword [rdi + rdx*4 + 0x6d1d0]
movzx eax, byte [rdi + rcx*4 + 0x6d9d0]
xor r8d, dword [rdi + rax*4 + 0x6cdd0]
mov eax, r9d
shr rax, 0x18
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
movzx eax, r9b
mov r9d, dword [r10 + 8]
xor r8d, dword [rdi + rcx*4 + 0x6d5d0]
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
mov eax, r9d
shr eax, 0x10
xor r8d, dword [rdi + rcx*4 + 0x6c9d0]
movzx ecx, al
mov eax, r9d
shr eax, 8
mov dword [r10 + 4], r8d
movzx edx, byte [rdi + rcx*4 + 0x6d9d0]
movzx ecx, al
mov r8d, dword [rdi + rdx*4 + 0x6d1d0]
movzx eax, byte [rdi + rcx*4 + 0x6d9d0]
xor r8d, dword [rdi + rax*4 + 0x6cdd0]
mov eax, r9d
shr rax, 0x18
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
movzx eax, r9b
xor r8d, dword [rdi + rcx*4 + 0x6d5d0]
movzx ecx, byte [rdi + rax*4 + 0x6d9d0]
xor r8d, dword [rdi + rcx*4 + 0x6c9d0]
mov dword [r10 + 8], r8d
cmp r11d, dword [rbx + 0xf0]
jl 0x140041c80
mov rdi, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x140042780
Capabilities:
Hash data with md5

Disassembly:
push rdi
sub rsp, 0x90
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0xa8], rbx
mov rax, qword [0x140081080]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rdi, rcx
mov qword [rsp + 0x50], rcx
xor edx, edx
lea r8d, [rdx + 0x5c]
add rcx, 4
call fcn.140021810
mov dword [rdi + 4], 0x67452301
mov dword [rdi + 8], 0xefcdab89
mov dword [rdi + 0xc], 0x98badcfe
mov dword [rdi + 0x10], 0x10325476
xor ebx, ebx
mov qword [rdi + 0xb0], rbx
mov qword [rdi + 0xb8], 0xf
mov byte [rdi + 0xa0], bl
mov qword [rdi + 0xd0], rbx
mov qword [rdi + 0xd8], 0xf
mov byte [rdi + 0xc0], bl
mov word [rdi], 0x101
mov word [rsp + 0x20], 0x33
movdqa xmm0, xmmword [0x1400755e0]
movdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], bl
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140042840
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x68]
call fcn.140019f10
nop
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
xor r8d, r8d
lea rdx, [0x140072590]
lea rcx, [rsp + 0x28]
call fcn.140019f10
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.140042600
nop
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x1400428d1
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400428cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400428f5
call fcn.14001f794
nop
mov rax, rdi
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14001f770
mov rbx, qword [rsp + 0xa8]
add rsp, 0x90
pop rdi
ret
call fcn.140023c64
nop
int3
Function at 0x140008250
Capabilities:
Hash data using crc32b

Disassembly:
xor r9d, r9d
lea r10, [0x14012acd0]
nop word [rax + rax]
xor eax, eax
test r9b, 1
je 0x14000826c
bts eax, 7
mov ecx, r9d
shr ecx, 1
test cl, 1
je 0x14000827a
bts eax, 6
shr ecx, 1
test cl, 1
je 0x140008285
bts eax, 5
shr ecx, 1
test cl, 1
je 0x140008290
bts eax, 4
shr ecx, 1
test cl, 1
je 0x14000829b
bts eax, 3
shr ecx, 1
test cl, 1
je 0x1400082a6
bts eax, 2
shr ecx, 1
test cl, 1
je 0x1400082b1
bts eax, 1
test cl, 2
je 0x1400082ba
bts eax, 0
shl eax, 0x18
lea ecx, [rax + rax]
mov edx, ecx
xor edx, 0x4c11db7
test eax, eax
cmovns edx, ecx
lea eax, [rdx + rdx]
mov ecx, eax
xor ecx, 0x4c11db7
test edx, edx
cmovns ecx, eax
lea eax, [rcx + rcx]
mov edx, eax
xor edx, 0x4c11db7
test ecx, ecx
cmovns edx, eax
lea eax, [rdx + rdx]
mov ecx, eax
xor ecx, 0x4c11db7
test edx, edx
cmovns ecx, eax
lea eax, [rcx + rcx]
mov edx, eax
xor edx, 0x4c11db7
test ecx, ecx
cmovns edx, eax
lea eax, [rdx + rdx]
mov ecx, eax
xor ecx, 0x4c11db7
test edx, edx
cmovns ecx, eax
lea eax, [rcx + rcx]
mov edx, eax
xor edx, 0x4c11db7
test ecx, ecx
cmovns edx, eax
lea eax, [rdx + rdx]
mov r8d, eax
xor r8d, 0x4c11db7
test edx, edx
cmovns r8d, eax
xor ecx, ecx
lea edx, [rcx + 0x1e]
test r8b, 1
je 0x140008351
lea eax, [rdx + 1]
bts ecx, eax
sar r8d, 1
test r8b, 1
je 0x14000835d
bts ecx, edx
sar r8d, 1
sub edx, 2
cmp edx, 0xfffffffe
jg 0x140008345
mov dword [r10], ecx
inc r9d
add r10, 4
cmp r9d, 0x100
jl 0x140008260
mov dword [0x14012acc0], 1
ret
Function at 0x14000b1a0
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 0x14000b1cf
xor eax, eax
jmp 0x14000b387
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 0x14000b348
mov ecx, dword [rdi + 0x1c]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0xa4]
jne 0x14000b348
mov ecx, dword [rdi + 0x20]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0x9c]
jne 0x14000b348
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbx + 0xa0]
jne 0x14000b348
mov eax, dword [rbx + 0x1c]
cmp dword [rdi + 0x28], eax
jne 0x14000b348
mov edx, 1
mov r8b, 0xff
mov rcx, rbx
call fcn.14000b3a0
cmp rsi, qword [rbx + 0x48]
jae 0x14000b255
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 0x14000b28f
cmp eax, esi
mov ecx, eax
cmova ecx, esi
cmp ecx, dword [rbx + 0xd0]
jae 0x14000b29d
mov dword [rbx + 0xd0], ecx
mov ecx, dword [rdi + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, esi
jb 0x14000b2b6
mov ecx, 0x10000
mov esi, eax
cmp eax, ecx
cmova esi, ecx
cmp esi, dword [rbx + 0xd4]
jae 0x14000b2c4
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 rcx, rbx
mov dword [rbp + 0x24], 1
test r14, r14
je 0x14000b310
call fcn.1400088c0
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 0x14000b382
xor edi, edi
cmp dword [rbx + 0x38], 1
sete dil
add edi, 3
call fcn.1400088f0
cmp dword [rbx + 0x140], 0
mov dword [rbx + 0x38], edi
jne 0x14000b344
lea rcx, [rbp + 0x48]
mov rdx, rbx
call fcn.140008070
mov dword [rbx + 0x140], 1
xor eax, eax
jmp 0x14000b382
xor edi, edi
mov rcx, rbx
mov dword [rbx + 0x1c8], edi
call fcn.1400088f0
mov dword [rbx + 0x38], 9
cmp dword [rbx + 0x140], edi
jne 0x14000b37d
lea rcx, [rbp + 0x48]
mov rdx, rbx
call fcn.140008070
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 0x14000c260
Capabilities:
Resolve dns

Disassembly:
push rbx
push r14
sub rsp, 0x58
mov rax, qword [0x1401279c8]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, rcx
mov rbx, rdx
mov rcx, rdx
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
je 0x14000c2a5
cmp word [rax + 0x10], 2
jne 0x14000c2a5
mov rax, qword [rax + 0x18]
mov rcx, qword [rax]
mov eax, dword [rcx]
mov dword [r14], eax
xor eax, eax
jmp 0x14000c359
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x50], rsi
xor esi, esi
mov qword [rsp + 0x48], rdi
mov ebp, esi
mov qword [rsp + 0x40], r15
mov edi, esi
mov dword [rsp + 0x28], 0
lea r15d, [rsi + 0x2e]
nop
lea rdx, [rbx + 1]
mov qword [rsp + 0x20], rdx
cmp byte [rbx], 0x30
je 0x14000c313
mov r8d, 0xa
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp eax, 0xff
ja 0x14000c33b
mov rdx, qword [rsp + 0x20]
cmp rdx, rbx
je 0x14000c33b
mov rcx, rdx
sub rcx, rbx
cmp rcx, 3
jg 0x14000c33b
mov byte [rsp + rdi + 0x28], al
movsx eax, byte [rdx]
cmp ebp, 3
mov ecx, esi
cmovl ecx, r15d
cmp eax, ecx
jne 0x14000c33b
inc ebp
lea rbx, [rdx + 1]
inc rdi
cmp rdi, 4
jl 0x14000c2d0
mov eax, dword [rsp + 0x28]
mov dword [r14], eax
jmp 0x14000c340
mov esi, 0xffffffff
mov r15, qword [rsp + 0x40]
mov eax, esi
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400e04f0
add rsp, 0x58
pop r14
pop rbx
ret

Function at 0x14000c380
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x1d8
mov rax, qword [0x1401279c8]
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 0x14000c3e9
movzx eax, word [rsp + 0x20]
cmp al, 1
jne 0x14000c3e3
shr ax, 8
cmp al, 1
jne 0x14000c3e3
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
xor eax, eax
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1400e04f0
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.1400e04f0
add rsp, 0x1d8
ret

Function at 0x14000c4e0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rbx
sub rsp, 0x40
mov rax, qword [0x1401279c8]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rdx
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x20]
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, 0xffffffff
jne 0x14000c528
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400e04f0
add rsp, 0x40
pop rbx
ret
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x2a]
mov dword [rbx], eax
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rbx + 4], ax
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400e04f0
add rsp, 0x40
pop rbx
ret
Function at 0x14000c560
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbx
sub rsp, 0x80
mov rax, qword [0x1401279c8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r11, r9
mov dword [rsp + 0x54], reloc.WS2_32.dll_recv
mov rbx, rdx
lea r9, [rsp + 0x54]
xor edx, edx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rdx
mov r10, r8
mov qword [rsp + 0x38], rdx
test rbx, rbx
mov dword [rsp + 0x50], edx
mov r8d, r11d
cmove r9, rdx
cmove rax, rdx
mov qword [rsp + 0x30], r9
mov rdx, r10
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x58]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_WSARecvFrom]
cmp eax, 0xffffffff
jne 0x14000c5ee
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2733
je 0x14000c5ea
cmp eax, 0x13
jne 0x14000c5f8
xor eax, eax
jmp 0x14000c61d
test dword [rsp + 0x50], 0x8000
je 0x14000c5ff
mov eax, 0xffffffff
jmp 0x14000c61d
test rbx, rbx
je 0x14000c619
mov eax, dword [rsp + 0x64]
movzx ecx, word [rsp + 0x62]
mov dword [rbx], eax
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rbx + 4], ax
mov eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400e04f0
add rsp, 0x80
pop rbx
ret

Function at 0x14000c640
Capabilities:
Send data
Send data on socket

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x70
mov rax, qword [0x1401279c8]
xor rax, rsp
mov qword [rsp + 0x68], rax
xor r14d, r14d
mov rbp, r9
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
test rdx, rdx
je 0x14000c692
movzx ecx, word [rdx + 4]
mov eax, 2
mov word [rsp + 0x58], ax
mov qword [rsp + 0x60], r14
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x5a], ax
mov eax, dword [rbx]
mov dword [rsp + 0x5c], eax
mov qword [rsp + 0x40], r14
mov rax, rbx
neg rax
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x58]
mov r8d, ebp
sbb r9d, r9d
mov rdx, rsi
and r9d, 0x10
mov rcx, rdi
mov dword [rsp + 0x30], r9d
test rbx, rbx
lea r9, [rsp + 0x50]
cmove rax, r14
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
call qword [sym.imp.WS2_32.dll_WSASendTo]
cmp eax, 0xffffffff
jne 0x14000c6ee
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2733
neg eax
sbb eax, eax
jmp 0x14000c6f2
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400e04f0
add rsp, 0x70
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret