joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401321b0
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub rsp, 0x28
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x140132200
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x1401321d4
mov dword [reloc.WS2_32.dll_accept], eax
jmp 0x140132200
call fcn.1400d9c50
test rax, rax
je 0x1401321f7
mov r8, qword [rax + 0x18]
test r8, r8
je 0x1401321f7
xorps xmm2, xmm2
lea rcx, [rsp + 0x38]
mov edx, 8
call r8
cmp dword [reloc.WS2_32.dll_accept], 0
jne 0x14013222d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x30], eax
call fcn.1400d9c50
test rax, rax
je 0x14013222d
mov r8, qword [rax + 0x18]
test r8, r8
je 0x14013222d
xorps xmm2, xmm2
lea rcx, [rsp + 0x30]
mov edx, 4
call r8
add rsp, 0x28
ret

Function at 0x140147870
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
test r8, r8
jne 0x14014789f
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
test rcx, rcx
je 0x140147934
test rdx, rdx
je 0x1401478f8
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x28], r8
call fcn.1400f4b30
test rax, rax
jne 0x140147920
lea rdx, [0x14026d634]
sub rdx, rbx
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x1401478e6
inc rbx
test eax, eax
jne 0x1401478d4
test ecx, ecx
jne 0x1401478f8
mov rcx, rdi
call qword [sym.imp.MSVCR120.dll_getenv]
test rax, rax
jne 0x14014793d
mov rcx, qword [rsi + 0x10]
lea rax, [0x14029d4d8]
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdi
call fcn.1400f4b30
test rax, rax
je 0x14014788d
mov rax, qword [rax + 0x10]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov rcx, r8
call qword [sym.imp.MSVCR120.dll_getenv]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
Function at 0x140150a90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x140264330]
xor rax, rsp
mov qword [rsp + 0x38], rax
movzx edi, byte [rcx]
mov r12, qword [rcx + 0x28]
mov r13, qword [rcx + 0x30]
mov rbp, r9
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov byte [rsp + 0x20], dil
test dil, 0x40
jne 0x140150adf
lea rdx, [rcx + 0x10]
mov r8, r13
call r12
movzx eax, dil
mov edi, reloc.WS2_32.dll_ntohs
xor esi, esi
and eax, 7
mov r8d, edi
mov ecx, esi
sub r8d, eax
mov byte [rbx], al
mov dword [rsp + 0x24], r8d
cmp r8d, edi
jae 0x140150b26
mov edx, r8d
add rdx, rbx
sub edi, r8d
nop word [rax + rax]
movzx eax, byte [rdx]
mov byte [rdx], sil
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
dec rdi
jne 0x140150b10
movzx eax, byte [rbx + 0xf]
mov byte [rbx + 0xf], 1
or rcx, rax
cmp rcx, rbp
je 0x140150b3e
or eax, 0xffffffff
jmp 0x140150c3d
cmp rbp, 0x10
jb 0x140150bac
mov rsi, rbp
shr rsi, 4
imul rax, rsi, 0xfffffffffffffff0
add rbp, rax
lea rdx, [rsp + 0x28]
mov r8, r13
mov rcx, rbx
call r12
mov eax, 8
dec eax
inc byte [rax + rbx + 8]
jne 0x140150b71
test eax, eax
jne 0x140150b65
mov rax, qword [r14]
lea rdx, [rbx + 0x10]
lea rcx, [rbx + 0x10]
xor rax, qword [rsp + 0x28]
mov r8, r13
mov qword [r15], rax
xor qword [rbx + 0x10], rax
mov rax, qword [r14 + 8]
xor rax, qword [rsp + 0x30]
mov qword [r15 + 8], rax
xor qword [rbx + 0x18], rax
call r12
add r14, 0x10
add r15, 0x10
dec rsi
jne 0x140150b52
test rbp, rbp
je 0x140150bfa
lea rdx, [rsp + 0x28]
mov r8, r13
mov rcx, rbx
call r12
test rbp, rbp
je 0x140150bed
mov rdx, rsi
nop word [rax + rax]
movzx ecx, byte [rdx + r14]
movzx eax, byte [rsp + rdx + 0x28]
inc esi
xor ecx, eax
mov byte [rdx + r15], cl
xor byte [rdx + rbx + 0x10], cl
mov edx, esi
cmp rdx, rbp
jb 0x140150bd0
lea rcx, [rbx + 0x10]
mov r8, r13
mov rdx, rcx
call r12
mov ecx, dword [rsp + 0x24]
cmp ecx, 0x10
jae 0x140150c14
mov eax, reloc.WS2_32.dll_recv
lea rdi, [rbx + rcx]
sub eax, ecx
mov ecx, eax
xor eax, eax
rep stosb byte [rdi], al
lea rdx, [rsp + 0x28]
mov r8, r13
mov rcx, rbx
call r12
mov rax, qword [rsp + 0x28]
xor qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x30]
xor qword [rbx + 0x18], rax
movzx eax, byte [rsp + 0x20]
mov byte [rbx], al
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1401bb2c0
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140150f20
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov rax, qword [0x140264330]
xor rax, rsp
mov qword [rsp + 0x58], rax
movzx edi, byte [rcx]
mov r10, qword [rsp + 0xd0]
mov rax, qword [rcx + 0x28]
mov r15, qword [rcx + 0x30]
mov rbp, r9
mov r13, r8
mov r12, rdx
mov rbx, rcx
mov qword [rsp + 0x40], r10
mov byte [rsp + 0x30], dil
mov qword [rsp + 0x38], rax
test dil, 0x40
jne 0x140150f82
lea rdx, [rcx + 0x10]
mov r8, r15
call rax
mov r10, qword [rsp + 0x40]
movzx eax, dil
mov edi, reloc.WS2_32.dll_ntohs
xor esi, esi
and eax, 7
mov r14d, edi
mov ecx, esi
sub r14d, eax
mov byte [rbx], al
cmp r14d, edi
jae 0x140150fc6
mov edx, r14d
add rdx, rbx
sub edi, r14d
nop dword [rax + rax]
movzx eax, byte [rdx]
mov byte [rdx], sil
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
dec rdi
jne 0x140150fb0
movzx eax, byte [rbx + 0xf]
mov byte [rbx + 0xf], 1
or rcx, rax
cmp rcx, rbp
je 0x140150fde
or eax, 0xffffffff
jmp 0x1401510eb
mov rdi, rbp
shr rdi, 4
test rdi, rdi
je 0x140151061
lea rax, [rbx + 0x10]
mov r9, r15
mov r8, rdi
mov qword [rsp + 0x28], rax
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], rbx
call r10
shl rdi, 4
add r12, rdi
add r13, rdi
sub rbp, rdi
je 0x1401510a9
lea r9, [rbx + 8]
shr rdi, 4
mov rdx, rsi
lea r8, [r9 + 8]
neg r9
nop dword [rax]
movzx eax, byte [r8 - 1]
lea r8, [r8 - 1]
movzx ecx, dil
add rdx, rax
lea rax, [r9 + r8]
shr rdi, 8
add rdx, rcx
mov byte [r8], dl
shr rdx, 8
test rax, rax
je 0x140151061
test rdi, rdi
jne 0x140151030
test rdx, rdx
jne 0x140151030
test rbp, rbp
je 0x1401510a9
mov rdi, qword [rsp + 0x38]
lea rdx, [rsp + 0x48]
mov r8, r15
mov rcx, rbx
call rdi
test rbp, rbp
je 0x14015109d
mov rdx, rsi
movzx ecx, byte [rdx + r12]
movzx eax, byte [rsp + rdx + 0x48]
inc esi
xor ecx, eax
mov byte [rdx + r13], cl
xor byte [rdx + rbx + 0x10], cl
mov edx, esi
cmp rdx, rbp
jb 0x140151080
lea rcx, [rbx + 0x10]
mov r8, r15
mov rdx, rcx
call rdi
cmp r14d, 0x10
jae 0x1401510c1
mov ecx, reloc.WS2_32.dll_recv
mov edi, r14d
add rdi, rbx
sub ecx, r14d
xor eax, eax
rep stosb byte [rdi], al
lea rdx, [rsp + 0x48]
mov r8, r15
mov rcx, rbx
call qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
xor qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x50]
xor qword [rbx + 0x18], rax
movzx eax, byte [rsp + 0x30]
mov byte [rbx], al
xor eax, eax
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401bb2c0
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140151460
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
sub rsp, 0x20
mov r13, qword [rcx + 0x160]
xor r14d, r14d
mov rsi, r8
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x40], r14
mov qword [rcx + 0x48], r14
mov qword [rcx + 0x30], r14
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x170], r14
mov rdi, rdx
mov rbx, rcx
cmp r8, 0xc
jne 0x1401514be
movsd xmm0, qword [rdx]
lea edi, [r8 - 0xb]
movsd qword [rcx], xmm0
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov byte [rcx + 0xf], 1
jmp 0x140151619
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], r8
mov rbp, r8
cmp r8, 0x10
jb 0x140151572
mov qword [rsp + 0x60], r12
shr rbp, 4
mov r12, rcx
mov qword [rsp + 0x68], r15
neg r12
lea r15, [rcx + 0xf]
imul rax, rbp, 0xfffffffffffffff0
add rsi, rax
nop dword [rax]
nop dword [rax + rax]
lea r8, [r12 + rdi]
lea rax, [r8 + r15]
cmp rbx, rax
ja 0x140151540
cmp r15, rdi
jb 0x140151540
mov rax, rbx
mov edx, reloc.WS2_32.dll_recv
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
lea rax, [rax + 1]
xor byte [rax - 1], cl
dec rdx
jne 0x140151520
jmp 0x140151550
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
lea rdx, [rbx + 0x60]
mov rcx, rbx
call r13
add rdi, 0x10
dec rbp
jne 0x140151500
mov rbp, qword [rsp + 0x50]
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
test rsi, rsi
je 0x1401515fa
cmp rsi, 0x10
jb 0x1401515cf
lea rax, [rdi - 1]
lea rcx, [rbx - 1]
add rax, rsi
add rcx, rsi
cmp rbx, rax
ja 0x140151599
cmp rcx, rdi
jae 0x1401515cf
mov rax, rsi
mov rcx, rsi
mov rdx, rdi
and eax, 0xf
sub rcx, rax
mov rax, rbx
sub rdx, rbx
nop
movdqu xmm1, xmmword [rax + rdx]
movdqu xmm0, xmmword [rax]
add r14, 0x10
lea rax, [rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x10], xmm1
cmp r14, rcx
jb 0x1401515b0
cmp r14, rsi
jae 0x1401515f0
sub rdi, rbx
lea rcx, [r14 + rbx]
sub rsi, r14
nop
movzx eax, byte [rcx + rdi]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rsi
jne 0x1401515e0
lea rdx, [rbx + 0x60]
mov rcx, rbx
call r13
shl rbp, 3
lea rdx, [rbx + 0x60]
mov rcx, rbx
bswap rbp
xor qword [rbx + 8], rbp
call r13
mov edi, dword [rbx + 0xc]
mov rbp, qword [rsp + 0x58]
bswap edi
mov r8, qword [rbx + 0x180]
lea rdx, [rbx + 0x20]
mov rcx, rbx
call qword [rbx + 0x178]
inc edi
bswap edi
mov dword [rbx + 0xc], edi
add rsp, 0x20
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret
Function at 0x140151640
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push r14
push r15
sub rsp, 0x20
cmp qword [rcx + 0x38], 0
mov r15, qword [rcx + 0x168]
mov rbx, r8
mov r8, qword [rcx + 0x160]
mov r14, rdx
mov rsi, rcx
je 0x140151680
mov eax, 0xfffffffe
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rsi
ret
mov rcx, qword [rcx + 0x30]
movabs rax, 0x2000000000000000
add rcx, rbx
cmp rcx, rax
ja 0x14015174e
cmp rcx, rbx
jb 0x14015174e
mov qword [rsp + 0x48], rdi
mov edi, dword [rsi + 0x174]
mov qword [rsi + 0x30], rcx
test edi, edi
je 0x1401516e3
test rbx, rbx
je 0x1401516d4
movzx eax, byte [r14]
mov ecx, edi
inc r14
xor byte [rcx + rsi + 0x40], al
dec rbx
inc edi
and edi, 0xf
jne 0x1401516b6
jmp 0x1401516d8
test edi, edi
jne 0x140151732
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
call r8
mov qword [rsp + 0x40], rbp
mov rbp, rbx
and rbp, 0xfffffffffffffff0
je 0x140151708
lea rdx, [rsi + 0x60]
lea rcx, [rsi + 0x40]
mov r9, rbp
mov r8, r14
call r15
add r14, rbp
sub rbx, rbp
mov rbp, qword [rsp + 0x40]
test rbx, rbx
je 0x140151732
mov edi, ebx
lea rcx, [rsi + 0x40]
sub r14, rsi
nop dword [rax + rax]
movzx eax, byte [r14 + rcx - 0x40]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rbx
jne 0x140151720
mov dword [rsi + 0x174], edi
mov rdi, qword [rsp + 0x48]
xor eax, eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rsi
ret
or eax, 0xffffffff
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rsi
ret
Function at 0x140151cf0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rdi
push r14
push r15
sub rsp, 0x50
mov rax, qword [rcx + 0x180]
mov rdi, qword [rcx + 0x160]
mov rbx, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x168]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x38], rax
add rcx, r9
movabs rax, 0xfffffffe0
mov r14, r9
mov r15, r8
mov rbp, rdx
cmp rcx, rax
ja 0x140151f3d
cmp rcx, r9
jb 0x140151f3d
cmp dword [rbx + 0x174], 0
mov qword [rsp + 0x88], rsi
mov qword [rbx + 0x38], rcx
mov qword [rsp + 0x48], r12
je 0x140151d78
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call rdi
mov dword [rbx + 0x174], 0
mov esi, dword [rbx + 0x170]
mov r12d, dword [rbx + 0xc]
bswap r12d
mov dword [rsp + 0x80], esi
test esi, esi
je 0x140151dd2
test r14, r14
je 0x140151dc0
mov ecx, esi
inc r15
inc rbp
movzx eax, byte [rcx + rbx + 0x10]
dec r14
xor al, byte [rbp - 1]
mov byte [r15 - 1], al
xor byte [rcx + rbx + 0x40], al
inc esi
and esi, 0xf
mov dword [rsp + 0x80], esi
jne 0x140151d90
jmp 0x140151dc8
test esi, esi
jne 0x140151f1c
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call rdi
mov r10, qword [rsp + 0xa0]
mov qword [rsp + 0x40], r13
cmp r14, 0xc00
jb 0x140151e85
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
mov rdi, rdx
shr rdi, 0xb
imul rax, rdi, 0xfffffffffffff400
add r14, rax
mov qword [rsp + 0x98], r14
mov r14, qword [rsp + 0x30]
nop word [rax + rax]
mov r9, r14
mov r8d, 0xc0
mov rdx, r15
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call r10
add r12d, 0xc0
lea rdx, [rbx + 0x60]
mov eax, r12d
lea rcx, [rbx + 0x40]
mov r9d, 0xc00
bswap eax
mov r8, r15
mov dword [rbx + 0xc], eax
call qword [rsp + 0x38]
mov r10, qword [rsp + 0xa0]
add r15, 0xc00
add rbp, 0xc00
dec rdi
jne 0x140151e20
mov esi, dword [rsp + 0x80]
mov r14, qword [rsp + 0x98]
mov r13, r14
and r13, 0xfffffffffffffff0
je 0x140151ed1
mov r9, qword [rsp + 0x30]
mov rdi, r13
mov rdx, r15
shr rdi, 4
mov rcx, rbp
mov qword [rsp + 0x20], rbx
mov r8, rdi
call r10
add r12d, edi
lea rdx, [rbx + 0x60]
mov eax, r12d
lea rcx, [rbx + 0x40]
mov r9, r13
bswap eax
mov r8, r15
add rbp, r13
mov dword [rbx + 0xc], eax
sub r14, r13
call qword [rsp + 0x38]
add r15, r13
mov r13, qword [rsp + 0x40]
test r14, r14
je 0x140151f1c
mov r8, qword [rsp + 0x30]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rbx + 0x178]
inc r12d
bswap r12d
mov dword [rbx + 0xc], r12d
nop word [rax + rax]
mov ecx, esi
inc esi
movzx edx, byte [rcx + rbp]
movzx eax, byte [rcx + rbx + 0x10]
xor edx, eax
mov byte [rcx + r15], dl
xor byte [rcx + rbx + 0x40], dl
dec r14
jne 0x140151f00
mov r12, qword [rsp + 0x48]
mov dword [rbx + 0x170], esi
mov rsi, qword [rsp + 0x88]
xor eax, eax
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rbp
pop rbx
ret
or eax, 0xffffffff
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rbp
pop rbx
ret
Function at 0x140151f50
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rdi
push r14
push r15
sub rsp, 0x50
mov rax, qword [rcx + 0x180]
mov rdi, qword [rcx + 0x160]
mov rbx, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x168]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x38], rax
add rcx, r9
movabs rax, 0xfffffffe0
mov r14, r9
mov rbp, r8
mov r15, rdx
cmp rcx, rax
ja 0x14015217d
cmp rcx, r9
jb 0x14015217d
cmp dword [rbx + 0x174], 0
mov qword [rsp + 0x88], rsi
mov qword [rbx + 0x38], rcx
mov qword [rsp + 0x48], r12
je 0x140151fd8
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call rdi
mov dword [rbx + 0x174], 0
mov esi, dword [rbx + 0x170]
mov r12d, dword [rbx + 0xc]
bswap r12d
mov dword [rsp + 0x80], esi
test esi, esi
je 0x140152034
test r14, r14
je 0x140152022
movzx edx, byte [r15]
mov ecx, esi
inc rbp
movzx eax, byte [rcx + rbx + 0x10]
inc r15
dec r14
xor al, dl
mov byte [rbp - 1], al
xor byte [rcx + rbx + 0x40], dl
inc esi
and esi, 0xf
mov dword [rsp + 0x80], esi
jne 0x140151ff0
jmp 0x14015202a
test esi, esi
jne 0x14015215c
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call rdi
mov qword [rsp + 0x40], r13
mov r13, qword [rsp + 0xa0]
cmp r14, 0xc00
jb 0x1401520c7
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
mov rdi, rdx
shr rdi, 0xb
imul rax, rdi, 0xfffffffffffff400
add r14, rax
nop dword [rax + rax]
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
mov r9d, 0xc00
mov r8, r15
call qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
mov r8d, 0xc0
mov rdx, rbp
mov rcx, r15
mov qword [rsp + 0x20], rbx
call r13
add r12d, 0xc0
add rbp, 0xc00
mov eax, r12d
add r15, 0xc00
bswap eax
mov dword [rbx + 0xc], eax
dec rdi
jne 0x140152070
mov esi, dword [rsp + 0x80]
mov r13, r14
and r13, 0xfffffffffffffff0
je 0x140152117
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
mov rdi, r13
mov r9, r13
mov r8, r15
shr rdi, 4
call qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
mov r8, rdi
mov rdx, rbp
mov rcx, r15
mov qword [rsp + 0x20], rbx
call qword [rsp + 0xa0]
add r12d, edi
add rbp, r13
mov eax, r12d
add r15, r13
sub r14, r13
bswap eax
mov dword [rbx + 0xc], eax
mov r13, qword [rsp + 0x40]
test r14, r14
je 0x14015215c
mov r8, qword [rsp + 0x30]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rbx + 0x178]
inc r12d
bswap r12d
mov dword [rbx + 0xc], r12d
nop dword [rax]
mov edx, esi
inc esi
movzx ecx, byte [rdx + r15]
movzx eax, byte [rdx + rbx + 0x10]
xor byte [rdx + rbx + 0x40], cl
xor al, cl
mov byte [rdx + rbp], al
dec r14
jne 0x140152140
mov r12, qword [rsp + 0x48]
mov dword [rbx + 0x170], esi
mov rsi, qword [rsp + 0x88]
xor eax, eax
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rbp
pop rbx
ret
or eax, 0xffffffff
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rbp
pop rbx
ret
Function at 0x140152300
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp dword [rsp + 0x90], 0
mov r15, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x80]
mov ebx, dword [r15]
mov r10, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
je 0x14015246f
test ebx, ebx
je 0x140152377
nop word [rax + rax]
test rdi, rdi
je 0x140152377
movzx eax, byte [r14]
mov ecx, ebx
inc rsi
movzx edx, byte [rcx + rbp]
inc r14
dec rdi
xor edx, eax
inc ebx
mov byte [rcx + rbp], dl
mov byte [rsi - 1], dl
and ebx, 0xf
jne 0x140152350
mov r9, qword [rsp + 0x98]
cmp rdi, 0x10
jb 0x140152433
mov r15, rsi
mov r13, rdi
mov r12, r14
shr r13, 4
sub r15, rbp
sub r12, rbp
imul rax, r13, 0xfffffffffffffff0
add rdi, rax
mov rax, r13
shl rax, 4
add rsi, rax
add r14, rax
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsp + 0x78]
nop word [rax + rax]
mov r8, rsi
mov rdx, rbp
mov rcx, rbp
call r9
cmp ebx, 0x10
jae 0x14015240a
mov edx, reloc.WS2_32.dll_ntohs
mov ecx, ebx
sub edx, ebx
add rcx, rbp
shr edx, 3
inc edx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r12 + rcx]
lea rcx, [rcx + 8]
xor qword [rcx - 8], rax
mov rax, qword [rcx - 8]
mov qword [r15 + rcx - 8], rax
dec rdx
jne 0x1401523f0
mov r9, qword [rsp + 0x98]
add r15, 0x10
add r12, 0x10
xor ebx, ebx
dec r13
jne 0x1401523c0
mov rsi, qword [rsp + 0x68]
mov r10, qword [rsp + 0x78]
mov r15, qword [rsp + 0x88]
test rdi, rdi
je 0x14015257a
mov r8, r10
mov rdx, rbp
mov rcx, rbp
call r9
nop dword [rax + rax]
mov edx, ebx
inc ebx
movzx ecx, byte [rdx + r14]
movzx eax, byte [rdx + rbp]
xor ecx, eax
mov byte [rdx + rbp], cl
mov byte [rdx + rsi], cl
dec rdi
jne 0x140152450
jmp 0x14015257a
test ebx, ebx
je 0x14015249a
test rdi, rdi
je 0x14015249a
movzx edx, byte [r14]
mov ecx, ebx
inc rsi
movzx eax, byte [rcx + rbp]
inc r14
dec rdi
xor al, dl
inc ebx
mov byte [rsi - 1], al
mov byte [rcx + rbp], dl
and ebx, 0xf
jne 0x140152473
mov r13, qword [rsp + 0x98]
cmp rdi, 0x10
jb 0x140152544
mov r12, rdi
mov r15, rsi
shr r12, 4
sub r15, rbp
imul rax, r12, 0xfffffffffffffff0
add rdi, rax
mov qword [rsp + 0x70], rdi
mov rdi, qword [rsp + 0x78]
nop word [rax + rax]
mov r8, rdi
mov rdx, rbp
mov rcx, rbp
call r13
cmp ebx, 0x10
jae 0x14015251f
mov r9d, reloc.WS2_32.dll_ntohs
mov r8d, ebx
mov r10, r14
sub r9d, ebx
add r8, rbp
sub r10, rsi
shr r9d, 3
inc r9d
nop dword [rax]
lea rcx, [r15 + r8]
lea r8, [r8 + 8]
mov rdx, qword [rcx + r10]
mov rax, rdx
xor rax, qword [r8 - 8]
mov qword [rcx], rax
mov qword [r8 - 8], rdx
dec r9
jne 0x140152500
add rsi, 0x10
add r15, 0x10
add r14, 0x10
xor ebx, ebx
dec r12
jne 0x1401524d0
mov rdi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov r15, qword [rsp + 0x88]
test rdi, rdi
je 0x14015257a
mov r8, r10
mov rdx, rbp
mov rcx, rbp
call r13
nop word [rax + rax]
mov ecx, ebx
inc ebx
movzx edx, byte [rcx + r14]
movzx eax, byte [rcx + rbp]
xor al, dl
mov byte [rcx + rsi], al
mov byte [rcx + rbp], dl
dec rdi
jne 0x140152560
mov dword [r15], ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140152d50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x40
mov r15, qword [rsp + 0xb0]
mov rbp, rdx
mov rdx, qword [rsp + 0xa8]
mov ebx, dword [r15]
mov r10, r9
mov rdi, r8
mov r12, rcx
test ebx, ebx
je 0x140152da9
test rdi, rdi
je 0x140152da9
mov eax, ebx
inc rbp
inc r12
movzx ecx, byte [rax + rdx]
dec rdi
xor cl, byte [r12 - 1]
inc ebx
mov byte [rbp - 1], cl
and ebx, 0xf
jne 0x140152d86
mov r9, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xa0]
mov esi, reloc.WS2_32.dll_recv
mov qword [rsp + 0x38], r14
cmp rdi, rsi
jb 0x140152ea4
mov rcx, rdi
mov r14, rbp
mov r15, r12
shr rcx, 4
sub r14, rdx
sub r15, rdx
imul rax, rcx, 0xfffffffffffffff0
add rdi, rax
mov rax, rcx
shl rax, 4
mov qword [rsp + 0x90], rdi
mov rdi, qword [rsp + 0x98]
add rbp, rax
add r12, rax
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], rbp
mov rbp, qword [rsp + 0xa8]
mov r12, rcx
nop
mov r8, rdi
mov rdx, rbp
mov rcx, r13
call r9
mov edx, esi
nop
dec edx
inc byte [rdx + r13]
jne 0x140152e3c
test edx, edx
jne 0x140152e30
cmp ebx, esi
jae 0x140152e67
mov edx, reloc.WS2_32.dll_ntohs
mov eax, ebx
sub edx, ebx
add rax, rbp
shr edx, 3
inc edx
mov rcx, qword [r15 + rax]
lea rax, [rax + 8]
xor rcx, qword [rax - 8]
mov qword [r14 + rax - 8], rcx
dec rdx
jne 0x140152e51
mov r9, qword [rsp + 0xb8]
add r14, rsi
add r15, rsi
xor ebx, ebx
dec r12
jne 0x140152e20
mov rdi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov r10, qword [rsp + 0x98]
mov r15, qword [rsp + 0xb0]
test rdi, rdi
je 0x140152ee5
mov r14, qword [rsp + 0xa8]
mov r8, r10
mov rcx, r13
mov rdx, r14
call r9
nop dword [rax]
dec esi
inc byte [rsi + r13]
jne 0x140152ed0
test esi, esi
jne 0x140152ec0
nop dword [rax]
mov ecx, ebx
inc ebx
movzx eax, byte [rcx + r12]
xor al, byte [rcx + r14]
mov byte [rcx + rbp], al
dec rdi
jne 0x140152ed0
mov dword [r15], ebx
mov r14, qword [rsp + 0x38]
add rsp, 0x40
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x140152f00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, r8
mov r8, qword [rsp + 0xa0]
mov r14, rdx
mov edi, dword [r8]
mov rbp, rcx
mov dword [rsp + 0x80], edi
test edi, edi
je 0x140152f69
mov rdx, qword [rsp + 0x98]
nop dword [rax + rax]
test rbx, rbx
je 0x140152f62
mov eax, edi
inc r14
inc rbp
movzx ecx, byte [rax + rdx]
dec rbx
xor cl, byte [rbp - 1]
inc edi
mov byte [r14 - 1], cl
and edi, 0xf
jne 0x140152f40
mov dword [rsp + 0x80], edi
mov r13, qword [rsp + 0x90]
mov r10, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rsi
mov r12d, dword [r13 + 0xc]
mov r15d, reloc.WS2_32.dll_inet_ntoa
bswap r12d
cmp rbx, 0x10
jb 0x140153029
mov rdi, qword [rsp + 0x88]
mov eax, 0x10000000
mov rsi, rbx
shr rsi, 4
cmp rsi, rax
cmova rsi, rax
add r12d, esi
mov eax, r12d
cmp rax, rsi
jae 0x140152fc1
sub rsi, rax
xor r12d, r12d
mov r9, rdi
mov r8, rsi
mov rdx, r14
mov rcx, rbp
mov qword [rsp + 0x20], r13
call r10
mov eax, r12d
bswap eax
mov dword [r13 + 0xc], eax
test r12d, r12d
jne 0x140152ff2
mov edx, r15d
dec edx
inc byte [rdx + r13]
jne 0x140152ff2
test edx, edx
jne 0x140152fe6
mov r10, qword [rsp + 0xa8]
shl rsi, 4
mov eax, 0x10000000
sub rbx, rsi
add r14, rsi
add rbp, rsi
cmp rbx, 0x10
jae 0x140152fa2
mov edi, dword [rsp + 0x80]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x88]
test rbx, rbx
je 0x140153090
mov rsi, qword [rsp + 0x98]
xor eax, eax
mov qword [rsp + 0x20], r13
mov qword [rsi], rax
lea r8d, [rax + 1]
mov rdx, rsi
mov rcx, rsi
mov qword [rsi + 8], rax
call r10
inc r12d
bswap r12d
mov dword [r13 + 0xc], r12d
jne 0x140153070
nop dword [rax]
dec r15d
inc byte [r15 + r13]
jne 0x140153070
test r15d, r15d
jne 0x140153060
nop
mov ecx, edi
inc edi
movzx eax, byte [rcx + rbp]
xor al, byte [rcx + rsi]
mov byte [rcx + r14], al
dec rbx
jne 0x140153070
mov rax, qword [rsp + 0xa0]
mov dword [rax], edi
jmp 0x140153093
mov dword [r8], edi
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret