Function at 0x140090b70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
movzx r12d, word [rdx + 0x10]
mov rbp, qword [rdx]
mov r14, qword [rdx + 8]
mov rsi, rdx
mov rdi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dcf678]
or eax, dword [0x141dcf67c]
and eax, 0xa182ca82
or eax, 0x5e39303d
imul eax, eax, 0x182755c6
cmp eax, 0xca507f7e
je 0x140090ba0
nop word cs:[rax + rax]
mov eax, dword [0x141dcf680]
imul eax, dword [0x141dcf684]
and eax, 0x10802c34
xor eax, 0x10a0ad05
or eax, 0xad5742c0
cmp eax, 0x7e3f210f
jb 0x140090bd0
mov r11d, 0xbe7f0bb7
mov r13d, 0xd48f841d
test r12w, r12w
je 0x140090c40
nop word cs:[rax + rax]
mov eax, dword [0x141dcf6c0]
sub eax, dword [0x141dcf6c4]
and eax, 0x661c51f1
imul eax, eax, 0x61dcff2f
add eax, 0xdc4130f4
cmp eax, 0x66e16ece
jae 0x140090eb0
jmp 0x140090fa0
cmp rbp, r14
je 0x140091020
nop dword [rax]
mov eax, dword [0x141dcf688]
sub eax, dword [0x141dcf68c]
add eax, 0x8e640e24
cmp eax, 0x5222e5a7
jb 0x140090c50
lea rcx, [rbp + 1]
mov qword [rsi], rcx
movzx r12d, byte [rbp]
test r12b, r12b
jns 0x140090e50
mov eax, dword [0x141dcf690]
sub eax, dword [0x141dcf694]
shr eax, 1
imul rax, r11
shr rax, 0x3a
or eax, 0xb2fb4cef
imul eax, eax, 0xbe4dfb24
cmp eax, 0xa0b7db7f
jbe 0x140090cb0
lea rax, [rbp + 2]
mov qword [rsi], rax
nop dword [rax]
mov eax, dword [0x141dcf698]
imul eax, dword [str.IS_22]
add eax, 0x9fa6f64e
lea rcx, [rbp + 2]
mov qword [rsi], rcx
cmp eax, 0x87f21852
jb 0x140090cb0
mov r8d, r12d
and r8d, 0x1f
mov r10d, r8d
shl r10d, 6
movzx r9d, byte [rbp + 1]
mov eax, dword [0x141dcf6a0]
xor edx, edx
div dword [0x141dcf6a4]
nop word cs:[rax + rax]
mov eax, dword [0x141dcf6a8]
xor edx, edx
div dword [0x141dcf6ac]
or eax, 0xf9ed1da2
add eax, 0x7b50b422
or eax, 0x4c741bf7
cmp eax, 0x6f5629ef
je 0x140090d00
and r9d, 0x3f
cmp r12b, 0xdf
jbe 0x140090dc9
lea rcx, [rbp + 3]
mov qword [rsi], rcx
movzx eax, byte [rbp + 2]
shl r9d, 6
nop word cs:[rax + rax]
mov edx, dword [0x141dcf6b0]
and edx, dword [0x141dcf6b4]
and edx, 0x5c85abf1
cmp edx, 0xceb5f457
je 0x140090d50
and eax, 0x3f
or r9d, eax
cmp r12b, 0xf0
jb 0x140090dd1
lea rcx, [rbp + 4]
mov qword [rsi], rcx
movzx r12d, byte [rbp + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r12d, 0x3f
or r12d, r9d
or r12d, r8d
nop dword [rax + rax]
mov eax, dword [0x141dcf6b8]
or eax, dword [str.N_2]
imul rdx, rax, 0x4b116b47
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x22fca1e0
je 0x140090da0
jmp 0x140090de0
or r10d, r9d
mov r12d, r10d
jmp 0x140090e50
shl r8d, 0xc
or r9d, r8d
mov r12d, r9d
nop dword [rax + rax]
mov eax, dword [0x141dcf6d0]
xor eax, dword [0x141dcf6d4]
add eax, 0x185d86ed
and eax, 0x70c74440
cmp eax, 0x166e1c5b
ja 0x140090de0
cmp r12d, 0xffff
jbe 0x140090e50
lea eax, [r12 + 0xff0000]
shr eax, 0xa
xor edx, edx
test dl, dl
jne 0x140090e11
or eax, 0xd800
and r12d, 0x3ff
or r12d, 0xdc00
mov word [rsi + 0x10], r12w
mov rbp, rcx
mov r15d, r12d
mov r12d, eax
mov rbx, qword [rdi + 0x10]
cmp rbx, qword [rdi]
jne 0x140090eeb
jmp 0x140090f30
mov eax, dword [0x141dcf6d8]
xor edx, edx
div dword [0x141dcf6dc]
mov eax, dword [0x141dcf6e0]
add eax, dword [0x141dcf6e4]
imul eax, eax, 0x23c15f85
add eax, 0xb2352e12
imul rdx, rax, 0xff9b0fb
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
xor r15d, r15d
cmp eax, 0xe8924832
je 0x140090e5e
mov rbp, rcx
mov rbx, qword [rdi + 0x10]
cmp rbx, qword [rdi]
jne 0x140090eeb
jmp 0x140090f30
mov eax, dword [0x141dcf6c8]
sub eax, dword [0x141dcf6cc]
add eax, 0x981b7b7
imul rax, r13
shr rax, 0x3e
or eax, 0x602a273c
mov word [rsi + 0x10], 0
cmp eax, 0xac0b8207
jae 0x140090fa0
xor r15d, r15d
mov rbx, qword [rdi + 0x10]
cmp rbx, qword [rdi]
je 0x140090f30
mov rax, qword [rdi + 8]
mov ecx, dword [0x141dcf6e8]
and ecx, dword [0x141dcf6ec]
add ecx, 0x48ceb6a6
imul rcx, rcx, 0x5f5b049
shr rcx, 0x3a
add ecx, 0x3087576f
cmp ecx, 0x269399a4
jae 0x140090fb0
jmp 0x140090fdd
mov eax, dword [0x141dcf700]
imul eax, dword [0x141dcf704]
imul eax, eax, 0x994d86ac
xor eax, 0x2004600
and eax, 0x602c6e0
cmp eax, 0x40ae3ec4
ja 0x140090f30
mov r8, r14
sub r8, rbp
add r8, 3
mov rax, 0xffffffffffffffff
cmovb r8, rax
shr r8, 2
cmp r15w, 1
sbb r8, 0
add r8, 2
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rdi
mov rdx, rbx
call fcn.1400fe010
mov r11d, 0xbe7f0bb7
jmp 0x140090eeb
mov word [rsi + 0x10], 0
jmp 0x140090eb0
mov ecx, dword [0x141dcf6f0]
add ecx, dword [0x141dcf6f4]
xor ecx, 0x50efe15c
imul ecx, ecx, 0xc6255787
lea rdx, [rbx + 1]
mov word [rax + rbx*2], r12w
mov qword [rdi + 0x10], rdx
cmp ecx, 0xa719e207
jae 0x140090ff0
mov word [rax + rbx*2], r12w
lea rcx, [rbx + 1]
mov qword [rdi + 0x10], rcx
jmp 0x140090fb0
mov eax, dword [0x141dcf6f8]
and eax, dword [0x141dcf6fc]
imul eax, eax, 0x4bcbd0f1
add eax, 0xff412ff5
cmp eax, 0x8752bcf5
jae 0x140090ff0
mov r12d, r15d
test r12w, r12w
jne 0x140090c10
jmp 0x140090c40
mov eax, dword [0x141dcf708]
imul eax, dword [str.LI__]
or eax, 0x20000010
and eax, 0x2a000d93
cmp eax, 0x1f7bc0a0
jb 0x140091020
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret