Function at 0x140093550
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov r13, r8
mov r14, rdx
mov eax, dword [0x141dd2d60]
xor edx, edx
div dword [0x141dd2d64]
mov rsi, rcx
and eax, 0x4844c42b
or eax, 0x36ba3250
mov ecx, 0x89e4271b
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xdfdfcec2
jbe 0x1400935b0
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd2d68]
imul eax, dword [0x141dd2d6c]
imul ecx, eax, 0x314f7118
or ecx, 0x71bf7db3
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r15, rsp
cmp ecx, 0x381e3d46
jb 0x1400935b0
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rdi, rsp
mov rbx, r13
inc rbx
js 0x140093c0c
lea rdx, [r13*2 + 2]
movabs rax, 0x7ffffffffffffffe
cmp rdx, rax
ja 0x140093c0c
test rdx, rdx
je 0x14009365f
movzx eax, byte [0x141dde6f8]
sub rsp, 0x20
xor ecx, ecx
call fcn.1400c29b0
add rsp, 0x20
mov r12, rax
test rax, rax
jne 0x140093667
ud2
mov r12d, 2
xor ebx, ebx
mov qword [rbp], rsi
mov eax, dword [0x141dd2d80]
xor edx, edx
div dword [0x141dd2d84]
imul eax, eax, 0xb60fd40f
add eax, 0x7ffaea82
cmp eax, 0x6bd9929c
jae 0x1400936bf
mov qword [rdi], rbx
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], 0
lea rax, [r14 + r13]
mov qword [r15], r14
mov qword [r15 + 8], rax
mov word [r15 + 0x10], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.140093c50
add rsp, 0x20
add r13, r14
nop word cs:[rax + rax]
mov eax, dword [0x141dd2d88]
imul eax, dword [0x141dd2d8c]
and eax, 0x1a6bd9be
imul rax, rax, 0x9d615c9
shr rax, 0x37
imul esi, eax, 0xb0f38105
mov qword [rdi], rbx
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], 0
mov qword [r15], r14
mov qword [r15 + 8], r13
mov word [r15 + 0x10], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.140093c50
add rsp, 0x20
cmp esi, 0x486d0e7c
ja 0x1400936d0
mov r8, qword [rdi + 8]
mov rbx, qword [rdi + 0x10]
mov r9, rbx
mov rcx, r8
cmp rbx, 8
mov rsi, qword [rbp]
jb 0x140093987
xor r10d, r10d
mov r11d, 0x8a437f43
mov rcx, r8
mov r9, rbx
nop word cs:[rax + rax]
test r10b, r10b
jne 0x140093760
cmp word [rcx], 0
je 0x140093a2d
movzx eax, word [rcx + 2]
nop word cs:[rax + rax]
mov edx, dword [0x141dd2da8]
or edx, dword [0x141dd2dac]
and edx, 0x6b47388b
cmp edx, 0xfffbde29
je 0x140093780
test ax, ax
je 0x140093a2d
cmp word [rcx + 4], 0
je 0x140093a2d
nop
mov eax, dword [0x141dd2db0]
sub eax, dword [0x141dd2db4]
imul eax, eax, 0x7e19e891
add eax, 0x9c3006f0
imul rax, rax, 0x5142b43
shr rax, 0x3a
cmp eax, 0xe4715e3a
ja 0x1400937b0
cmp word [rcx + 6], 0
je 0x140093a2d
nop word cs:[rax + rax]
mov eax, dword [0x141dd2db8]
and eax, dword [0x141dd2dbc]
imul eax, eax, 0xb95049a6
xor eax, 0x6203841
or eax, 0xf9cf05b2
cmp eax, 0x2689a01d
je 0x1400937f0
cmp word [rcx + 8], 0
je 0x140093a2d
nop
mov eax, dword [0x141dd2dc0]
add eax, dword [0x141dd2dc4]
and eax, 0x844c5292
or eax, 0x7a810d21
imul eax, eax, 0xc15ef352
cmp eax, 0x3d7cc989
ja 0x140093820
nop word cs:[rax + rax]
test r10b, r10b
jne 0x140093850
cmp word [rcx + 0xa], 0
je 0x140093a2d
mov eax, dword [0x141dd2dc8]
xor edx, edx
div dword [0x141dd2dcc]
nop
mov eax, dword [0x141dd2dd0]
and eax, dword [0x141dd2dd4]
add eax, 0xa87b4d89
imul rax, r11
shr rax, 0x3f
cmp eax, 0x8068de
ja 0x140093870
mov eax, dword [0x141dd2dd8]
xor eax, dword [0x141dd2ddc]
imul eax, eax, 0x19e49ec1
imul rax, rax, 0x371c03fd
shr rax, 0x3d
imul eax, eax, 0xb5c35c7f
cmp eax, 0xd7447abd
ja 0x140093890
movzx eax, word [rcx + 0xc]
nop
mov edx, dword [0x141dd2de0]
xor edx, dword [0x141dd2de4]
imul rdx, rdx, 0x28af1609
shr rdx, 0x38
or edx, 0x60d68614
cmp edx, 0x5fff0d37
jb 0x1400938c0
test ax, ax
je 0x140093a2d
mov eax, dword [0x141dd2de8]
xor edx, edx
div dword [0x141dd2dec]
mov eax, dword [0x141dd2df0]
xor edx, edx
div dword [0x141dd2df4]
and eax, 0x97060892
cmp eax, 0x845d4646
je 0x1400938fc
movzx eax, word [rcx + 0xe]
nop word [rax + rax]
mov edx, dword [0x141dd2df8]
imul edx, dword [0x141dd2dfc]
xor edx, 0x24a40
or edx, 0x76793003
imul rdx, rdx, 0x7022395b
shr rdx, 0x3b
cmp edx, 0x447d9e01
ja 0x140093920
test ax, ax
je 0x140093a2d
add r9, 0xfffffffffffffff8
add rcx, 0x10
nop dword [rax]
mov eax, dword [0x141dd2e00]
and eax, dword [0x141dd2e04]
add eax, 0x82b0252e
and eax, 0xd47061ee
cmp eax, 0xe1787c21
je 0x140093960
cmp r9, 7
ja 0x140093760
lea rax, [rcx + r9*2]
mov edx, 0xd214dc6d
cmp rcx, rax
je 0x140093b4d
nop dword [rax]
mov r9d, dword [0x141dd2d90]
xor r9d, dword [0x141dd2d94]
add r9d, 0x97f4c767
xor r9d, 0xfc4b229
cmp r9d, 0xa2727bba
ja 0x1400939a0
lea r9, [rcx + 2]
mov r10d, dword [0x141dd2d98]
imul r10d, dword [0x141dd2d9c]
add r10d, 0x7580ce00
imul r10, rdx
shr r10, 0x3e
cmp r10d, 0x755be4c4
je 0x1400939c9
movzx r10d, word [rcx]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd2da0]
sub ecx, dword [0x141dd2da4]
imul ecx, ecx, 0x71a81680
and ecx, 0xe9f21800
cmp ecx, 0x2bef3788
jb 0x140093a00
mov rcx, r9
test r10w, r10w
jne 0x140093990
mov eax, dword [0x141dd2e08]
mov ecx, dword [0x141dd2e0c]
add eax, ecx
add eax, 0x8bc07e69
imul rcx, rax, 0x1e52df0d
shr rcx, 0x3c
lea rax, [0x141dbbbd8]
cmp ecx, 0xe6e2a38d
jbe 0x140093a60
mov qword [rsi + 8], rax
nop
mov ecx, dword [0x141dd2e10]
add ecx, dword [0x141dd2e14]
imul rdx, rcx, 0x240a685f
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
or ecx, 0xcb89fe0a
imul ecx, ecx, 0xea9d69c8
mov qword [rsi + 8], rax
cmp ecx, 0xdb88a3a9
ja 0x140093a60
movabs rax, 0x7ffffffffffffffe
add rax, 2
mov qword [rsi], rax
cmp qword [rdi], 0
je 0x140093bfb
mov eax, dword [0x141dd2e18]
imul eax, dword [0x141dd2e1c]
xor eax, 0x16bd89a4
imul eax, eax, 0x5ddca1c7
cmp eax, 0x97d92a63
jne 0x140093ae0
mov rax, qword [0x141dde6e0]
nop dword [rax]
mov eax, dword [0x141dd2e20]
sub eax, dword [0x141dd2e24]
add eax, 0x73f5482b
or eax, 0xf4960803
mov rcx, qword [0x141dde6e0]
cmp eax, 0x732a2514
je 0x140093ae0
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dd2e28]
or eax, dword [0x141dd2e2c]
add eax, 0x7f09d51d
imul rax, rax, 0x52a39ca5
shr rax, 0x3e
add eax, 0xb1670771
cmp eax, 0x96970efb
jb 0x140093b20
jmp 0x140093bfb
mov rax, qword [rdi]
mov ecx, dword [0x141dd2e30]
or ecx, dword [0x141dd2e34]
xor ecx, 0xcf1de045
imul rcx, rcx, 0x7a769621
shr rcx, 0x3e
imul ecx, ecx, 0xc71e0e86
cmp ecx, 0x4a78cb30
ja 0x140093b50
nop dword [rax + rax]
mov ecx, dword [0x141dd2e38]
and ecx, dword [0x141dd2e3c]
imul ecx, ecx, 0xf8856bad
cmp ecx, 0xf88a589e
je 0x140093b80
cmp rbx, rax
jne 0x140093be3
sub rsp, 0x20
mov rcx, rdi
call fcn.1400dcfb0
add rsp, 0x20
mov r8, qword [rdi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dd2e40]
or eax, dword [0x141dd2e44]
add eax, 0xa12067c0
imul rax, rax, 0x399815a7
shr rax, 0x3d
cmp eax, 0x5aacd7ef
ja 0x140093bc0
mov word [r8 + rbx*2], 0
inc rbx
mov qword [rdi + 0x10], rbx
mov qword [rsi + 0x10], rbx
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
test al, al
je 0x140093c20
ud2
mov eax, dword [0x141dd2d70]
xor eax, dword [0x141dd2d74]
xor eax, 0x65289196
imul eax, eax, 0x5fb74270
add eax, 0x12118062
ud2