Function at 0x140024960
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x160
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1a0], rbx
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov byte [rsp + 0x190], 0
mov byte [rsp + 0x20], 0
xor eax, eax
mov qword [rsp + 0x21], rax
mov qword [rsp + 0x29], rax
mov qword [rsp + 0x31], rax
mov dword [rsp + 0x39], eax
mov word [rsp + 0x3d], ax
mov byte [rsp + 0x3f], al
mov rax, qword [rcx + 0x10]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
cmp rax, rcx
cmovae rax, rcx
cmp qword [rbx + 0x18], 0x10
jb 0x1400249d5
mov rcx, qword [rbx]
jmp 0x1400249d8
mov rcx, rbx
test rax, rax
je 0x140024a38
test rcx, rcx
je 0x1400249fa
cmp rax, 0x20
ja 0x1400249fa
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.1400ac270
jmp 0x140024a38
xor edx, edx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rdx
test rcx, rcx
jne 0x140024a22
call fcn.1400e49e8
mov dword [rax], reloc.WLDAP32.dll_Ordinal_22
jmp 0x140024a33
cmp rax, 0x20
jbe 0x140024a38
call fcn.1400e49e8
mov dword [rax], Ordinal_35
call fcn.1400e460c
mov byte [rsp + 0x40], 0
xor eax, eax
mov qword [rsp + 0x41], rax
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov rax, qword [rbx + 0x30]
mov r12d, reloc.WS2_32.dll_recv
cmp rax, r12
cmovae rax, r12
lea rcx, [rbx + 0x20]
cmp qword [rcx + 0x18], r12
jb 0x140024a6f
mov rcx, qword [rcx]
test rax, rax
je 0x140024ac3
test rcx, rcx
je 0x140024a90
cmp rax, r12
ja 0x140024a90
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1400ac270
jmp 0x140024ac3
xor edx, edx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rdx
test rcx, rcx
jne 0x140024aae
call fcn.1400e49e8
mov dword [rax], reloc.WLDAP32.dll_Ordinal_22
jmp 0x140024abe
cmp rax, r12
jbe 0x140024ac3
call fcn.1400e49e8
mov dword [rax], Ordinal_35
call fcn.1400e460c
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.140025aa0
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x150], xmm0
mov rbx, qword [r14]
mov rax, qword [r14 + 8]
sub rax, rbx
mov esi, eax
test eax, eax
je 0x140024b50
lea rdi, [rsp + 0x150]
sub rdi, rbx
dec rsi
shr rsi, 4
inc rsi
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rbx]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.1400255e0
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
inc rbx
sub rcx, 1
jne 0x140024b30
movups xmmword [rsp + 0x150], xmm0
sub rdi, r12
sub rsi, 1
jne 0x140024b10
mov rcx, qword [r14]
mov rax, qword [r14 + 8]
sub rax, rcx
mov rdx, qword [r14 + 8]
sub rdx, rcx
movsx rax, byte [rax + rcx - 1]
sub rdx, rax
mov rcx, r14
call fcn.140025ef0
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
sub r8, rdx
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x30], 0
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.1400080d0
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.140010620
mov rax, qword [rsp + 0x38]
cmp rax, r12
jb 0x140024c01
inc rax
mov rcx, qword [rsp + 0x20]
cmp rax, 0x1000
jb 0x140024bfc
test cl, 0x1f
je 0x140024bcf
call fcn.1400e462c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140024bde
call fcn.1400e462c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140024bed
call fcn.1400e462c
int3
cmp rcx, 0x27
jbe 0x140024bf9
call fcn.1400e462c
int3
mov rcx, rax
call fcn.14007b800
mov bl, 1
mov byte [rsp + 0x190], bl
jmp 0x140024c1c
mov rcx, r14
call fcn.1400074e0
movzx eax, bl
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x160
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret