Function at 0x1400a4130
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
mov ebp, r9d
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movabs rax, 0x700000000
mov qword [rsp + 0x44], rax
mov word [rsp + 0x54], 0
mov qword [rsp + 0x4c], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 1
mov eax, r9d
or eax, 0x2000000
mov dword [rsp + 0x40], eax
lea r8, [rsp + 0x30]
mov rcx, rdx
mov rdx, rdi
call fcn.140098e00
mov rbx, rdx
test rax, rax
je 0x1400a43f7
nop dword [rax + rax]
mov eax, dword [0x141f3ed08]
and eax, dword [0x141f3ed0c]
imul eax, eax, 0x176e57cd
add eax, 0xa461fc86
cmp eax, 0x1e3cf3ee
jb 0x1400a41b0
mov eax, ebx
and eax, 3
nop word cs:[rax + rax]
mov ecx, dword [0x141f3ed10]
or ecx, dword [0x141f3ed14]
and ecx, 0x33008220
xor ecx, 0x4180a422
or ecx, 0x881f594c
cmp ecx, 0x25d83769
jb 0x1400a41e0
cmp eax, 2
jb 0x1400a4390
cmp eax, 2
jne 0x1400a4360
mov rax, rbx
shr rax, 0x20
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400a4230
nop word cs:[rax + rax]
mov ecx, dword [0x141f3ed20]
imul ecx, dword [0x141f3ed24]
imul rcx, rcx, 0x165dde89
shr rcx, 0x3c
imul ecx, ecx, 0x7a75792c
cmp ecx, 0x8e9bc7d1
ja 0x1400a4240
cmp eax, 5
je 0x1400a4274
cmp eax, 0x20
jne 0x1400a4390
movabs r15, 0x8000000000000000
lea rcx, [rsp + 0x70]
mov rdx, r14
mov r8, rdi
call fcn.1400965b0
mov r12, qword [rsp + 0x70]
mov eax, dword [0x141f3ed40]
xor ecx, ecx
xor edx, edx
div dword [0x141f3ed44]
nop word cs:[rax + rax]
test cl, cl
jne 0x1400a42b0
mov rdi, qword [rsp + 0x78]
cmp r12, r15
jne 0x1400a4482
nop word cs:[rax + rax]
mov eax, dword [0x141f3ed48]
or eax, dword [0x141f3ed4c]
xor eax, 0x210283c0
or eax, 0xde59543d
add eax, 0x5ce3e2b9
cmp eax, 0x2870bd68
jb 0x1400a42d0
nop word cs:[rax + rax]
mov eax, dword [0x141f3ed50]
sub eax, dword [0x141f3ed54]
and eax, 0xa30da510
add eax, 0xd027eea6
xor eax, 0xfdb3cd05
cmp eax, 0x17366170
ja 0x1400a4300
nop word cs:[rax + rax]
mov eax, dword [0x141f3ed58]
xor edx, edx
div dword [0x141f3ed5c]
add eax, 0xc9f73628
xor eax, 0x3bbede38
add eax, 0xcf2f2cd
cmp eax, 0xaf56085a
jbe 0x1400a4330
jmp 0x1400a4579
mov eax, dword [0x141f3ed18]
xor eax, dword [0x141f3ed1c]
imul rax, rax, 0x37a30079
shr rax, 0x3b
add eax, 0xcdb58106
or eax, 0x53d77a12
cmp eax, 0xc12d17d9
jb 0x1400a4360
nop dword [rax + rax]
mov eax, dword [0x141f3ed28]
add eax, dword [0x141f3ed2c]
or eax, 0x2a25d820
shr eax, 4
imul rax, rax, 0x40274ff
shr rax, 0x35
xor eax, 0x3a42f5ef
cmp eax, 0x9888f6b
jb 0x1400a4390
mov qword [rsi + 8], rbx
mov eax, dword [0x141f3ed30]
xor edx, edx
div dword [0x141f3ed34]
mov ecx, 0xeb74719b
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x7b92f503
and ecx, 0x7b900503
cmp ecx, 0xa6e8fc42
jne 0x1400a499f
jmp 0x1400a49c8
mov eax, dword [0x141f3ecf0]
sub eax, dword [0x141f3ecf4]
xor eax, 0xa64959b9
add eax, 0xa7d04795
cmp eax, 0x8bed8f29
jae 0x1400a4420
mov rcx, rsi
mov rdx, rbx
call fcn.1400998d0
nop
mov eax, dword [0x141f3ecf8]
xor eax, dword [0x141f3ecfc]
imul edi, eax, 0x3a2792d9
add edi, 0x60307430
and edi, 0x80da9f34
mov rcx, rsi
mov rdx, rbx
call fcn.1400998d0
cmp edi, 0xb7b2ed7f
ja 0x1400a4420
mov rcx, rbx
call qword [0x1401082b0]
nop word [rax + rax]
mov eax, dword [0x141f3ed00]
and eax, dword [0x141f3ed04]
and eax, 0x8836d089
xor eax, 0x1ddb8f0b
cmp eax, 0xc7baeac4
ja 0x1400a4460
jmp 0x1400a4ac7
mov r13, qword [rsp + 0x80]
mov ecx, 0x90fac911
nop
mov eax, dword [0x141f3ed60]
xor edx, edx
div dword [0x141f3ed64]
imul rax, rcx
shr rax, 0x3f
or eax, 0xba25e95e
cmp eax, 0x31a8a231
jb 0x1400a4490
mov dword [rsp + 0x2c], ebp
mov eax, dword [0x141f3ed68]
xor edx, edx
div dword [0x141f3ed6c]
mov ecx, 0x99102375
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0xf67593d2
cmp eax, 0x7da3a519
jbe 0x1400a450b
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], r13
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x88]
mov r8b, 1
call fcn.14009a1f0
lea r14, [rsp + 0x58]
lea r15, [rsp + 0x88]
mov rbp, rdi
nop dword [rax + rax]
mov eax, dword [0x141f3ed70]
sub eax, dword [0x141f3ed74]
imul edi, eax, 0xf181cbfa
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r13
mov rcx, r14
mov rdx, r15
mov r8b, 1
call fcn.14009a1f0
cmp edi, 0x62a95175
je 0x1400a4520
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
movabs rax, 0x8000000000000000
cmp r12, rax
jne 0x1400a4590
mov qword [rsi + 8], rdi
mov qword [rsi], 2
jmp 0x1400a4ac7
mov eax, dword [0x141f3ed78]
imul eax, dword [0x141f3ed7c]
xor eax, 0x1d6de23d
imul eax, eax, 0x8afe7637
shr eax, 2
imul rax, rax, 0x2cbb68f
shr rax, 0x35
cmp eax, 0x7d11e14
je 0x1400a4590
xor eax, eax
test al, al
je 0x1400a45e7
lea r14, [rsp + 0x88]
mov r8d, 0x250
mov rcx, r14
xor edx, edx
call fcn.1400f563c
mov rcx, rdi
mov rdx, r14
call qword [0x140108140]
lea r14, [rsp + 0x88]
mov r13, qword [0x140108140]
nop word cs:[rax + rax]
mov eax, dword [0x141f3ed80]
xor edx, edx
div dword [0x141f3ed84]
mov r15d, eax
or r15d, 0x8ff90c5d
add r15d, 0x1df3ab30
xor r15d, 0xa404699f
mov r8d, 0x250
mov rcx, r14
xor edx, edx
call fcn.1400f563c
mov rcx, rdi
mov rdx, r14
call r13
cmp r15d, 0xeca654ac
ja 0x1400a4600
cmp rax, 0xffffffffffffffff
je 0x1400a4905
mov rcx, rax
call qword [0x140108148]
mov eax, dword [rsp + 0x88]
mov ecx, eax
shl ecx, 0x15
sar ecx, 0x1f
mov r9d, dword [rsp + 0x2c]
nop
mov edx, dword [0x141f3ed88]
sub edx, dword [0x141f3ed8c]
add edx, 0x80fa9239
and edx, 0x96a38cec
add edx, 0x174c91f4
cmp edx, 0xb4819161
ja 0x1400a4670
mov r8d, dword [rsp + 0xa8]
and ecx, dword [rsp + 0xac]
mov edx, dword [rsp + 0xa4]
movups xmm0, xmmword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x9c]
test r9d, r9d
jne 0x1400a473c
xor r9d, r9d
test r9b, r9b
jne 0x1400a46c5
mov r10d, ecx
shr r10d, 0x1d
mov r9d, eax
shr r9d, 0xa
and r9d, r10d
and r9d, 1
mov r10d, dword [0x141f3eda8]
imul r10d, dword [0x141f3edac]
add r10d, 0xec094ef3
and r10d, 0x8b62cfcd
cmp r10d, 0xa601760f
je 0x1400a46df
test r9b, r9b
je 0x1400a473c
mov eax, dword [0x141f3ede8]
and eax, dword [0x141f3edec]
imul eax, eax, 0x974b4061
and eax, 0x3bd3a8da
imul rax, rax, 0x471a645b
shr rax, 0x3c
cmp eax, 0x2fec0d30
jbe 0x1400a49d1
jmp 0x1400a49ff
shl rdx, 0x20
mov r9d, dword [0x141f3edb0]
imul r9d, dword [0x141f3edb4]
or r9d, 0xe1f4e45
add r9d, 0x95ccc051
and r9d, 0x17a0525a
cmp r9d, 0xcef037b6
jbe 0x1400a4782
mov qword [rsi], 0
mov dword [rsi + 0x10], 0
mov dword [rsi + 0x18], 0
or rdx, r8
nop word cs:[rax + rax]
mov r8d, dword [0x141f3edb8]
imul r8d, dword [0x141f3edbc]
imul r8d, r8d, 0x505340cc
xor r8d, 0xf54120b4
add r8d, 0xd0875962
mov qword [rsi], 0
mov dword [rsi + 0x10], 0
mov dword [rsi + 0x18], 0
cmp r8d, 0x88f67be2
ja 0x1400a4790
mov r8d, dword [0x141f3edc0]
xor r8d, dword [0x141f3edc4]
add r8d, 0x77f1487c
or r8d, 0x486f89ba
cmp r8d, 0x4f87a432
jne 0x1400a4810
movups xmmword [rsi + 0x20], xmm0
movlps qword [rsi + 0x30], xmm1
mov qword [rsi + 0x38], rdx
mov dword [rsi + 0x40], 0
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], ecx
mov r8d, dword [0x141f3edc8]
imul r8d, dword [0x141f3edcc]
add r8d, 0x73f6d5a1
xor r8d, 0x74ea840b
movups xmmword [rsi + 0x20], xmm0
movlps qword [rsi + 0x30], xmm1
mov qword [rsi + 0x38], rdx
mov dword [rsi + 0x40], 0
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x50], ecx
cmp r8d, 0xb14fdeee
ja 0x1400a4810
nop
mov eax, dword [0x141f3edd0]
imul eax, dword [0x141f3edd4]
imul eax, eax, 0xf9761252
xor eax, 0xc57714a7
cmp eax, 0x83c9c8d5
jb 0x1400a4850
test r12, r12
je 0x1400a4ac7
mov rsi, qword [0x141f49060]
mov eax, dword [0x141f3edd8]
add eax, dword [0x141f3eddc]
imul rax, rax, 0x167080fd
shr rax, 0x3c
or eax, 0xbc20ea0e
imul rax, rax, 0x1ae1b06d
shr rax, 0x3c
cmp eax, 0x36f95d57
jbe 0x1400a48bb
mov rcx, rsi
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
mov rbx, qword [0x1401082d0]
mov r14, rdi
nop word cs:[rax + rax]
mov edi, dword [0x141f3ede0]
and edi, dword [0x141f3ede4]
or edi, 0xb90d0a2a
and edi, 0xbb8f0feb
xor edi, 0x3efbcfed
mov rcx, rsi
xor edx, edx
mov r8, r14
call rbx
cmp edi, 0xd83323f5
ja 0x1400a48d0
jmp 0x1400a4ac7
mov eax, dword [0x141f3ed90]
sub eax, dword [0x141f3ed94]
add eax, 0x61681e6f
and eax, 0x9e3618ff
cmp eax, 0x128d94a3
jae 0x1400a4930
mov qword [rsi + 8], rbx
mov qword [rsi], 2
nop dword [rax]
mov eax, dword [0x141f3ed98]
or eax, dword [0x141f3ed9c]
xor eax, 0xa4004
or eax, 0xffe4bff3
mov qword [rsi + 8], rbx
mov qword [rsi], 2
cmp eax, 0xe34aaa26
je 0x1400a4930
test r12, r12
je 0x1400a4ac7
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
mov eax, 0x8133d501
mov ecx, dword [0x141f3eda0]
and ecx, dword [0x141f3eda4]
or ecx, 0x3ae19f3d
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xd93c3ec5
je 0x1400a4978
jmp 0x1400a4ac7
mov eax, dword [0x141f3ed38]
sub eax, dword [0x141f3ed3c]
xor eax, 0xd3fa9427
imul eax, eax, 0xe4316745
mov qword [rsi], 2
cmp eax, 0x3e5caebe
jne 0x1400a4ac7
mov qword [rsi], 2
jmp 0x1400a499f
mov eax, dword [0x141f3edf0]
imul eax, dword [0x141f3edf4]
add eax, 0x2cdfcb43
or eax, 0x35bb68f8
add eax, 0x58291070
mov qword [rsi + 8], rbx
mov qword [rsi], 2
cmp eax, 0xd3d5f38b
jbe 0x1400a4a0c
mov qword [rsi + 8], rbx
mov qword [rsi], 2
jmp 0x1400a49d1
test r12, r12
je 0x1400a4ac7
mov eax, dword [0x141f3edf8]
xor eax, dword [0x141f3edfc]
imul eax, eax, 0x7a2fd786
cmp eax, 0x3174b146
je 0x1400a4a61
mov eax, dword [0x141f3ee00]
sub eax, dword [0x141f3ee04]
mov ecx, 0x86290661
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x3753d964
imul eax, ecx, 0x888e8559
mov rsi, qword [0x141f49060]
cmp eax, 0x98975915
jbe 0x1400a4a6a
mov rax, qword [0x141f49060]
jmp 0x1400a4a2e
mov eax, dword [0x141f3ee08]
imul eax, dword [0x141f3ee0c]
and eax, 0x913c63d7
imul eax, eax, 0x7e6b82f0
cmp eax, 0x948116cb
mov rbx, rdi
je 0x1400a4ab7
mov eax, dword [0x141f3ee10]
mov ecx, dword [0x141f3ee14]
lea edi, [rax + rcx]
add edi, 0x9ef4e8f8
mov rcx, rsi
xor edx, edx
mov r8, rbx
call qword [0x1401082d0]
cmp edi, 0xeb305695
jbe 0x1400a4ac7
mov rcx, rsi
xor edx, edx
mov r8, rbx
call qword [0x1401082d0]
jmp 0x1400a4a8c
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret