Function at 0x14004a140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r10, rdx
mov eax, dword [0x141f33750]
sub eax, dword [0x141f33754]
mov r14, rcx
add eax, 0x7ae0a37
or eax, 0xfffabfd1
cmp eax, 0x6a13fa9
je 0x14004a1de
mov ecx, dword [0x141f33758]
and ecx, dword [0x141f3375c]
or ecx, 0x1dc95bd5
add ecx, 0xb76d7c5c
or ecx, 0xac5efac9
mov eax, 0xa0
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
xorps xmm0, xmm0
movups xmmword [rdi + 0x90], xmm0
movups xmmword [rdi + 0x80], xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
cmp ecx, 0xbd8a3d68
jae 0x14004a223
mov eax, 0xa0
call fcn.1400f4d10
sub rsp, rax
mov rax, rsp
xorps xmm0, xmm0
movups xmmword [rax + 0x90], xmm0
movups xmmword [rax + 0x80], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
jmp 0x14004a178
mov r9, qword [r14 + 0xa0]
cmp r9, r8
jae 0x14004a580
cmp r9, 0x29
jae 0x14004a97f
nop dword [rax]
mov eax, dword [0x141f337e0]
imul eax, dword [0x141f337e4]
or eax, 0x2b6af665
imul eax, eax, 0xc450df0
cmp eax, 0x9b000b86
je 0x14004a240
nop
mov eax, dword [0x141f337e8]
xor eax, dword [0x141f337ec]
or eax, 0x4315a002
and eax, 0x471fa052
cmp eax, 0x94ccbaca
ja 0x14004a260
lea rax, [r8 + 1]
mov qword [rbp], rax
lea rdx, [r14 + r9*4]
lea rax, [r10 + r8*4]
mov qword [rbp - 0x20], rax
nop word cs:[rax + rax]
mov eax, dword [0x141f337f0]
imul eax, dword [0x141f337f4]
and eax, 0xb2d184e1
add eax, 0x3507c4a6
or eax, 0x31010787
cmp eax, 0x63dad396
jb 0x14004a2a0
xor r9d, r9d
mov r11d, 0xa28cba8f
xor r15d, r15d
mov r13, r14
xor esi, esi
nop word cs:[rax + rax]
mov eax, dword [0x141f337f8]
imul eax, dword [0x141f337fc]
xor eax, 0x3cb19ca2
imul rcx, rax, 0x3d6ee81b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x18
and eax, 0x14
cmp eax, 0x32b3f3d
ja 0x14004a2e0
mov rbx, r15
test r9b, r9b
jne 0x14004a313
cmp r13, rdx
je 0x14004a803
nop word cs:[rax + rax]
mov eax, dword [0x141f33800]
xor eax, dword [0x141f33804]
imul eax, eax, 0x18250afa
imul rax, rax, 0x5476fb6b
shr rax, 0x3b
xor eax, 0x604b36c7
cmp eax, 0x54b69f6e
jb 0x14004a330
lea r15, [rbx + 1]
mov ecx, dword [r13]
add r13, 4
test rcx, rcx
je 0x14004a310
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x18], rsi
mov eax, dword [0x141f33808]
and eax, dword [0x141f3380c]
and eax, 0xc8e775df
add eax, 0x1e639b7a
imul rax, r11
shr rax, 0x3f
cmp eax, 0x5b8da49c
ja 0x14004a376
xor r12d, r12d
xor r11d, r11d
mov r9, r10
nop word cs:[rax + rax]
mov eax, dword [0x141f33810]
xor eax, dword [0x141f33814]
cmp eax, 0x54247c90
je 0x14004a3b0
mov r14, rbx
add rbx, r11
cmp rbx, 0x28
jae 0x14004a830
nop word cs:[rax + rax]
mov eax, dword [0x141f33848]
xor eax, dword [0x141f3384c]
imul eax, eax, 0x1c072755
and eax, 0x8efb6b78
imul rdx, rax, 0x434c3ccd
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x968d67ce
je 0x14004a3e0
inc r11
mov esi, dword [r9]
add r9, 4
mov eax, dword [rdi + rbx*4]
add r12, rax
imul rsi, rcx
mov eax, dword [0x141f33850]
xor edx, edx
div dword [0x141f33854]
add eax, 0x54f5c5dc
mov edx, 0xa94899f3
imul rax, rdx
shr rax, 0x3d
cmp eax, 0x99519ad4
ja 0x14004a4a9
mov eax, dword [0x141f33858]
xor eax, dword [0x141f3385c]
imul edx, eax, 0x97e28ed8
add edx, 0xaf698cbe
lea rax, [r12 + rsi]
mov dword [rdi + rbx*4], eax
cmp edx, 0xd069cb18
jb 0x14004a4a9
mov r12, rax
shr r12, 0x20
nop dword [rax + rax]
mov eax, dword [0x141f33860]
xor edx, edx
div dword [str.T5_v_]
add eax, 0x23eefea0
cmp eax, 0xcd2fa935
ja 0x14004a480
cmp r9, qword [rbp - 0x20]
mov rbx, r14
jne 0x14004a3b0
jmp 0x14004a4b2
lea eax, [r12 + rsi]
mov dword [rdi + rbx*4], eax
jmp 0x14004a44d
mov rax, r8
test r12, r12
je 0x14004a54e
mov eax, dword [0x141f33818]
xor eax, dword [0x141f3381c]
imul rax, rax, 0x4d51fecf
shr rax, 0x3b
imul eax, eax, 0xdf35cd76
or eax, 0xd973f9be
cmp eax, 0xc729d46f
je 0x14004a4be
lea rax, [rbx + r8]
nop dword [rax + rax]
mov edx, dword [0x141f33820]
and edx, dword [0x141f33824]
and edx, 0xa08c00c0
imul edx, edx, 0x20a90f28
cmp edx, 0xe7f5bda1
je 0x14004a4f0
cmp rax, 0x28
jae 0x14004a895
nop word [rax + rax]
mov edx, dword [0x141f33828]
or edx, dword [0x141f3382c]
xor edx, 0x44f3dbe
add edx, 0x2cd99852
and edx, 0x5a512f9e
cmp edx, 0x97331bb7
ja 0x14004a520
mov dword [rdi + rax*4], r12d
mov rax, qword [rbp]
add rax, rbx
mov rsi, qword [rbp - 0x18]
cmp rsi, rax
cmovbe rsi, rax
mov rdx, qword [rbp - 0x10]
xor r9d, r9d
mov r11d, 0xa28cba8f
mov r14, qword [rbp - 8]
jmp 0x14004a2e0
mov eax, dword [0x141f33760]
imul eax, dword [0x141f33764]
and eax, 0x122c0c40
add eax, 0x259e5af5
cmp eax, 0x7bd1389
jb 0x14004a580
cmp r9, 0x29
jae 0x14004a97f
mov eax, dword [str._Qg_vz_o]
xor edx, edx
div dword [0x141f3376c]
nop word cs:[rax + rax]
mov eax, dword [0x141f33770]
xor eax, dword [0x141f33774]
imul eax, eax, 0x28619222
and eax, 0x123a0208
cmp eax, 0xddebcdfc
ja 0x14004a5c0
lea r11, [r10 + r8*4]
lea rax, [r14 + r9*4]
mov qword [rbp - 0x20], rax
nop word [rax + rax]
mov eax, dword [0x141f33778]
and eax, dword [0x141f3377c]
xor eax, 0x191b7a12
add eax, 0x2bba9ea2
cmp eax, 0xaf9632e6
ja 0x14004a5f0
lea rax, [r9 + 1]
mov qword [rbp - 0x10], rax
xor ebx, ebx
mov r15d, 0xaa247427
xor esi, esi
mov qword [rbp - 8], r9
nop word cs:[rax + rax]
mov eax, dword [0x141f33780]
or eax, dword [0x141f33784]
imul rdx, rax, 0xdafceeb
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x278416ac
je 0x14004a630
nop word [rax + rax]
cmp r10, r11
je 0x14004a803
mov eax, dword [0x141f33788]
or eax, dword [0x141f3378c]
imul eax, eax, 0x20ac71a1
add eax, 0xc5e561c1
or eax, 0xa53c4efb
cmp eax, 0x4c8ef215
je 0x14004a669
inc rbx
mov eax, dword [r10]
add r10, 4
test rax, rax
je 0x14004a660
mov qword [rbp], r11
mov qword [rbp - 0x18], rsi
lea r13, [rbx - 1]
mov rsi, r14
xor r12d, r12d
xor edx, edx
nop
lea r11, [rdx + r13]
cmp r11, 0x28
jae 0x14004a86d
inc rdx
mov r9d, dword [rsi]
add rsi, 4
mov r8d, dword [rdi + r11*4]
nop dword [rax]
mov ecx, dword [0x141f337d0]
sub ecx, dword [0x141f337d4]
imul ecx, ecx, 0x6c422cbb
add ecx, 0x31db3941
imul rcx, r15
shr rcx, 0x3f
cmp ecx, 0xa8a777b6
ja 0x14004a6d0
imul r9, rax
add r12, r8
add r12, r9
mov dword [rdi + r11*4], r12d
shr r12, 0x20
cmp rsi, qword [rbp - 0x20]
jne 0x14004a6b0
mov r9, qword [rbp - 8]
mov rdx, r9
test r12, r12
je 0x14004a7a1
mov eax, dword [0x141f33790]
xor edx, edx
div dword [0x141f33794]
cmp eax, 0xd9720397
je 0x14004a720
lea rax, [r9 + r13]
mov edx, dword [0x141f33798]
or edx, dword [0x141f3379c]
imul edx, edx, 0x80aab2bb
add edx, 0xb29db467
cmp edx, 0x35853424
ja 0x14004a739
nop dword [rax]
mov edx, dword [0x141f337a0]
add edx, dword [0x141f337a4]
or edx, 0xf3b9dbfc
cmp edx, 0x87958669
je 0x14004a760
cmp rax, 0x28
jae 0x14004a907
mov edx, dword [0x141f337b0]
imul edx, dword [0x141f337b4]
xor edx, 0x865b3df1
cmp edx, 0x642ee906
jae 0x14004a7ef
jmp 0x14004a7fd
mov rcx, qword [rbp - 0x18]
mov r11, qword [rbp]
nop dword [rax]
mov r8d, dword [0x141f337a8]
add r8d, dword [0x141f337ac]
or r8d, 0x4d02939
xor r8d, 0x9200e030
or r8d, 0x68251682
lea rax, [rdx + r13]
cmp rcx, rax
cmova rax, rcx
cmp r8d, 0xe07d1730
jae 0x14004a7b0
mov rsi, rax
jmp 0x14004a630
mov dword [rdi + rax*4], r12d
mov rdx, qword [rbp - 0x10]
mov cl, 1
test cl, cl
jne 0x14004a7a1
mov dword [rdi + rax*4], r12d
jmp 0x14004a7ef
mov eax, dword [0x141f33870]
imul eax, dword [0x141f33874]
imul eax, eax, 0x7505e11e
add eax, 0x3cf11fd3
or eax, 0x3628d410
cmp eax, 0xeffdc007
jne 0x14004a981
jmp 0x14004a9c5
ud2
ud2
mov eax, dword [0x141f33830]
and eax, dword [0x141f33834]
xor eax, 0x97e3a79e
imul eax, eax, 0x39da1e9
add eax, 0x7f6b88e4
cmp eax, 0xecf269ee
jbe 0x14004a8c0
ud2
mov eax, dword [0x141f33838]
xor eax, dword [0x141f3383c]
imul eax, eax, 0x74897768
add eax, 0xbabe64f4
ud2
mov eax, dword [0x141f337b8]
xor eax, dword [0x141f337bc]
xor eax, 0x5b1cf65
add eax, 0xdc16b165
and eax, 0x483a438
cmp eax, 0xc55584e5
je 0x14004a94e
mov eax, dword [0x141f337c0]
imul eax, dword [0x141f337c4]
add eax, 0xd8124dff
or eax, 0x6280440c
and eax, 0xeaa66d0e
ud2
ud2
ud2
mov eax, dword [0x141f33878]
xor edx, edx
div dword [0x141f3387c]
mov ebx, eax
xor ebx, 0x841b24ac
and ebx, 0x9e1fafac
sub rsp, 0x20
mov r8d, 0xa0
mov rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r14 + 0xa0], rsi
cmp ebx, 0x7b8ad3d
jne 0x14004a9e7
sub rsp, 0x20
mov r8d, 0xa0
mov rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r14 + 0xa0], rsi
jmp 0x14004a981
mov rax, r14
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret