Function at 0x1400a4321
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
movups xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov qword [rbp - 0x40], r9
mov rbx, r8
mov r14, rdx
mov qword [rbp - 0x38], rcx
mov eax, dword [0x1402b3380]
mov ecx, dword [0x1402b3384]
shrd ecx, eax, 8
xor ecx, 0x333f59ae
mov eax, ecx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rdi, rsp
mov eax, dword [0x1402b3388]
mov ecx, dword [0x1402b338c]
shrd ecx, eax, 0x16
xor ecx, 0x81d0a76
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x20], rsp
mov eax, dword [0x1402b3390]
mov ecx, dword [0x1402b3394]
shrd ecx, eax, 0x10
xor ecx, 0xe96353d6
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x30], rsp
mov r9d, dword [rdx + 0x10]
movabs rax, 0x73a538d98c9fb27b
imul rax, qword [0x1402b3398]
movabs rcx, 0x309d8564123d6877
imul rcx, qword [0x1402b33a0]
add rcx, rax
movabs rax, 0x7634c8f57e306849
add rax, rcx
mov r8, rdx
cmp qword [rdx + 0x18], rax
jbe 0x1400a4417
mov r8, qword [r14]
mov r13, rdi
mov eax, dword [0x1402b33a8]
mov ecx, dword [0x1402b33ac]
shrd ecx, eax, 0xd
xor ecx, 0x8181eb2b
mov eax, dword [0x1402b33b0]
mov edx, dword [0x1402b33b4]
shrd edx, eax, 0x1c
imul eax, dword [0x1402b33b8], 0x3679788e
imul r10d, dword [0x1402b33bc], 0x70995bcc
xor edx, 0xa38055de
add eax, r10d
add eax, 0x1f83bea4
sub rsp, 0x40
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], eax
xor esi, esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add rsp, 0x40
mov r15d, eax
mov rax, qword [0x1402b33c0]
mov rcx, qword [0x1402b33c8]
shrd rcx, rax, 0x27
movsxd r12, r15d
mov qword [rdi], rsi
movabs rax, 0x5b117b70b639aa91
xor rax, rcx
mov qword [rdi + 0x18], rax
mov al, byte [0x1402b33d0]
mov cl, byte [0x1402b33d1]
shr cl, 5
shl al, 3
or al, cl
xor al, 0x3d
mov byte [rdi], al
imul eax, dword [0x1402b33d4], 0x957da533
imul ecx, dword [0x1402b33d8], 0x4f8e6afe
add eax, ecx
add eax, 0xdcce6f72
cmp r15d, eax
jbe 0x1400a45a6
mov eax, dword [0x1402b33f0]
mov ecx, dword [0x1402b33f4]
shrd ecx, eax, 5
xor ecx, 0x62855dbc
cmp r15d, ecx
jl 0x1400a4b61
mov rdi, r13
movabs rax, 0x51bb7ebaf20935ef
imul rax, qword [0x1402b33f8]
movabs rcx, 0x4bc21fdac60e0fcb
imul rcx, qword [0x1402b3400]
add rcx, rax
movabs rax, 0x702283944ba9c992
add rax, rcx
or rax, r12
cmp rax, 0x17
mov esi, reloc.WS2_32.dll_shutdown
cmovae rsi, rax
mov rcx, qword [0x1402b3408]
mov rdx, qword [0x1402b3410]
shrd rdx, rcx, 0x24
movabs rcx, 0x2a49c4ef4baa6871
xor rcx, rdx
add rcx, rsi
mov rdx, qword [0x1402b3418]
mov r8, qword [0x1402b3420]
shrd r8, rdx, 1
movabs rdx, 0xc7cc5df927fd0a46
xor rdx, r8
sub rsp, 0x20
cmp rax, rdx
jbe 0x1400a460b
call fcn.1400031b3
jmp 0x1400a4610
mov qword [r13 + 0x10], r12
sub rsp, 0x20
mov rcx, r13
xor edx, edx
mov r8, r12
call fcn.1401a1180
add rsp, 0x20
mov al, byte [0x1402b33dc]
mov cl, byte [0x1402b33dd]
shr cl, 6
shl al, 2
or al, cl
xor al, 0xd8
mov byte [r13 + r12], al
mov rax, qword [str._Cx]
mov rcx, qword [0x1402b33e8]
shrd rcx, rax, 0x28
movabs rdx, 0x7843a5d53f0f931f
xor rdx, rcx
mov rax, r13
cmp qword [r13 + 0x18], rdx
mov rsi, r13
jbe 0x1400a4666
mov rax, qword [rsi]
jmp 0x1400a4666
call fcn.1400d87f8
add rsp, 0x20
mov r13, rax
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], rsi
mov rsi, rdi
sub rsp, 0x20
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.1401a1180
add rsp, 0x20
movzx eax, byte [0x1402b3428]
movzx ecx, byte [0x1402b3429]
imul eax, eax, 0x4e
mov edx, ecx
lea ecx, [rcx + rcx*8]
lea ecx, [rcx + rcx*2]
add edx, edx
add edx, ecx
mov ecx, edx
add cl, al
add cl, 0x71
mov byte [r13 + r12], cl
mov qword [rdi], r13
mov rax, r13
mov rdi, qword [rbp - 0x20]
movabs rcx, 0x1d6ea9d27e5750f5
imul rcx, qword [0x1402b3430]
movabs rdx, 0x21f8cba91f554d14
imul rdx, qword [0x1402b3438]
add rdx, rcx
movabs rcx, 0xfdf88841dc85b3f
add rcx, rdx
cmp qword [r14 + 0x18], rcx
jbe 0x1400a46a9
mov r8, qword [r14]
jmp 0x1400a46ac
mov r8, r14
mov ecx, dword [0x1402b3440]
mov edx, dword [0x1402b3444]
shrd edx, ecx, 2
mov ecx, edx
xor ecx, 0xf133d6f3
mov edx, dword [0x1402b3448]
mov r9d, dword [0x1402b344c]
shrd r9d, edx, 9
mov edx, r9d
imul r9d, dword [0x1402b3450], 0xf7d4ff3b
imul r10d, dword [0x1402b3454], 0xe258ff60
xor edx, 0x8d09eb5
add r9d, r10d
add r9d, 0x4ea625ab
sub rsp, 0x40
xorps xmm6, xmm6
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add rsp, 0x40
mov r15, qword [rsi + 0x10]
mov rax, qword [0x1402b3458]
mov rcx, qword [0x1402b3460]
shrd rcx, rax, 0x30
movabs r14, 0x4ed4e4b2fabd27c1
xor r14, rcx
add r14, r15
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
mov rax, qword [0x1402b3468]
mov rcx, qword [0x1402b3470]
shrd rcx, rax, 0x28
movabs rax, 0x4f82fcaf8523f566
xor rax, rcx
cmp r14, rax
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rdi
jne 0x1400a4788
xor r12d, r12d
xor edi, edi
jmp 0x1400a482b
mov rax, qword [0x1402b3478]
mov rcx, qword [0x1402b3480]
shrd rcx, rax, 0x28
movabs rax, 0x3bf963016bfd2aaf
xor rax, rcx
cmp r14, rax
jl 0x1400a4b6a
mov rax, qword [0x1402b3488]
mov rcx, qword [0x1402b3490]
shrd rcx, rax, 2
movabs rax, 0x58f04c39f36e7491
xor rax, rcx
cmp r14, rax
jbe 0x1400a47ea
nop
sub rsp, 0x20
mov rcx, r14
call fcn.1400031b3
add rsp, 0x20
nop
jmp 0x1400a47fc
nop
sub rsp, 0x20
mov rcx, r14
call fcn.1400d87f8
add rsp, 0x20
nop
mov rcx, rax
mov qword [rdi], rax
mov qword [rdi + 8], rax
add r14, rax
mov qword [rdi + 0x10], r14
sub rsp, 0x20
mov rdx, r14
call fcn.140091723
add rsp, 0x20
mov qword [rdi + 8], r14
mov rdi, qword [rdi]
mov r12, r14
mov rsi, qword [rbp - 0x28]
mov eax, r15d
mov dword [rdi], r15d
lea rcx, [rdi + 4]
movabs rax, 0x868a5e5c015e4ef8
imul rax, qword [0x1402b3498]
movabs rdx, 0x7fd5485f36c00609
imul rdx, qword [0x1402b34a0]
add rdx, rax
movabs rax, 0xdb72c3bc13b4af4a
add rax, rdx
mov rdx, rsi
cmp qword [rsi + 0x18], rax
jbe 0x1400a4875
mov rdx, qword [rsi]
mov r14, qword [rbp - 0x30]
mov rax, qword [0x1402b34a8]
mov r8, qword [0x1402b34b0]
shrd r8, rax, 0xd
movabs rax, 0xb415a67aeb550483
xor rax, r8
mov r8, r15
and r8, rax
sub rsp, 0x20
call fcn.1401a0ad0
add rsp, 0x20
mov rax, r12
sub rax, rdi
test rbx, rbx
je 0x1400a48fd
test rdi, rdi
je 0x1400a48fd
cmp r12, rdi
je 0x1400a48fd
movabs rcx, 0xbb1baa1227938b04
xor edx, edx
mov r8b, byte [rbx]
xor r8b, byte [rdi + rdx]
rol r8b, 2
mov byte [rdi + rdx], r8b
mov r8, qword [0x1402b34b8]
mov r9, qword [0x1402b34c0]
shrd r9, r8, 0x26
xor r9, rcx
add r9, rdx
mov rdx, r9
cmp r9, rax
jne 0x1400a48cd
mov qword [r14], rdi
mov qword [r14 + 8], rax
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x38]
mov rdx, r14
mov r8, qword [rbp - 0x40]
call fcn.1400a3f62
add rsp, 0x20
nop
test rdi, rdi
mov rsi, qword [rbp - 0x28]
je 0x1400a4a15
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x10]
sub rax, rdi
mov rcx, qword [0x1402b34c8]
mov rdx, qword [0x1402b34d0]
shrd rdx, rcx, 0x25
movabs rcx, 0x83547d9fda448143
xor rcx, rdx
cmp rax, rcx
jbe 0x1400a4a02
movabs rdx, 0xbfb3990977f05ef0
imul rdx, qword [0x1402b34d8]
movabs r8, 0x79de39e90e800364
imul r8, qword [str._y_e]
mov rcx, qword [rdi - 8]
add r8, rdx
add r8, rdi
sub r8, rcx
movabs rdx, 0xb1ac355472147714
add rdx, r8
movabs r8, 0xe9256f2fde995e69
imul r8, qword [0x1402b34e8]
movabs r9, 0x56014c0aab62fc94
imul r9, qword [0x1402b34f0]
add r9, r8
movabs r8, 0xc1b7bc86009267d1
add r8, r9
cmp rdx, r8
jae 0x1400a4b58
mov rdx, qword [0x1402b34f8]
mov r8, qword [0x1402b3500]
shrd r8, rdx, 0xe
movabs rdx, 0x71f93180176fb0e8
xor rdx, r8
add rax, rdx
mov rdx, rax
jmp 0x1400a4a08
mov rdx, rax
mov rcx, rdi
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, qword [rsi + 0x18]
mov rcx, qword [0x1402b3508]
mov rdx, qword [0x1402b3510]
shrd rdx, rcx, 0xc
movabs rcx, 0x8b62fb0b23bb0228
xor rcx, rdx
cmp rax, rcx
jbe 0x1400a4b43
mov rcx, qword [0x1402b3518]
mov r8, qword [0x1402b3520]
shrd r8, rcx, 0x26
mov rdx, qword [rsi]
movabs rcx, 0x2c3ff466ce78c73c
xor rcx, r8
add rcx, rax
movabs r8, 0x64550ea16a249c39
imul r8, qword [0x1402b3528]
movabs r9, 0xfb6a52bc5e124060
imul r9, qword [0x1402b3530]
add r9, r8
movabs r8, 0x27c101b2a9f06a3b
add r8, r9
cmp rcx, r8
jbe 0x1400a4b2d
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402b3538]
mov r9, qword [0x1402b3540]
shrd r9, r8, 0x12
movabs r8, 0xb64d1f94184446e9
xor r8, r9
add r8, rdx
sub r8, rcx
mov rdx, qword [0x1402b3548]
mov r9, qword [0x1402b3550]
shrd r9, rdx, 0x1e
movabs rdx, 0xe46d7c0b17bc28a4
xor rdx, r9
cmp r8, rdx
jae 0x1400a4b58
movabs rdx, 0x8f7540c8230f2f78
imul rdx, qword [0x1402b3558]
movabs r8, 0xbc59ddba473e42df
imul r8, qword [0x1402b3560]
add r8, rdx
movabs rdx, 0xb9f0fa9f281b0cb6
add rax, rdx
add rax, r8
jmp 0x1400a4b33
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movups xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
call fcn.1401aec6c
sub rsp, 0x20
call fcn.14000318f
nop
sub rsp, 0x20
call fcn.1400a5288
add rsp, 0x20
nop
int3