Function at 0x1400a8900
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400a8920
mov ecx, edi
and ecx, 7
mov eax, dword [0x1415b60b8]
xor edx, edx
div dword [0x1415b60bc]
nop word [rax + rax]
mov eax, dword [0x1415b60c0]
or eax, dword [0x1415b60c4]
add eax, 0x7df758fe
xor eax, 0xad8745e8
imul eax, eax, 0x9fe9d5bc
cmp eax, 0x72aa5342
jb 0x1400a8940
test rcx, rcx
je 0x1400a8b50
lea rdx, [0x14159af70]
nop word cs:[rax + rax]
mov eax, dword [0x1415b60e0]
xor eax, dword [0x1415b60e4]
and eax, 0x638d9332
add eax, 0xd42e7656
and eax, 0xe39b3994
cmp eax, 0x7a2f3da3
je 0x1400a8980
mov rax, qword [rsi + 0xa0]
cmp rax, 0x28
ja 0x1400a8fc4
test rax, rax
je 0x1400a8b41
mov edx, dword [rdx + rcx*4]
nop
mov ecx, dword [0x1415b60e8]
sub ecx, dword [0x1415b60ec]
mov r8d, ecx
and r8d, 0x2988bb38
add r8d, r8d
neg r8d
add ecx, r8d
add ecx, 0x32a2926e
mov r8d, ecx
and r8d, 0x6321c9d9
add r8d, r8d
sub ecx, r8d
add ecx, 0xe321c9d9
cmp ecx, 0x3170e369
jb 0x1400a89c0
lea r8, [rax*4]
xor r9d, r9d
xor ecx, ecx
mov r10d, dword [rsi + r9]
mov r11d, r10d
not r11d
and r11d, edx
mov ebx, edx
not ebx
and ebx, r10d
imul rbx, r11
mov r11d, r10d
and r11d, edx
or r10, rdx
imul r10, r11
add r10, rcx
add r10, rbx
mov rcx, r10
shr rcx, 0x20
mov dword [rsi + r9], r10d
add r9, 4
cmp r8, r9
jne 0x1400a8a10
nop
mov edx, dword [0x1415b6108]
imul edx, dword [0x1415b610c]
add edx, 0x14832d43
or edx, 0xf75109e0
add edx, 0x25b85809
cmp edx, 0x3c66d2f7
ja 0x1400a8a50
test ecx, ecx
je 0x1400a8b43
nop
mov edx, dword [0x1415b6110]
or edx, dword [0x1415b6114]
add edx, 0xbbb6022f
mov r8d, edx
or r8d, 0x30144842
not edx
and edx, 0x8c11280
and r8d, 0xf216e85a
or r8d, edx
cmp r8d, 0x4e0424dd
je 0x1400a8a80
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x1400a8ac0
cmp rax, 0x27
ja 0x1400a90d8
mov dword [rsi + rax*4], ecx
inc rax
nop word cs:[rax + rax]
mov ecx, dword [0x1415b6118]
mov edx, dword [0x1415b611c]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
mov edx, ecx
xor edx, 0x295d4688
and ecx, 0x56a2b977
add ecx, ecx
sub ecx, edx
imul rdx, rcx, 0x410735fd
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
cmp ecx, 0x7254307f
je 0x1400a8ae0
jmp 0x1400a8b43
xor eax, eax
mov qword [rsi + 0xa0], rax
nop word [rax + rax]
mov eax, dword [0x1415b60c8]
mov ecx, dword [0x1415b60cc]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
imul rax, rcx, 0x570a2071
shr rax, 0x3e
or eax, 0x29c38614
mov ecx, eax
xor ecx, 0xb13512d3
and ecx, eax
cmp ecx, 0x19bad83e
je 0x1400a8b50
mov eax, edi
and eax, 8
mov ecx, 0xbf428129
nop word cs:[rax + rax]
mov edx, dword [0x1415b60d0]
sub edx, dword [0x1415b60d4]
mov r8d, edx
xor r8d, 0xdff36340
add r8d, edx
and edx, 0x200c9cbf
sub r8d, edx
mov rdx, r8
imul rdx, rcx
shr rdx, 0x20
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 0x1b
imul edx, r8d, 0x6da8d4af
cmp edx, 0x337bd99d
jb 0x1400a8ba0
nop dword [rax]
mov ecx, dword [0x1415b60d8]
imul ecx, dword [0x1415b60dc]
imul ecx, ecx, 0xa106c946
cmp ecx, 0xfb8e7c55
je 0x1400a8bf0
test rax, rax
je 0x1400a8df8
mov rax, qword [rsi + 0xa0]
nop dword [rax + rax]
mov ecx, dword [0x1415b6120]
mov edx, dword [0x1415b6124]
mov r8d, ecx
xor r8d, edx
not r8d
and r8d, edx
add r8d, r8d
sub edx, r8d
add edx, ecx
mov ecx, edx
and ecx, 0x82001049
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x82001008
and r8d, 0x45050541
imul r8d, r9d
and edx, 0x41
or ecx, 0x45050541
imul ecx, edx
add ecx, r8d
cmp ecx, 0xded08b88
ja 0x1400a8c20
cmp rax, 0x28
ja 0x1400a90a5
test rax, rax
je 0x1400a8def
lea rdx, [rax*4]
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
jmp 0x1400a8cb4
shr rcx, 0x20
add r9, 4
mov r10, rcx
cmp rdx, r9
je 0x1400a8d50
test r8b, r8b
jne 0x1400a8d37
nop dword [rax]
mov ecx, dword [0x1415b6148]
mov r11d, dword [0x1415b614c]
lea ebx, [rcx + r11]
add ecx, r11d
add ecx, 0x298d3c14
not ecx
or ecx, 0xcea40209
add ecx, ebx
add ecx, 0x298d3c14
imul r11d, ecx, 0x5d4e4ec2
mov ecx, dword [rsi + r9]
mov ebx, ecx
not ebx
and ebx, 0x5f5e100
mov r14d, ecx
and r14d, 0xfa0a1eff
imul r14, rbx
mov ebx, ecx
and ebx, 0x5f5e100
or rcx, 0x5f5e100
imul rcx, rbx
add rcx, r10
add rcx, r14
mov dword [rsi + r9], ecx
cmp r11d, 0x40aa15c6
jne 0x1400a8ca0
imul ecx, dword [rsi + r9], 0x5f5e100
add ecx, r10d
mov dword [rsi + r9], ecx
jmp 0x1400a8cc0
mov edx, dword [0x1415b6140]
mov r8d, dword [0x1415b6144]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
and edx, 0x4304dec
add edx, 0x6e079492
or edx, 0xfbf31c7d
cmp edx, 0x7010a5c2
je 0x1400a8d50
test ecx, ecx
je 0x1400a8df1
mov edx, 0xbc10b3a1
nop word cs:[rax + rax]
mov r8d, dword [0x1415b6150]
add r8d, dword [0x1415b6154]
or r8d, 0xca57df8e
imul r8, rdx
shr r8, 0x3f
add r8d, 0xb55b84a3
cmp r8d, 0x82391c6a
jb 0x1400a8db0
cmp rax, 0x27
ja 0x1400a90d8
mov dword [rsi + rax*4], ecx
inc rax
jmp 0x1400a8df1
xor eax, eax
mov qword [rsi + 0xa0], rax
mov eax, edi
and eax, 0x10
nop dword [rax]
mov ecx, dword [0x1415b6158]
xor ecx, dword [0x1415b615c]
mov edx, ecx
not edx
and edx, 0x8a753060
mov r8d, ecx
and r8d, 0x758acf9f
imul r8d, edx
mov edx, ecx
and edx, 0x8a753060
or ecx, 0x8a753060
imul ecx, edx
add ecx, r8d
add ecx, 0x45090fd5
mov edx, ecx
and edx, 0x49abefb1
add edx, edx
sub ecx, edx
cmp ecx, 0x14ed7a66
je 0x1400a8e00
test rax, rax
je 0x1400a8e70
lea rdx, [0x14159afc0]
mov r8d, 2
mov rcx, rsi
call fcn.1400a9390
nop dword [rax]
mov eax, dword [0x1415b6160]
mov ecx, dword [0x1415b6164]
mov edx, eax
not edx
or eax, ecx
not ecx
or ecx, edx
and ecx, eax
add ecx, 0x66099461
imul rax, rcx, 0x1e565267
shr rax, 0x3b
imul eax, eax, 0xf73c08f4
cmp eax, 0xdab6eb73
je 0x1400a8e70
mov eax, 0xab1d11af
nop dword [rax + rax]
mov ecx, dword [0x1415b6168]
mov edx, dword [0x1415b616c]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
xor ecx, 0x9166f8b0
imul rcx, rax
shr rcx, 0x3c
or ecx, 0x329b31c8
cmp ecx, 0x249a79c7
je 0x1400a8eb0
test dil, 0x20
je 0x1400a8f51
lea rdx, [0x14159afc8]
mov r8d, 4
mov rcx, rsi
call fcn.1400a9390
nop word cs:[rax + rax]
mov eax, dword [0x1415b6170]
mov ecx, dword [0x1415b6174]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
xor eax, 0x4004004
or eax, 0xa01436f0
and eax, 0xbcdf76f7
cmp eax, 0xb42d4f40
je 0x1400a8f10
mov eax, 0x8a13bd27
nop word cs:[rax + rax]
mov ecx, dword [0x1415b6178]
and ecx, dword [0x1415b617c]
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0xee95393d
imul rcx, rcx, 0x20075c37
shr rcx, 0x3b
cmp ecx, 0x235e83a5
ja 0x1400a8f60
test dil, 0x40
je 0x1400a9180
mov eax, dword [0x1415b6180]
imul eax, dword [0x1415b6184]
add eax, 0x51afc695
and eax, 0xf8b6db4e
imul eax, eax, 0x6c8b4463
cmp eax, 0xe77660d4
jbe 0x1400a9146
jmp 0x1400a9161
mov eax, dword [0x1415b60f0]
sub eax, dword [str.DXUe]
add eax, 0x9501ad69
not eax
or eax, 0x8f18d8b8
mov ecx, eax
not ecx
and eax, 0x22eacf81
mov edx, ecx
and edx, 0x50052046
imul edx, eax
mov eax, ecx
and eax, 0x20e20701
or ecx, 0x22eacf81
imul ecx, eax
add ecx, edx
cmp ecx, 0x2113ac08
jae 0x1400a900c
ud2
mov eax, 0xa7576d39
nop word cs:[rax + rax]
mov ecx, dword [0x1415b60f8]
xor ecx, dword [0x1415b60fc]
imul ecx, ecx, 0x1b003dc0
xor ecx, 0xc2cc5af
imul rcx, rax
shr rcx, 0x3f
ud2
mov eax, dword [0x1415b6128]
mov ecx, eax
not ecx
or ecx, dword [0x1415b612c]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x539755a8
xor eax, 0xd39755a8
lea eax, [rax + rcx*2]
imul eax, eax, 0x2439c96c
cmp eax, 0x1a69fd12
jne 0x1400a90da
jmp 0x1400a910d
ud2
mov eax, dword [0x1415b6130]
mov ecx, dword [0x1415b6134]
not eax
not ecx
or ecx, eax
not ecx
or ecx, 0x6735b1e5
imul rax, rcx, 0x4b447c13
shr rax, 0x3d
add eax, 0xabc06b9f
ud2
ud2
lea rdx, [0x14159afd8]
mov r8d, 7
mov rcx, rsi
call fcn.1400a9390
xor eax, eax
test al, al
je 0x1400a9180
lea rdx, [0x14159afd8]
mov r8d, 7
mov rcx, rsi
call fcn.1400a9390
jmp 0x1400a9146
mov eax, dword [0x1415b6188]
sub eax, dword [0x1415b618c]
and eax, 0xd8054589
imul eax, eax, 0x7780b0e0
add eax, 0xa293b23b
cmp eax, 0x186e3ba1
jb 0x1400a9180
nop word cs:[rax + rax]
mov eax, dword [0x1415b6190]
mov ecx, dword [0x1415b6194]
add eax, ecx
add eax, 0x1a99ae16
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x9abfdf51
and ecx, 0x654020ae
imul ecx, edx
mov edx, eax
and edx, 0x654020ae
or eax, 0x654020ae
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xcfda4050
or eax, 0xcfda4051
add eax, ecx
cmp eax, 0x50bf59e2
jb 0x1400a91b0
test dil, dil
jns 0x1400a92de
mov eax, dword [0x1415b6198]
xor edx, edx
div dword [0x1415b619c]
imul eax, eax, 0x770e5582
mov ecx, eax
xor ecx, 0xd446164
xor eax, 0x10210011
and eax, 0x52319013
and ecx, 0xadce6fec
or ecx, eax
cmp ecx, 0x50f84964
jne 0x1400a9254
lea rdx, [0x14159aff4]
mov r8d, 0xe
mov rcx, rsi
call fcn.14021afb0
lea rbx, [0x14159aff4]
nop dword [rax + rax]
mov eax, dword [0x1415b61a0]
sub eax, dword [0x1415b61a4]
mov ecx, eax
and ecx, 0x8911ddc
add ecx, ecx
neg ecx
lea ebp, [rax + rcx]
add ebp, 0xf8911ddc
or ebp, 0xcd8f5d29
and ebp, 0xddff5f2f
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbx
call fcn.14021afb0
cmp ebp, 0x47a9af29
je 0x1400a9260
nop word cs:[rax + rax]
mov eax, dword [0x1415b61a8]
sub eax, dword [0x1415b61ac]
add eax, 0x974a1798
mov ecx, eax
xor ecx, 0x9f615ca7
and eax, 0x609ea358
add eax, eax
sub eax, ecx
add eax, 0x2f7cb88
cmp eax, 0x2d38ab2f
jb 0x1400a92b0
mov rax, rdi
xor rax, 0xfffffffffffffeff
or rdi, 0x100
and rdi, rax
mov eax, dword [0x1415b61b0]
xor edx, edx
div dword [0x1415b61b4]
nop
mov eax, dword [0x1415b61b8]
imul eax, dword [0x1415b61bc]
mov ecx, eax
xor ecx, 0x3234240
xor eax, 0x4142020
and eax, 0x5454b137
and ecx, 0x2bab4ec8
sub ecx, eax
or ecx, 0xb3ef731c
cmp ecx, 0x14e2f337
jb 0x1400a9300
nop word cs:[rax + rax]
mov eax, dword [0x1415b61c0]
xor edx, edx
div dword [0x1415b61c4]
imul eax, eax, 0xdca10b67
xor eax, 0x26940285
or eax, 0xd04afd28
cmp eax, 0x6210bdc5
je 0x1400a9340
test rdi, rdi
je 0x1400a937f
lea rdx, [0x14159b02c]
mov r8d, 0x1b
mov rcx, rsi
call fcn.14021afb0
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret