Function at 0x140052d30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r15, r9
mov r14, r8
mov rbx, rcx
mov r13, qword [rsp + 0xc0]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7920]
add eax, dword [0x141dc7924]
imul rax, rax, 0x16385e3d
shr rax, 0x3c
xor eax, 0xa71dad65
imul rax, rax, 0x788d8185
shr rax, 0x3e
cmp eax, 0xfc96b327
ja 0x140052d60
test dl, dl
je 0x140052de2
mov ecx, dword [rbx + 0x34]
mov r8d, ecx
and r8d, 1
nop dword [rax]
mov eax, dword [0x141dc7930]
sub eax, dword [0x141dc7934]
xor eax, 0x24813246
and eax, 0xa4c933e6
imul eax, eax, 0x208ed613
cmp eax, 0x2e97c8d7
jb 0x140052da0
test r8d, r8d
mov eax, 0x110000
mov ebp, 0x2b
cmove ebp, eax
add r8, qword [rsp + 0xc8]
test cl, 4
jne 0x140052e40
jmp 0x140052e2e
mov rax, qword [rsp + 0xc8]
lea r8, [rax + 1]
nop
mov eax, dword [0x141dc7928]
xor eax, dword [0x141dc792c]
xor eax, 0x9d03fd84
imul rcx, rax, 0x21712e81
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
add eax, 0x2e64e974
cmp eax, 0x9200f44f
jae 0x140052df0
mov ecx, dword [rbx + 0x34]
mov ebp, 0x2d
test cl, 4
jne 0x140052e40
xor r14d, r14d
jmp 0x140053010
mov eax, dword [0x141dc7938]
xor eax, dword [0x141dc793c]
imul eax, eax, 0x947217fd
add eax, 0x13c9a183
cmp eax, 0x5a168457
ja 0x140052e40
test r15, r15
je 0x140052eea
mov eax, dword [0x141dc7940]
xor edx, edx
div dword [0x141dc7944]
mov eax, 0x8df0667f
nop word [rax + rax]
mov edx, dword [0x141dc7948]
sub edx, dword [0x141dc794c]
imul rdx, rax
shr rdx, 0x3c
add edx, 0x6c21a6eb
or edx, 0x208877cd
cmp edx, 0x877bb9e1
ja 0x140052e80
nop dword [rax + rax]
mov eax, dword [0x141dc7950]
xor edx, edx
div dword [0x141dc7954]
imul rax, rax, 0x5de55477
shr rax, 0x3d
imul eax, eax, 0xb21c7985
and eax, 0x9a3c3bde
cmp eax, 0xf013f34
ja 0x140052eb0
cmp r15, 4
jae 0x140052ef1
xor edx, edx
xor eax, eax
jmp 0x1400536e0
xor edx, edx
jmp 0x140053003
mov rax, r15
and rax, 0xfffffffffffffffc
nop dword [rax + rax]
mov edx, dword [0x141dc7958]
xor edx, dword [0x141dc795c]
xor edx, 0xbc8c1143
add edx, 0xeb2d2ccb
cmp edx, 0xdf465a2c
ja 0x140052f00
mov edx, dword [0x141dc7960]
imul edx, dword [0x141dc7964]
imul edx, edx, 0x22e196c5
xor edx, 0xf87bfe09
add edx, 0xae4e2d6d
cmp edx, 0xfe0e4d61
ja 0x140052f20
pxor xmm0, xmm0
xor edx, edx
movdqa xmm2, xmmword [0x140102720]
movdqa xmm3, xmmword [0x140102730]
pxor xmm1, xmm1
nop word cs:[rax + rax]
movzx r9d, word [r14 + rdx]
movd xmm4, r9d
movzx r9d, word [r14 + rdx + 2]
movd xmm5, r9d
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
add rdx, 4
cmp rax, rdx
jne 0x140052f70
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq rdx, xmm0
nop word cs:[rax + rax]
mov r9d, dword [0x141dc7968]
or r9d, dword [0x141dc796c]
add r9d, 0x45c96a2b
cmp r9d, 0x17a2797a
jb 0x140052fe0
jmp 0x1400536d4
add r8, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dc7978]
add eax, dword [0x141dc797c]
imul eax, eax, 0x60121f59
add eax, 0xcb9f9078
or eax, 0x2ee164c3
cmp eax, 0xd29b9b65
je 0x140053010
cmp qword [rbx], 0
je 0x1400531b2
nop dword [rax]
mov eax, dword [0x141dc7980]
or eax, dword [0x141dc7984]
and eax, 0x4b1fd311
imul eax, eax, 0xba804195
add eax, 0xaa5002f7
cmp eax, 0xbe395215
ja 0x140053040
nop word cs:[rax + rax]
mov eax, dword [0x141dc7988]
imul eax, dword [0x141dc798c]
or eax, 0x9b09457
imul rax, rax, 0x6a28f433
shr rax, 0x3d
add eax, 0x344dab42
cmp eax, 0x7eec77f3
ja 0x140053070
mov rdi, qword [rbx + 8]
nop dword [rax]
mov eax, dword [0x141dc7990]
and eax, dword [0x141dc7994]
imul rax, rax, 0xd8c5e7d
shr rax, 0x3b
imul eax, eax, 0x5ebab4d
add eax, 0xbf845dc2
cmp eax, 0x733a7363
jb 0x1400530a0
sub rdi, r8
jbe 0x1400531f3
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400530e0
nop word cs:[rax + rax]
mov eax, dword [0x141dc7998]
and eax, dword [str.pXnrk]
or eax, 0x400f80
and eax, 0x24e50f89
add eax, 0x71352891
cmp eax, 0x58905cf5
jb 0x1400530f0
nop word cs:[rax + rax]
mov eax, dword [0x141dc79a0]
and eax, dword [0x141dc79a4]
and eax, 0xa181610
add eax, 0x94007342
cmp eax, 0x99d5d70b
ja 0x140053120
test cl, 8
jne 0x140053280
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140053150
mov eax, dword [0x141dc79c0]
xor edx, edx
div dword [0x141dc79c4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc79c8]
or eax, dword [0x141dc79cc]
or eax, 0xa8273328
cmp eax, 0x22e870df
je 0x140053170
movzx eax, byte [rbx + 0x38]
cmp rax, 3
ja case.default.0x1400531a4
lea rcx, [0x141dba0fc]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp rdx
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x14005342c
mov r12, qword [rbx + 0x20]
mov rbx, qword [rbx + 0x28]
mov qword [rsp + 0x20], r15
mov rcx, r12
mov rdx, rbx
mov r8d, ebp
mov r9, r14
call fcn.1400538b0
mov bpl, 1
test al, al
jne 0x1400537d0
mov rcx, r12
mov rdx, r13
mov r8, qword [rsp + 0xc8]
call qword [rbx + 0x18]
mov ebp, eax
jmp 0x1400537d0
mov rdi, r13
nop word cs:[rax + rax]
mov eax, dword [0x141dc79a8]
add eax, dword [0x141dc79ac]
or eax, 0xfa7ce5ab
imul eax, eax, 0x79c705cf
xor eax, 0xdf5b93f
cmp eax, 0x40376e59
jb 0x140053200
mov eax, dword [0x141dc79b0]
or eax, dword [0x141dc79b4]
imul eax, eax, 0xff6944f8
or eax, 0xda5d5d02
imul eax, eax, 0x66375a96
cmp eax, 0x435473
jne 0x14005371c
jmp 0x140053760
mov eax, dword [0x141dc79d0]
xor edx, edx
div dword [0x141dc79d4]
imul rcx, rax, 0x102a48b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0xc89b9e9c
cmp eax, 0x9d68b47d
je case.default.0x1400531a4
ud2
mov esi, dword [rbx + 0x30]
mov dword [rbx + 0x30], 0x30
movzx eax, byte [rbx + 0x38]
mov byte [rsp + 0x48], al
mov byte [rbx + 0x38], 1
mov r12, qword [rbx + 0x20]
mov r13, qword [rbx + 0x28]
mov qword [rsp + 0x20], r15
mov rcx, r12
mov rdx, r13
mov r8d, ebp
mov r9, r14
call fcn.1400538b0
mov bpl, 1
test al, al
jne 0x1400537d0
nop
mov eax, dword [0x141dc7a40]
and eax, dword [0x141dc7a44]
or eax, 0xd824840c
and eax, 0xdcf4856f
add eax, 0x40c7ff3f
cmp eax, 0x9e54c851
ja 0x1400532c0
mov r15, qword [rsp + 0xc8]
nop word [rax + rax]
mov eax, dword [0x141dc7a48]
xor edx, edx
div dword [0x141dc7a4c]
cmp eax, 0x4c8c1b22
je 0x1400532f0
xor r14d, r14d
nop dword [rax + rax]
mov eax, dword [0x141dc7a50]
sub eax, dword [0x141dc7a54]
add eax, 0x16d6482e
or eax, 0xa2b5ca6b
imul eax, eax, 0x48034ebe
cmp eax, 0xe71be79d
je 0x140053310
cmp r14, rdi
je 0x140053350
inc r14
mov rcx, r12
mov edx, 0x30
call qword [r13 + 0x20]
test al, al
je 0x140053310
jmp 0x1400537d0
mov eax, 0x922eda3f
nop word cs:[rax + rax]
mov ecx, dword [0x141dc7a58]
sub ecx, dword [0x141dc7a5c]
add ecx, 0xb6282619
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x3da2c065
cmp ecx, 0x109180bb
ja 0x140053360
nop word [rax + rax]
mov eax, dword [0x141dc7a60]
sub eax, dword [0x141dc7a64]
imul eax, eax, 0xd43e4ab
cmp eax, 0x4d686d3d
je 0x140053390
mov rdi, qword [r13 + 0x18]
mov eax, dword [0x141dc7a68]
xor edx, edx
div dword [0x141dc7a6c]
and eax, 0x9d47c5d1
add eax, 0x8eb188fb
and eax, 0x9bc04940
cmp eax, 0x812ba2be
mov r13, qword [rsp + 0xc0]
jne 0x140053806
jmp 0x140053839
mov qword [rsp + 0x38], rdi
mov rdi, rax
jmp 0x14005342c
mov rcx, rdi
shr rcx, 1
inc rdi
mov eax, dword [0x141dc79d8]
xor edx, edx
div dword [0x141dc79dc]
shr rdi, 1
mov qword [rsp + 0x38], rdi
nop dword [rax + rax]
mov eax, dword [0x141dc79e0]
imul eax, dword [0x141dc79e4]
or eax, 0x99fd5dbb
cmp eax, 0xecc65148
je 0x140053410
mov rdi, rcx
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x50], rax
mov eax, dword [rbx + 0x30]
mov dword [rsp + 0x34], eax
inc rdi
jmp 0x140053465
test al, al
mov r13, rbp
mov ebp, ebx
mov r15, r12
mov rdi, qword [rsp + 0x48]
jne 0x140053696
dec rdi
je 0x1400534ec
mov qword [rsp + 0x48], rdi
mov r12, r15
mov ebx, ebp
mov rbp, r13
mov eax, dword [0x141dc79e8]
xor eax, dword [0x141dc79ec]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rcx + 0x20]
add eax, 0x20c1ac05
or eax, 0xa178ba2f
cmp eax, 0xaa05db10
mov r15d, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x40]
jb 0x1400534e2
nop dword [rax + rax]
mov eax, dword [0x141dc79f0]
and eax, dword [0x141dc79f4]
or eax, 0x86898188
and eax, 0xcf8bb388
imul r13d, eax, 0xe6aed8d5
mov rcx, rdi
mov edx, r15d
call rsi
cmp r13d, 0x4cc1abed
jae 0x140053450
mov rcx, rdi
mov edx, r15d
call rsi
jmp 0x1400534b0
mov qword [rsp + 0x20], r15
mov rcx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
mov rdx, r15
mov r8d, ebp
mov r9, r14
call fcn.1400538b0
xor ecx, ecx
nop dword [rax + rax]
test cl, cl
jne 0x140053510
mov bpl, 1
test al, al
mov rdi, qword [rsp + 0xc8]
jne 0x1400537d0
mov r14, qword [rsp + 0x40]
nop dword [rax]
mov eax, dword [0x141dc79f8]
xor eax, dword [0x141dc79fc]
imul eax, eax, 0x8c77b5fa
cmp eax, 0x685856c0
je 0x140053530
mov eax, dword [0x141dc7a00]
and eax, dword [0x141dc7a04]
add eax, 0xc0fe33f9
and eax, 0x1c9087ca
add eax, 0x4a793222
cmp eax, 0x2a59860f
jae 0x140053580
mov rcx, r14
mov rdx, r13
mov r8, rdi
call qword [r15 + 0x18]
nop dword [rax + rax]
mov eax, dword [0x141dc7a08]
sub eax, dword [0x141dc7a0c]
imul rax, rax, 0x9acb637
shr rax, 0x3b
imul esi, eax, 0xf66e870f
xor esi, 0xa7508a96
mov rcx, r14
mov rdx, r13
mov r8, rdi
call qword [r15 + 0x18]
cmp esi, 0xdcb5fd0
jb 0x140053580
nop dword [rax + rax]
mov ecx, dword [0x141dc7a10]
imul ecx, dword [0x141dc7a14]
add ecx, 0x5bda3fda
imul rcx, rcx, 0x75db776f
shr rcx, 0x3d
add ecx, 0xb8c5f449
cmp ecx, 0xc9e4f182
ja 0x1400535c0
test al, al
mov rbx, qword [rsp + 0x38]
jne 0x1400537d0
mov ebp, dword [rsp + 0x34]
nop dword [rax]
mov eax, dword [0x141dc7a18]
and eax, dword [0x141dc7a1c]
add eax, 0xcb6a0880
or eax, 0xdffffbcc
cmp eax, 0x330651c
je 0x140053600
nop dword [rax]
mov eax, dword [0x141dc7a20]
imul eax, dword [0x141dc7a24]
imul eax, eax, 0x2b48f609
add eax, 0xf66ffbf4
and eax, 0xc9279971
cmp eax, 0x6ef074b5
je 0x140053620
xor esi, esi
nop word cs:[rax + rax]
mov rdi, rsi
nop word cs:[rax + rax]
mov eax, dword [0x141dc7a28]
and eax, dword [0x141dc7a2c]
and eax, 0xfef04c02
imul eax, eax, 0x155e9d2d
cmp eax, 0xc313bfd7
je 0x140053660
cmp rdi, rbx
je 0x14005369e
lea rsi, [rdi + 1]
mov rcx, r14
mov edx, ebp
call qword [r15 + 0x20]
test al, al
je 0x140053650
jmp 0x1400536a1
mov bpl, 1
jmp 0x1400537d0
mov rdi, rbx
mov eax, dword [0x141dc7a30]
xor edx, edx
div dword [0x141dc7a34]
nop
mov eax, dword [0x141dc7a38]
xor eax, dword [0x141dc7a3c]
or eax, 0xf3bafbf7
cmp rdi, rbx
setb bpl
cmp eax, 0xa221538
je 0x1400536b0
jmp 0x1400537d0
cmp rax, r15
je 0x140053003
nop dword [rax]
mov r9d, dword [0x141dc7970]
or r9d, dword [0x141dc7974]
or r9d, 0x866d461a
imul r11d, r9d, 0xcaf81d60
xor r9d, r9d
cmp byte [r14 + rax], 0xc0
setge r10b
cmp r11d, 0x98c0b3f1
je 0x1400536e0
mov r9b, r10b
add rdx, r9
inc rax
jmp 0x1400536d4
mov eax, dword [0x141dc79b8]
or eax, dword [0x141dc79bc]
imul esi, eax, 0x2d917d0d
add esi, 0x66913be
or esi, 0x353a08cd
mov r13, qword [rbx + 0x20]
mov r12, qword [rbx + 0x28]
mov qword [rsp + 0x20], r15
mov rcx, r13
mov rdx, r12
mov r8d, ebp
mov r9, r14
call fcn.1400538b0
cmp esi, 0x804bf313
jbe 0x14005377a
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov qword [rsp + 0x20], r15
mov r8d, ebp
mov r9, r14
call fcn.1400538b0
jmp 0x14005371c
mov bpl, 1
test al, al
jne 0x1400537d0
mov rcx, r13
mov rdx, rdi
mov r8, qword [rsp + 0xc8]
call qword [r12 + 0x18]
mov ebp, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dc7a88]
and eax, dword [0x141dc7a8c]
xor eax, 0xb2607800
or eax, 0x410b87eb
add eax, 0xf50545b2
cmp eax, 0xd70d8927
jb 0x1400537a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc7a90]
or eax, dword [0x141dc7a94]
imul eax, eax, 0xc759330f
add eax, 0x57c88113
and eax, 0x86a70ff8
cmp eax, 0xc041bdfb
ja 0x1400537d0
mov eax, ebp
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc7a70]
add eax, dword [0x141dc7a74]
and eax, 0xe29ab8a8
imul r14d, eax, 0x688372c6
add r14d, 0x836c82c6
mov rcx, r12
mov rdx, r13
mov r8, r15
call rdi
cmp r14d, 0x6f017eda
jbe 0x140053846
mov rcx, r12
mov rdx, r13
mov r8, r15
call rdi
jmp 0x140053806
test al, al
jne 0x1400537d0
mov eax, dword [0x141dc7a78]
or eax, dword [0x141dc7a7c]
or eax, 0xd552ffa9
and eax, 0xd5d3ffad
cmp eax, 0xff14bbb3
jbe 0x140053870
mov dword [rbx + 0x30], esi
nop word [rax + rax]
mov eax, dword [0x141dc7a80]
imul eax, dword [0x141dc7a84]
imul eax, eax, 0xafcf7200
or eax, 0x64693791
mov dword [rbx + 0x30], esi
cmp eax, 0x9bca79bf
ja 0x140053870
movzx eax, byte [rsp + 0x48]
mov byte [rbx + 0x38], al
xor ebp, ebp
jmp 0x1400537d0