Function at 0x1402e5578
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov edx, dword [rcx + 4]
mov rax, rcx
mov r8d, dword [rcx + 8]
mov edi, dword [rcx + 0xc]
mov r14d, dword [rcx + 0x10]
mov r9d, dword [rcx + 0x14]
mov r10d, dword [rcx + 0x18]
mov esi, dword [rcx + 0x1c]
mov r15d, dword [rcx]
mov ecx, dword [rcx + 0x20]
mov r13d, dword [rax + 0x54]
mov ebp, dword [rax + 0x24]
mov r11d, dword [rax + 0x28]
mov r12d, dword [rax + 0x38]
mov ebx, dword [rax + 0x50]
mov dword [rsp + 0x68], ecx
mov ecx, dword [rax + 0x2c]
mov dword [rsp + 0x6c], ecx
mov ecx, dword [rax + 0x30]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rax + 0x34]
mov dword [rsp + 0x24], ecx
mov ecx, dword [rax + 0x3c]
mov dword [rsp + 0x44], ecx
mov ecx, dword [rax + 0x40]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rax + 0x44]
mov dword [rsp + 0x38], r13d
mov r13d, dword [rax + 0x58]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rax + 0x48]
mov dword [rsp + 0x3c], r13d
mov r13d, dword [rax + 0x5c]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rax + 0x4c]
mov dword [rsp + 0x40], r13d
mov r13d, dword [rax + 0x60]
lea rax, [0x140462c10]
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x58], edi
mov dword [rsp + 0xf8], r14d
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x100], ebp
mov dword [rsp + 0x108], r11d
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x48], ebx
xor ebx, dword [rsp + 0x44]
xor ebx, r11d
mov r11d, dword [rsp + 0x38]
xor r11d, dword [rsp + 0x28]
xor ebx, r9d
xor r11d, dword [rsp + 0x6c]
xor ebx, r15d
mov r9d, dword [rsp + 0x40]
xor r11d, r10d
xor r9d, dword [rsp + 0x30]
xor r11d, edx
xor r9d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x3c]
xor r10d, dword [rsp + 0x2c]
xor r10d, dword [rsp + 0x20]
xor r9d, dword [rsp + 0x68]
xor r10d, esi
xor r10d, r8d
xor r9d, edi
mov r8d, r13d
xor r8d, ecx
mov ecx, r11d
xor r8d, r12d
xor r8d, ebp
xor r8d, r14d
mov r14d, 1
mov edx, r14d
call fcn.1402e5f68
mov ebp, eax
mov ecx, r10d
xor ebp, r8d
call fcn.1402e5f68
mov r12d, eax
mov ecx, r9d
xor r12d, ebx
call fcn.1402e5f68
mov edi, eax
mov ecx, r8d
xor edi, r11d
call fcn.1402e5f68
mov r11d, eax
mov ecx, ebx
xor r11d, r10d
call fcn.1402e5f68
mov ecx, r12d
lea edx, [r14 + 0xb]
xor ecx, dword [rsp + 0x60]
mov ebx, eax
mov esi, ebp
xor ebx, r9d
xor esi, r15d
call fcn.1402e5f68
mov ecx, edi
lea edx, [r14 + 0xa]
xor ecx, dword [rsp + 0x20]
mov r10d, eax
call fcn.1402e5f68
mov ecx, r11d
lea edx, [r14 + 0x14]
xor ecx, dword [rsp + 0x30]
mov r8d, eax
call fcn.1402e5f68
mov ecx, ebx
lea edx, [r14 + 0xd]
xor ecx, r13d
mov r9d, eax
call fcn.1402e5f68
mov rdx, qword [rsp + 0x90]
mov ecx, r10d
not ecx
and ecx, r8d
xor ecx, esi
xor ecx, dword [rdx]
mov dword [rsp + 0x30], ecx
mov ecx, r8d
not ecx
and ecx, r9d
xor ecx, r10d
mov dword [rsp + 0x70], ecx
mov ecx, r9d
not ecx
and ecx, eax
lea edx, [r14 + 0x1b]
xor ecx, r8d
mov dword [rsp + 0x80], ecx
mov ecx, eax
not ecx
and ecx, esi
not esi
xor ecx, r9d
and esi, r10d
mov dword [rsp + 0x20], ecx
xor esi, eax
mov ecx, r11d
mov dword [rsp + 0x74], esi
xor ecx, dword [rsp + 0x58]
call fcn.1402e5f68
mov ecx, ebx
lea edx, [r14 + 0x13]
xor ecx, dword [rsp + 0x100]
mov esi, eax
call fcn.1402e5f68
mov ecx, ebp
lea edx, [r14 + 2]
xor ecx, dword [rsp + 0x108]
mov r10d, eax
call fcn.1402e5f68
mov ecx, r12d
lea edx, [r14 + 0xc]
xor ecx, dword [rsp + 0x28]
mov r8d, eax
call fcn.1402e5f68
mov ecx, edi
lea edx, [r14 + 0x1c]
xor ecx, dword [rsp + 0x3c]
mov r9d, eax
call fcn.1402e5f68
mov ecx, r10d
mov r13d, r8d
not ecx
not r13d
and ecx, r8d
and r13d, r9d
xor ecx, esi
xor r13d, r10d
mov dword [rsp + 0x78], ecx
mov edx, r14d
mov ecx, r9d
mov dword [rsp + 0x100], r13d
not ecx
and ecx, eax
xor ecx, r8d
mov dword [rsp + 0x28], ecx
mov ecx, eax
not ecx
and ecx, esi
not esi
xor ecx, r9d
and esi, r10d
mov dword [rsp + 0x84], ecx
xor esi, eax
mov ecx, r12d
mov dword [rsp + 0x3c], esi
xor ecx, dword [rsp + 0x50]
call fcn.1402e5f68
mov ecx, edi
lea edx, [r14 + 5]
xor ecx, dword [rsp + 0x64]
mov esi, eax
call fcn.1402e5f68
mov ecx, r11d
lea edx, [r14 + 0x18]
xor ecx, dword [rsp + 0x24]
mov r10d, eax
call fcn.1402e5f68
mov ecx, ebx
lea edx, [r14 + 7]
xor ecx, dword [rsp + 0x34]
mov r8d, eax
call fcn.1402e5f68
mov r9d, eax
mov ecx, ebp
xor ecx, dword [rsp + 0x48]
lea edx, [r14 + 0x11]
call fcn.1402e5f68
mov ecx, r10d
mov r14d, r9d
not ecx
not r14d
and ecx, r8d
and r14d, eax
xor ecx, esi
mov edx, 0x1b
mov dword [rsp + 0x34], ecx
xor r14d, r8d
mov ecx, r8d
not ecx
and ecx, r9d
xor ecx, r10d
mov dword [rsp + 0x7c], ecx
mov ecx, eax
not ecx
and ecx, esi
not esi
xor ecx, r9d
and esi, r10d
mov dword [rsp + 0x24], ecx
xor esi, eax
mov ecx, ebx
mov dword [rsp + 0x88], esi
xor ecx, dword [rsp + 0xf8]
call fcn.1402e5f68
mov ecx, ebp
mov dword [rsp + 0x108], eax
xor ecx, dword [rsp + 0x5c]
mov edx, 4
call fcn.1402e5f68
mov ecx, r12d
mov edx, 0xa
xor ecx, dword [rsp + 0x6c]
mov r10d, eax
call fcn.1402e5f68
mov ecx, edi
mov edx, reloc.WS2_32.dll_ntohs
xor ecx, dword [rsp + 0x2c]
mov r8d, eax
call fcn.1402e5f68
mov ecx, r11d
mov edx, 0x18
xor ecx, dword [rsp + 0x40]
mov r9d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x108]
mov esi, eax
not esi
mov edx, r10d
not edx
and esi, ecx
and edx, r8d
mov r15d, r8d
xor edx, ecx
not r15d
mov dword [rsp + 0x48], edx
not ecx
and ecx, r10d
mov edx, r9d
xor ecx, eax
not edx
and edx, eax
mov dword [rsp + 0x108], ecx
mov ecx, dword [rsp + 0x54]
xor edx, r8d
mov dword [rsp + 0x2c], edx
and r15d, r9d
mov edx, 0x1e
xor ecx, edi
xor r15d, r10d
xor esi, r9d
call fcn.1402e5f68
xor r11d, dword [rsp + 0x68]
mov edi, eax
mov ecx, r11d
mov edx, reloc.WS2_32.dll_socket
call fcn.1402e5f68
mov ecx, dword [rsp + 0x4c]
mov edx, 7
xor ecx, ebx
mov r10d, eax
call fcn.1402e5f68
xor ebp, dword [rsp + 0x44]
mov edx, 9
mov ecx, ebp
mov r8d, eax
call fcn.1402e5f68
xor r12d, dword [rsp + 0x38]
mov edx, 2
mov ecx, r12d
mov r9d, eax
call fcn.1402e5f68
mov r12d, r10d
mov edx, r8d
mov ebp, r9d
not edx
and edx, r9d
not r12d
xor edx, r10d
and r12d, r8d
xor r12d, edi
mov dword [rsp + 0x98], edx
mov ecx, eax
not ebp
not ecx
and ebp, eax
and ecx, edi
xor ebp, r8d
xor ecx, r9d
not edi
and edi, r10d
mov dword [rsp + 0x44], ecx
mov r9d, ecx
mov r11d, edx
xor r11d, r15d
xor r9d, esi
xor r11d, dword [rsp + 0x7c]
xor edi, eax
xor r9d, dword [rsp + 0x24]
mov r8d, edi
xor r8d, dword [rsp + 0x108]
mov ebx, r12d
xor ebx, dword [rsp + 0x48]
mov r10d, ebp
xor r10d, dword [rsp + 0x2c]
xor r11d, r13d
xor r8d, dword [rsp + 0x88]
xor r10d, r14d
xor ebx, dword [rsp + 0x34]
mov edx, 1
xor r11d, dword [rsp + 0x70]
xor r8d, dword [rsp + 0x3c]
mov ecx, r11d
xor ebx, dword [rsp + 0x78]
xor r10d, dword [rsp + 0x28]
xor r9d, dword [rsp + 0x84]
xor r8d, dword [rsp + 0x74]
xor ebx, dword [rsp + 0x30]
xor r10d, dword [rsp + 0x80]
xor r9d, dword [rsp + 0x20]
call fcn.1402e5f68
xor eax, r8d
mov ecx, r10d
mov dword [rsp + 0x40], eax
call fcn.1402e5f68
xor eax, ebx
mov ecx, r9d
mov dword [rsp + 0x38], eax
call fcn.1402e5f68
mov r13d, eax
mov ecx, r8d
xor r13d, r11d
call fcn.1402e5f68
mov r11d, eax
mov ecx, ebx
xor r11d, r10d
call fcn.1402e5f68
mov ecx, dword [rsp + 0x100]
mov ebx, eax
mov eax, dword [rsp + 0x30]
mov edx, ntohs
xor eax, dword [rsp + 0x40]
xor ebx, r9d
xor ecx, dword [rsp + 0x38]
mov dword [rsp + 0xf8], eax
call fcn.1402e5f68
xor r14d, r13d
mov edx, ntohs
mov ecx, r14d
mov r10d, eax
call fcn.1402e5f68
xor esi, r11d
mov edx, reloc.WS2_32.dll_setsockopt
mov ecx, esi
mov r8d, eax
call fcn.1402e5f68
xor edi, ebx
mov edx, ntohs
mov ecx, edi
mov r9d, eax
call fcn.1402e5f68
mov r14d, dword [rsp + 0xf8]
mov ecx, r10d
mov rdx, qword [rsp + 0x90]
not ecx
and ecx, r8d
xor ecx, dword [rdx + 4]
mov edx, 0x1c
xor ecx, r14d
mov dword [rsp + 0x8c], ecx
mov ecx, r8d
not ecx
and ecx, r9d
xor ecx, r10d
mov dword [rsp + 0x50], ecx
mov ecx, r9d
not ecx
and ecx, eax
xor ecx, r8d
mov dword [rsp + 0x54], ecx
mov ecx, eax
not ecx
and ecx, r14d
not r14d
xor ecx, r9d
and r14d, r10d
mov dword [rsp + 0x58], ecx
xor r14d, eax
mov ecx, dword [rsp + 0x20]
xor ecx, r11d
mov dword [rsp + 0xf8], r14d
call fcn.1402e5f68
mov ecx, dword [rsp + 0x3c]
mov edx, socket
xor ecx, ebx
mov dword [rsp + 0x100], eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x34]
mov edx, 3
mov edi, dword [rsp + 0x40]
mov r10d, eax
xor ecx, edi
call fcn.1402e5f68
mov esi, dword [rsp + 0x38]
mov edx, reloc.WS2_32.dll_listen
xor r15d, esi
mov r8d, eax
mov ecx, r15d
call fcn.1402e5f68
xor ebp, r13d
mov edx, 0x1d
mov ecx, ebp
mov r9d, eax
call fcn.1402e5f68
mov ebp, dword [rsp + 0x100]
mov ecx, r10d
not ecx
and ecx, r8d
xor ecx, ebp
mov edx, 1
mov dword [rsp + 0x5c], ecx
mov ecx, r8d
not ecx
and ecx, r9d
xor ecx, r10d
mov dword [rsp + 0x60], ecx
mov ecx, r9d
not ecx
and ecx, eax
xor ecx, r8d
mov dword [rsp + 0x64], ecx
mov ecx, eax
not ecx
and ecx, ebp
not ebp
xor ecx, r9d
and ebp, r10d
mov dword [rsp + 0x68], ecx
xor ebp, eax
mov ecx, dword [rsp + 0x70]
xor ecx, esi
mov dword [rsp + 0x100], ebp
call fcn.1402e5f68
mov ecx, dword [rsp + 0x28]
mov edx, 6
xor ecx, r13d
mov dword [rsp + 0x4c], eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x24]
mov edx, 0x19
xor ecx, r11d
mov r10d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x108]
mov edx, 8
xor ecx, ebx
mov r8d, eax
call fcn.1402e5f68
xor r12d, edi
mov edx, reloc.WS2_32.dll_select
mov ecx, r12d
mov r9d, eax
call fcn.1402e5f68
mov r12d, dword [rsp + 0x4c]
mov ecx, r10d
not ecx
mov edx, 0x1b
and ecx, r8d
xor ecx, r12d
mov dword [rsp + 0x108], ecx
mov ecx, r8d
not ecx
and ecx, r9d
xor ecx, r10d
mov dword [rsp + 0x6c], ecx
mov ecx, r9d
not ecx
and ecx, eax
xor ecx, r8d
mov dword [rsp + 0x20], ecx
mov ecx, eax
not ecx
and ecx, r12d
not r12d
xor ecx, r9d
and r12d, r10d
mov dword [rsp + 0x24], ecx
xor r12d, eax
mov ecx, dword [rsp + 0x74]
xor ecx, ebx
mov dword [rsp + 0x4c], r12d
call fcn.1402e5f68
mov ecx, dword [rsp + 0x78]
mov edx, 4
xor ecx, edi
mov r15d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x7c]
mov r10d, eax
xor ecx, esi
mov edx, 0xa
call fcn.1402e5f68
mov ecx, dword [rsp + 0x2c]
mov edx, reloc.WS2_32.dll_ntohs
xor ecx, r13d
mov r8d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x44]
mov edx, 0x18
xor ecx, r11d
mov r9d, eax
call fcn.1402e5f68
mov ecx, r10d
mov edx, 0x1e
not ecx
and ecx, r8d
xor ecx, r15d
mov dword [rsp + 0x44], ecx
mov ecx, r8d
not ecx
and ecx, r9d
xor ecx, r10d
mov dword [rsp + 0x28], ecx
mov ecx, r9d
not ecx
and ecx, eax
xor ecx, r8d
mov dword [rsp + 0x2c], ecx
mov ecx, eax
not ecx
and ecx, r15d
not r15d
xor ecx, r9d
and r15d, r10d
mov dword [rsp + 0x30], ecx
xor r15d, eax
mov ecx, dword [rsp + 0x80]
xor ecx, r13d
mov dword [rsp + 0x34], r15d
call fcn.1402e5f68
mov ecx, dword [rsp + 0x84]
mov edx, reloc.WS2_32.dll_socket
xor ecx, r11d
mov r13d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x88]
mov edx, 7
xor ecx, ebx
mov r10d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x48]
mov edx, 9
xor ecx, edi
mov r8d, eax
call fcn.1402e5f68
mov ecx, dword [rsp + 0x98]
mov edx, 2
xor ecx, esi
mov r9d, eax
call fcn.1402e5f68
mov ecx, r8d
mov ebx, r10d
not ecx
not ebx
and ecx, r9d
and ebx, r8d
xor ecx, r10d
xor ebx, r13d
mov dword [rsp + 0x38], ecx
mov ecx, r9d
not ecx
mov dword [rsp + 0x48], ebx
and ecx, eax
xor ecx, r8d
mov dword [rsp + 0x3c], ecx
mov ecx, eax
not ecx
and ecx, r13d
xor ecx, r9d
mov dword [rsp + 0x40], ecx
mov r15d, dword [rsp + 0x8c]
lea rcx, [0x140462c68]
mov edx, dword [rsp + 0x50]
not r13d
mov r8d, dword [rsp + 0x54]
and r13d, r10d
mov edi, dword [rsp + 0x58]
xor r13d, eax
mov rax, qword [rsp + 0x90]
mov r9d, dword [rsp + 0x5c]
add rax, 8
mov r10d, dword [rsp + 0x60]
cmp rax, rcx
mov ecx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x64]
mov r11d, dword [rsp + 0x108]
mov qword [rsp + 0x90], rax
jl 0x1402e5665
mov rax, qword [rsp + 0xf0]
mov ecx, r8d
mov dword [rax + 4], edx
mov edx, edi
mov dword [rax + 0xc], edx
mov edx, r9d
mov r9d, dword [rsp + 0x6c]
mov dword [rax + 0x14], edx
mov edx, r10d
mov dword [rax + 0x18], edx
mov edx, esi
mov dword [rax + 0x1c], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + 0x20], edx
mov edx, r11d
mov dword [rax + 0x28], edx
mov edx, dword [rsp + 0x20]
mov dword [rax + 0x30], edx
mov edx, dword [rsp + 0x24]
mov dword [rax + 0x34], edx
mov edx, dword [rsp + 0x2c]
mov dword [rax + 0x44], edx
mov edx, dword [rsp + 0x30]
mov dword [rax + 0x48], edx
mov edx, dword [rsp + 0x34]
mov dword [rax + 0x4c], edx
mov edx, dword [rsp + 0x3c]
mov dword [rax + 0x2c], r9d
mov r9d, dword [rsp + 0x28]
mov dword [rax + 0x58], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x44]
mov dword [rax + 0x40], r9d
mov r9d, dword [rsp + 0x38]
mov dword [rax + 0x5c], edx
mov dword [rax], r15d
mov dword [rax + 0x10], r14d
mov dword [rax + 0x24], ebp
mov dword [rax + 0x38], r12d
mov dword [rax + 0x3c], ecx
mov dword [rax + 0x50], ebx
mov dword [rax + 0x54], r9d
mov dword [rax + 0x60], r13d
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret