Function at 0x140072860
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
lea rbp, [rsp + 0x30]
mov rax, qword [0x1402e8ed8]
xor rax, rbp
mov qword [rbp + 0x48], rax
mov eax, dword [rcx + 8]
xor r13d, r13d
mov dword [rbp + 0x28], eax
mov rdi, r8
neg eax
movsxd r15, r9d
mov qword [rbp], r8
mov rbx, rcx
sbb r12w, r12w
mov dword [rbp + 8], edx
and qword [rbp + 0x10], r13
not r12w
and qword [rbp + 0x18], r13
and r12w, 0x80
mov qword [rbp + 0x30], rcx
call fcn.140098e0c
xor ecx, ecx
test eax, eax
jne 0x1400728cf
lea eax, [rcx - 4]
jmp 0x140072d0c
mov esi, 1
mov r14d, 0xffffffff
cmp dword [rbx + 0x10], ecx
jne 0x1400729ed
cmp dword [rbx + 0x48], ecx
je 0x1400729e6
cmp dword [rbx + 0x4c], r15d
jge 0x1400729e6
mov eax, dword [rbx + 0x58]
test eax, eax
jne 0x1400729d9
lea r9, [rbp + 0x10]
xor r8d, r8d
mov rdx, r15
mov rcx, rdi
call fcn.140050f7c
test eax, eax
jne 0x1400729e6
mov rdi, qword [rbp + 0x10]
cmp rdi, r15
jae 0x1400729ad
cmp rdi, r14
jae 0x140072942
mov eax, 0xffffffe7
cmp rdi, rax
jae 0x140072942
lea rcx, [rdi + 0x18]
call fcn.1401d7f54
jmp 0x140072944
xor eax, eax
movsxd rdx, edi
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call fcn.140098bdc
mov rcx, qword [rbp]
lea r9, [rbp + 0x10]
mov r8, rax
mov qword [rbp + 0x18], rax
mov rdx, r15
mov r13, rax
mov rdi, r15
call fcn.140050f7c
test eax, eax
jne 0x1400729e2
add qword [rbx + 0x68], r15
lea rcx, [rbp + 0x38]
and dword [rbx + 0x5c], eax
movzx edx, r12w
and dword [rbx + 0x58], eax
mov rdi, r13
mov r15, qword [rbp + 0x10]
mov eax, 0xc000
movzx r8d, word [rbp + 8]
or dx, ax
mov r9d, r15d
call fcn.1400b3e18
movsxd r13, eax
add qword [rbx + 0x68], r13
jmp 0x1400729c6
add dword [rbx + 0x5c], esi
mov eax, dword [rbx + 0x5c]
mov rdi, qword [rbp]
cmp eax, dword [rbx + 0x54]
jle 0x1400729e6
mov eax, dword [rbx + 0x50]
and dword [rbx + 0x5c], r13d
mov dword [rbx + 0x58], eax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x18], rax
mov qword [rbp], rdi
test r13d, r13d
jne 0x140072a0b
jmp 0x1400729e6
jle 0x1400729e6
dec eax
mov dword [rbx + 0x58], eax
jmp 0x1400729e6
mov rdi, qword [rbp]
movzx r8d, word [rbp + 8]
jmp 0x1400729f3
mov dword [rbx + 0x10], ecx
xor r8d, r8d
mov edx, 0x8000
lea rcx, [rbp + 0x38]
or dx, r12w
mov r9d, r15d
call fcn.1400b3e18
mov r13d, eax
cmp dword [rbp + 0x28], 0
jne 0x140072b83
lea eax, [r13 + 4]
add eax, r15d
movsxd rdi, eax
mov qword [rbp + 0x20], rdi
cmp eax, 0xffff
jge 0x140072a80
mov eax, 0xffffffc7
cmp rdi, rax
jae 0x140072a61
lea rax, [rdi + 0x38]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140072a4b
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401c9cb0
sub rsp, rcx
lea rcx, [rsp + 0x30]
jmp 0x140072a63
xor ecx, ecx
mov r9d, esi
mov r8d, 8
mov rdx, rdi
call fcn.140098bdc
mov r14, rax
add rax, 8
mov qword [r14], rax
jmp 0x140072ab0
cmp rdi, r14
jae 0x140072a9a
mov eax, 0xffffffe7
cmp rdi, rax
jae 0x140072a9a
lea rcx, [rdi + 0x18]
call fcn.1401d7f54
jmp 0x140072a9c
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.140098bdc
mov r14, rax
movsxd r12, r13d
test r13d, r13d
je 0x140072ade
test r14, r14
jne 0x140072acf
call fcn.1401d6a54
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401d5820
jmp 0x140072ade
mov r8, r12
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.1401cb620
mov edx, 4
lea rcx, [r12 + r14]
call fcn.1400d83d0
lea rax, [r12 + r14]
mov r11d, dword [rax]
test r15d, r15d
jle 0x140072ca0
movsxd r10, r15d
xor edx, edx
mov r8, r10
sar r8, 2
test r8, r8
jle 0x140072b33
mov rbx, qword [rbp]
xor r9d, r9d
mov edx, r8d
lea rax, [r12 + r9*4]
mov ecx, r11d
xor ecx, dword [rbx + r9*4]
add r9, rsi
mov dword [rax + r14 + 4], ecx
cmp r9, r8
jl 0x140072b17
mov rbx, qword [rbp + 0x30]
shl edx, 2
movsxd r8, edx
cmp r8, r10
jge 0x140072ca0
mov rdi, qword [rbp]
lea rbx, [r12 + r14]
mov eax, edx
and eax, 0x80000003
jge 0x140072b5a
sub eax, esi
or eax, 0xfffffffc
add eax, esi
cdqe
add edx, esi
mov cl, byte [rax + rbx]
lea rax, [r12 + r8]
xor cl, byte [r8 + rdi]
add r8, rsi
mov byte [rax + r14 + 4], cl
cmp r8, r10
jl 0x140072b4a
mov rbx, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x20]
jmp 0x140072ca0
mov rcx, qword [rbx]
call fcn.1400a1b10
test eax, eax
je 0x140072c28
mov rcx, qword [rbx + 0x88]
call fcn.140098e0c
test r15d, r15d
jle 0x140072bf4
test eax, eax
je 0x140072bc9
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140072bb9
mov rcx, qword [rax]
jmp 0x140072bbb
xor ecx, ecx
movsxd r9, r13d
lea r8, [rbp + 0x38]
xor edx, edx
call fcn.140086d08
mov rcx, qword [rbx + 0x88]
call fcn.140098e0c
test eax, eax
je 0x140072c1b
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140072bea
mov rcx, qword [rax]
jmp 0x140072bec
xor ecx, ecx
movsxd r9, r15d
mov r8, rdi
jmp 0x140072c12
test eax, eax
je 0x140072c1b
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140072c09
mov rcx, qword [rax]
jmp 0x140072c0b
xor ecx, ecx
movsxd r9, r13d
lea r8, [rbp + 0x38]
xor edx, edx
call fcn.140086d08
mov esi, eax
xor edi, edi
test esi, esi
sete dil
jmp 0x140072ce2
lea eax, [r15 + r13]
movsxd rdi, eax
cmp rdi, r14
jae 0x140072c49
mov eax, 0xffffffe7
cmp rdi, rax
jae 0x140072c49
lea rcx, [rdi + 0x18]
call fcn.1401d7f54
jmp 0x140072c4b
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.140098bdc
movsxd r12, r13d
mov r14, rax
test r13d, r13d
je 0x140072c8d
test rax, rax
jne 0x140072c7e
call fcn.1401d6a54
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1401d5820
jmp 0x140072c8d
mov r8, r12
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.1401cb620
mov r8, qword [rbp]
lea rcx, [r12 + r14]
movsxd rdx, r15d
mov r9, rdx
call section..text
mov rcx, qword [rbx + 0x88]
call fcn.140098e0c
test eax, eax
je 0x140072cd2
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140072cc1
mov rcx, qword [rax]
jmp 0x140072cc3
xor ecx, ecx
mov r9, rdi
mov r8, r14
xor edx, edx
call fcn.140086d08
mov esi, eax
xor edi, edi
mov rcx, r14
test esi, esi
sete dil
call fcn.140098cbc
movsxd rcx, r15d
movsxd rdx, r13d
lea rax, [rdx + rcx]
add qword [rbx + 0x78], rax
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x140072d03
mov rcx, rax
call fcn.140098cbc
jmp 0x140072d0a
add rcx, rdx
add qword [rbx + 0x68], rcx
mov eax, edi
mov rcx, qword [rbp + 0x48]
xor rcx, rbp
call fcn.1401c9740
lea rsp, [rbp + 0x58]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret