Function at 0x140077158
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
imul eax, dword [0x1402aa124], 0xf71250e3
imul ecx, dword [0x1402aa128], 0x8aa57720
mov rsi, rdx
add eax, ecx
add eax, 0xc56ab598
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r15, rsp
imul eax, dword [0x1402aa12c], 0xbeffb86d
imul ecx, dword [0x1402aa130], 0xefb03ce6
add eax, ecx
add eax, 0x62be52c2
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
imul eax, dword [0x1402aa134], 0x857de4f7
imul ecx, dword [0x1402aa138], 0xd803757d
add eax, ecx
add eax, 0xd7ebf0c6
lea rax, [rax + rax*4]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x674], 0
je 0x140077753
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0x664]
movzx eax, byte [0x1402aa13c]
movzx ecx, byte [0x1402aa13d]
mov edx, eax
lea edx, [rdx + rdx*8]
lea edx, [rdx + rdx*2]
add edx, eax
mov eax, edx
imul ecx, ecx, 0x39
add cl, dl
add cl, 0x15
cmp byte [rdi + 0xe], cl
je 0x140077361
movabs rax, 0xa34d96a92b2f65bb
movabs rdx, 0x7d6d8a43d987406c
movabs r8, 0xfd0544ebaa5cea77
movabs r9, 0xe051ddd34944e25e
movabs r10, 0x5af4f7c35d640fd8
xor r11d, r11d
imul ecx, dword [0x1402aa140], 0x56849a8c
imul ebx, dword [0x1402aa148], 0x323c8112
add ebx, ecx
mov ecx, ebx
add cl, 0x5b
mov rbx, r11
shl rbx, cl
mov ecx, dword [0x1402aa150]
shr ecx, 0xb
xor ecx, 0x92
and ebx, ecx
mov rcx, qword [0x1402aa158]
mov r14, qword [0x1402aa160]
shrd r14, rcx, 0x19
xor r14, rax
mov ecx, ebx
shr r14, cl
mov ecx, r14d
xor byte [rdi + r11], r14b
mov rcx, qword [0x1402aa168]
mov rbx, qword [0x1402aa170]
shrd rbx, rcx, 0x2d
xor rbx, rdx
add rbx, r11
mov rcx, qword [0x1402aa178]
imul rcx, r8
mov r11, qword [0x1402aa180]
imul r11, r9
add r11, rcx
mov rcx, r11
add rcx, r10
mov r11, rbx
cmp rbx, rcx
jne 0x1400772b0
mov al, byte [0x1402aa188]
mov cl, byte [reloc.WS2_32.dll_WSACleanup]
shr cl, 6
shl al, 2
or al, cl
xor al, 0x85
mov byte [rdi + 0xe], al
mov rax, qword [0x1402aa190]
mov rcx, qword [0x1402aa198]
shrd rcx, rax, 0x2a
mov qword [r13], 0
movabs rax, 0xac76933f1289f9ad
xor rax, rcx
mov qword [r13 + 0x18], rax
mov al, byte [0x1402aa1a0]
mov cl, byte [0x1402aa1a1]
shr cl, 3
shl al, 5
or al, cl
xor al, 0xf9
mov byte [r13], al
sub rsp, 0x20
mov rcx, rdi
call fcn.1401b6280
add rsp, 0x20
mov rbx, rax
mov rcx, qword [0x1402aa1a8]
mov rdx, qword [0x1402aa1b0]
shrd rdx, rcx, 0x24
movabs rcx, 0x6014b89b31ad2391
xor rcx, rdx
cmp rax, rcx
jbe 0x1400774ae
mov qword [rbp - 8], r12
mov rcx, qword [0x1402aa1c0]
mov rdx, qword [0x1402aa1c8]
shrd rdx, rcx, 0x30
movabs rcx, 0xa012321874bde771
xor rcx, rdx
cmp rax, rcx
jl 0x140077786
mov r12, r15
mov r15, r13
mov rcx, qword [0x1402aa1d0]
mov rdx, qword [0x1402aa1d8]
shrd rdx, rcx, 1
movabs rcx, 0xe3aeaae49d8397ee
xor rcx, rdx
or rax, rcx
cmp rax, 0x17
mov r13d, reloc.WS2_32.dll_shutdown
cmovae r13, rax
mov rcx, qword [0x1402aa1e0]
mov rdx, qword [0x1402aa1e8]
shrd rdx, rcx, 0x2f
movabs rcx, 0x217babcdb026ac20
xor rcx, rdx
add rcx, r13
movabs rdx, 0x289c63b23338b7d7
imul rdx, qword [0x1402aa1f0]
movabs r8, 0x392ad19d20a425d9
imul r8, qword [0x1402aa1f8]
add r8, rdx
movabs rdx, 0x2ac3cf120ee34af
add rdx, r8
sub rsp, 0x20
cmp rax, rdx
jbe 0x1400774e4
call fcn.1400031b3
jmp 0x1400774e9
mov qword [r13 + 0x10], rbx
sub rsp, 0x20
mov rcx, r13
mov rdx, rdi
mov r8, rbx
call fcn.1401a0ad0
add rsp, 0x20
mov al, byte [0x1402aa1b8]
mov cl, byte [0x1402aa1b9]
shr cl, 7
add al, al
or al, cl
xor al, 0x89
mov byte [r13 + rbx], al
jmp 0x140077538
call fcn.1400d87f8
add rsp, 0x20
mov r14, rax
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], r13
mov r13, r15
sub rsp, 0x20
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.1401a0ad0
add rsp, 0x20
movzx eax, byte [0x1402aa200]
movzx ecx, byte [0x1402aa201]
imul eax, eax, 0xffffff9e
imul ecx, ecx, 0x55
add cl, al
add cl, 0xec
mov byte [r14 + rbx], cl
mov qword [r15], r14
mov r15, r12
mov r12, qword [rbp - 8]
mov qword [rbp - 0x10], r13
movzx eax, word [0x1402aa202]
movzx ecx, word [0x1402aa204]
shrd cx, ax, 1
mov eax, ecx
xor eax, 0x2a02
mov word [r13 + 0x20], ax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
movabs rax, 0xff50716c3b8c6955
imul rax, qword [0x1402aa208]
movabs rcx, 0x1c2839cb178f344c
imul rcx, qword [0x1402aa210]
mov rdx, rcx
add rdx, rax
movabs rcx, 0xcd8988169fc946f4
add rcx, rdx
nop
sub rsp, 0x20
call fcn.1400d87f8
add rsp, 0x20
nop
mov rcx, rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov rdi, rax
add rdi, 0x28
mov qword [rsi + 0x10], rdi
mov qword [rbp - 8], r12
mov qword [r12], rsi
mov qword [r15], rax
mov qword [r15 + 8], rax
mov qword [rbp - 0x18], r15
mov qword [r15 + 0x10], rsi
nop
sub rsp, 0x20
mov rdx, qword [rbp - 0x10]
call fcn.14003d68e
add rsp, 0x20
nop
mov qword [rsi + 8], rdi
mov r8, qword [rbp - 0x10]
mov rax, qword [r8 + 0x18]
movabs rcx, 0x98b210b47051f9ad
imul rcx, qword [0x1402aa218]
movabs rdx, 0xbcaf514a0fcf6809
imul rdx, qword [0x1402aa220]
add rdx, rcx
movabs rcx, 0xc5b9cceb414b0601
add rcx, rdx
cmp rax, rcx
jbe 0x14007773f
mov rcx, r8
mov rdx, qword [r8]
mov rcx, qword [0x1402aa228]
mov r8, qword [0x1402aa230]
shrd r8, rcx, 0xe
movabs rcx, 0xde7302e0d456ebfb
xor rcx, r8
add rcx, rax
mov r8, qword [0x1402aa238]
mov r9, qword [0x1402aa240]
shrd r9, r8, 0x19
movabs r8, 0x1c8c81b05f690d02
xor r8, r9
cmp rcx, r8
jbe 0x140077729
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402aa248]
mov r9, qword [0x1402aa250]
shrd r9, r8, 0x16
movabs r8, 0x749642bc6ba49372
xor r8, r9
add r8, rdx
sub r8, rcx
movabs rdx, 0x21e6213019d76afb
imul rdx, qword [0x1402aa258]
movabs r9, 0x8e2c02752f52e637
imul r9, qword [0x1402aa260]
add r9, rdx
movabs rdx, 0xfa8a936d9033f3a0
add rdx, r9
cmp r8, rdx
jae 0x14007778f
movabs rdx, 0x843a2234487923ac
imul rdx, qword [0x1402aa268]
movabs r8, 0x8f030df1cb6ec889
imul r8, qword [0x1402aa270]
add r8, rdx
movabs rdx, 0x88b0c8b3820939d8
add rax, rdx
add rax, r8
jmp 0x14007772f
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x674], 1
sub rsp, 0x20
lea rcx, [0x140077cd8]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140077236
sub rsp, 0x20
call fcn.14000318f
sub rsp, 0x20
call fcn.1401aec6c
int3