Function at 0x140090320
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rbx, r8
mov eax, dword [str.s_]
or eax, dword [0x141dcfdfc]
and eax, 0xcfc8392
add eax, 0x8675fcdb
or eax, 0xe9d9ea56
cmp eax, 0x7fa59d3c
jae 0x140090374
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r8d, 0xc682abbb
nop word [rax + rax]
mov eax, dword [0x141dcfe00]
imul eax, dword [0x141dcfe04]
imul rax, r8
shr rax, 0x3d
imul r9d, eax, 0xe5d5b0cf
and r9d, 0x88afdbc
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
cmp r9d, 0xdb48dbbc
je 0x140090380
mov qword [rbp - 8], rdx
lea rsi, [rbx + 1]
lea r12, [rbx*2 + 2]
nop dword [rax]
mov eax, dword [0x141dcfe08]
mov edx, dword [0x141dcfe0c]
add eax, edx
add eax, 0x90b69d87
and eax, 0x28062018
cmp eax, 0xb85a193b
ja 0x1400903e0
test rsi, rsi
js 0x140090b1f
movabs rax, 0x7ffffffffffffffe
cmp r12, rax
ja 0x140090b1f
nop dword [rax + rax]
mov eax, dword [0x141dcfe18]
imul eax, dword [0x141dcfe1c]
imul eax, eax, 0xb861fa3c
cmp eax, 0x3ad28479
je 0x140090420
test r12, r12
mov qword [rbp], rcx
je 0x1400909e9
mov eax, dword [0x141dcfe20]
add eax, dword [0x141dcfe24]
or eax, 0xb2211789
imul eax, eax, 0x780cc859
cmp eax, 0x8588427c
jne 0x140090480
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.1400bf820
add rsp, 0x20
nop
mov r14d, dword [0x141dcfe28]
add r14d, dword [0x141dcfe2c]
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.1400bf820
add rsp, 0x20
cmp r14d, 0x50edccd1
je 0x140090480
mov r13, rax
test rax, rax
je 0x140090b56
xor eax, eax
test al, al
mov r12, qword [rbp - 8]
je 0x1400904fa
mov qword [rdi], rsi
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], 0
lea rax, [r12 + rbx]
mov qword [r15], r12
mov qword [r15 + 8], rax
mov word [r15 + 0x10], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.140090c30
add rsp, 0x20
add rbx, r12
nop dword [rax]
mov eax, dword [0x141dcfe38]
add eax, dword [0x141dcfe3c]
imul eax, eax, 0x5c2b27aa
imul rax, rax, 0x3b55f08f
shr rax, 0x3d
imul r14d, eax, 0x8a7b803f
mov qword [rdi], rsi
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], 0
mov qword [r15], r12
mov qword [r15 + 8], rbx
mov word [r15 + 0x10], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.140090c30
add rsp, 0x20
cmp r14d, 0x587dba5e
jb 0x140090500
mov r8, qword [rdi + 8]
mov rbx, qword [rdi + 0x10]
mov r9, rbx
mov rcx, r8
cmp rbx, 8
mov r15, qword [rbp]
jb 0x140090867
xor r10d, r10d
mov r11d, 0xbbb84fe3
mov r14d, 0xa8116647
mov rcx, r8
mov r9, rbx
nop
mov eax, dword [0x141dcfe60]
xor eax, dword [0x141dcfe64]
or eax, 0x3e74e6be
imul eax, eax, 0x3e395505
xor eax, 0xe398dc8
cmp eax, 0x9fa61fc7
ja 0x140090590
cmp word [rcx], 0
je 0x140090940
nop dword [rax]
mov eax, dword [0x141dcfe68]
sub eax, dword [0x141dcfe6c]
add eax, 0x197899e2
xor eax, 0x5c16ec05
imul rdx, rax, 0x3910c33b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0xfca3fdfb
ja 0x1400905c0
mov eax, dword [0x141dcfe70]
mov edx, dword [0x141dcfe74]
add eax, edx
add eax, 0x8979aa9d
or eax, 0x5a7945ec
cmp eax, 0x3d2f74f5
je 0x1400905f1
movzx eax, word [rcx + 2]
nop word cs:[rax + rax]
mov edx, dword [0x141dcfe78]
mov esi, dword [0x141dcfe7c]
add edx, esi
add edx, 0x8f13a644
xor edx, 0x4547acf
add edx, 0xefbb0e1d
cmp edx, 0x43b181f1
jb 0x140090620
test ax, ax
je 0x140090940
mov eax, dword [0x141dcfe80]
xor edx, edx
div dword [0x141dcfe84]
imul eax, eax, 0xbe9d9fba
add eax, 0x52515b80
imul rax, rax, 0x5e4e8f8b
shr rax, 0x3e
cmp eax, 0x2009899e
ja 0x140090651
movzx esi, word [rcx + 4]
mov eax, dword [0x141dcfe88]
xor edx, edx
div dword [0x141dcfe8c]
nop
mov eax, dword [str.QR]
sub eax, dword [0x141dcfe94]
or eax, 0x6f7aaee4
shr eax, 2
imul rax, rax, 0x4a252bf1
shr rax, 0x3c
cmp eax, 0xb17f4abe
je 0x140090690
test si, si
je 0x140090940
mov eax, dword [0x141dcfe98]
or eax, dword [0x141dcfe9c]
or eax, 0xfeea08f1
cmp eax, 0x1ed931bf
je 0x1400906bf
mov eax, dword [0x141dcfea0]
add eax, dword [0x141dcfea4]
imul eax, eax, 0xb702e5fc
imul rax, rax, 0x2ec1e15d
shr rax, 0x3d
or eax, 0xa05d0222
cmp eax, 0x76263b6
jb 0x1400906d7
cmp word [rcx + 6], 0
je 0x140090940
mov eax, dword [0x141dcfea8]
sub eax, dword [0x141dcfeac]
add eax, 0x48d896cb
or eax, 0xf92ddddd
cmp eax, 0x8fecbaea
je 0x14009070b
nop dword [rax + rax]
mov eax, dword [0x141dcfeb0]
or eax, dword [0x141dcfeb4]
imul eax, eax, 0x428a48dc
imul rax, rax, 0x3f4bb775
shr rax, 0x3d
or eax, 0xbbf65f06
cmp eax, 0xe6e560ee
ja 0x140090730
movzx eax, word [rcx + 8]
nop dword [rax]
test r10b, r10b
jne 0x140090760
test ax, ax
je 0x140090940
cmp word [rcx + 0xa], 0
je 0x140090940
movzx eax, word [rcx + 0xc]
nop dword [rax]
mov edx, dword [0x141dcfeb8]
and edx, dword [0x141dcfebc]
or edx, 0xf878812b
xor edx, 0x2a672c37
imul rdx, r11
shr rdx, 0x3f
cmp edx, 0x124314cb
ja 0x140090780
test ax, ax
je 0x140090940
nop word cs:[rax + rax]
mov eax, dword [0x141dcfec0]
and eax, dword [0x141dcfec4]
imul rax, r14
shr rax, 0x3f
or eax, 0x7e337e38
cmp eax, 0xbaad2b9a
ja 0x1400907c0
mov eax, dword [0x141dcfec8]
imul eax, dword [0x141dcfecc]
and eax, 0x46080010
cmp eax, 0xf7826e5b
ja 0x1400907e0
movzx eax, word [rcx + 0xe]
mov edx, dword [0x141dcfed0]
or edx, dword [0x141dcfed4]
imul edx, edx, 0x17546f8e
and edx, 0x95f0e9d4
imul edx, edx, 0x3df37b66
cmp edx, 0xe40d9d10
je 0x1400907fd
test ax, ax
je 0x140090940
add r9, 0xfffffffffffffff8
add rcx, 0x10
nop word cs:[rax + rax]
mov eax, dword [0x141dcfed8]
or eax, dword [0x141dcfedc]
add eax, 0x55c36fd0
or eax, 0x86182e9a
cmp eax, 0x81f81e84
jb 0x140090840
cmp r9, 7
ja 0x140090590
lea r9, [rcx + r9*2]
mov r10d, 0xa0e57dfb
nop word cs:[rax + rax]
cmp rcx, r9
je 0x140090a04
mov eax, dword [0x141dcfe40]
xor edx, edx
div dword [0x141dcfe44]
nop word [rax + rax]
mov eax, dword [0x141dcfe48]
imul eax, dword [0x141dcfe4c]
and eax, 0x34603204
or eax, 0x43140cd1
imul rax, rax, 0x639ffc71
shr rax, 0x3a
cmp eax, 0x96ccb72c
je 0x1400908a0
movzx eax, word [rcx]
add rcx, 2
mov edx, dword [0x141dcfe50]
or edx, dword [0x141dcfe54]
imul edx, edx, 0x2a131882
and edx, 0xbf411d5c
imul rdx, r10
shr rdx, 0x3e
cmp edx, 0x93c3b4a0
je 0x1400908d0
nop dword [rax + rax]
mov edx, dword [0x141dcfe58]
or edx, dword [0x141dcfe5c]
imul edx, edx, 0x817905f2
imul rdx, rdx, 0x243bf79f
shr rdx, 0x3c
or edx, 0x5fb98928
cmp edx, 0xe86e934d
ja 0x140090900
test ax, ax
jne 0x140090880
nop word cs:[rax + rax]
mov eax, dword [0x141dcfee0]
or eax, dword [0x141dcfee4]
add eax, 0xcb082578
xor eax, 0x23824da9
imul rax, rax, 0x71ef299b
shr rax, 0x3d
cmp eax, 0xa4091203
ja 0x140090940
lea rax, [0x141db97d8]
mov qword [r15 + 8], rax
movabs rax, 0x7ffffffffffffffe
add rax, 2
mov qword [r15], rax
mov rax, qword [rdi]
nop word [rax + rax]
mov ecx, dword [0x141dcfee8]
and ecx, dword [0x141dcfeec]
add ecx, 0x3da8b11d
or ecx, 0xf08f52cf
cmp ecx, 0x66b5a00e
jb 0x140090990
test rax, rax
je 0x140090bc0
mov eax, dword [0x141dcfef0]
and eax, dword [0x141dcfef4]
mov ecx, 0x93fc0c6f
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x10862c52
cmp ecx, 0xc26ea54f
jbe 0x140090b95
jmp 0x140090ba2
mov r13d, 2
xor esi, esi
xor eax, eax
test al, al
mov r12, qword [rbp - 8]
jne 0x1400904c6
jmp 0x1400904fa
mov rcx, qword [rdi]
nop word [rax + rax]
mov eax, dword [0x141dcff00]
xor edx, edx
div dword [0x141dcff04]
xor eax, 0x59b71dae
imul rax, rax, 0x1bd11a31
shr rax, 0x3b
imul eax, eax, 0x7f5e1785
cmp eax, 0xa9d907eb
je 0x140090a10
cmp rbx, rcx
jne 0x140090aa2
sub rsp, 0x20
mov rcx, rdi
call fcn.1400da110
add rsp, 0x20
mov eax, 0x89c1bb1d
nop word cs:[rax + rax]
mov ecx, dword [0x141dcff10]
add ecx, dword [0x141dcff14]
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0xc368871f
je 0x140090a60
mov r8, qword [rdi + 8]
mov eax, dword [0x141dcff18]
and eax, dword [0x141dcff1c]
xor eax, 0x458c18b
add eax, 0x67e9520b
or eax, 0xfb944a91
cmp eax, 0x309cf01e
jb 0x140090a80
mov eax, dword [0x141dcff20]
imul eax, dword [0x141dcff24]
imul eax, eax, 0x5de50b57
xor eax, 0xd477623a
add eax, 0x153e43b5
cmp eax, 0x6648dcc0
jae 0x140090ae0
mov word [r8 + rbx*2], 0
lea rax, [rbx + 1]
mov qword [rdi + 0x10], rax
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
lea rax, [rbx + 1]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcff28]
add ecx, dword [0x141dcff2c]
mov word [r8 + rbx*2], 0
mov qword [rdi + 0x10], rax
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
cmp ecx, 0x2797825d
je 0x140090af0
jmp 0x140090be4
ud2
ud2
mov rcx, qword [0x141ddb9a0]
xor eax, eax
test al, al
je 0x140090bab
mov rax, qword [0x141ddb9a0]
jmp 0x140090b95
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141dcfef8]
imul eax, dword [0x141dcfefc]
imul eax, eax, 0x23867c91
add eax, 0x5d60fa94
and eax, 0xa4aa01e1
cmp eax, 0x10dbe25a
je 0x140090bc0
mov eax, 0x92e1662b
nop dword [rax]
mov ecx, dword [0x141dcff08]
or ecx, dword [0x141dcff0c]
add ecx, 0xc372b2b3
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xcc64a499
je 0x140090bf0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret