Function at 0x140061e10
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 byte [rbp - 8], r8b
mov qword [rbp - 0x10], rcx
mov eax, dword [0x141dcc878]
imul eax, dword [0x141dcc87c]
and eax, 0x77f231e2
imul eax, eax, 0x5656e860
imul rax, rax, 0x65e41fdb
shr rax, 0x3e
cmp eax, 0x533172d6
jbe 0x140061ea5
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x90
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
xor ecx, ecx
nop word [rax + rax]
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rdi, rsp
mov eax, 0x90
call fcn.1400f1350
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r12, rsp
test cl, cl
jne 0x140061eb0
mov eax, dword [0x141dcc880]
xor edx, edx
div dword [0x141dcc884]
movd ecx, xmm1
mov eax, ecx
shr eax, 0x17
nop dword [rax + rax]
mov edx, dword [0x141dcc888]
add edx, dword [0x141dcc88c]
or edx, 0xf222e3f3
cmp edx, 0xa236e01a
je 0x140061f30
movzx eax, al
movzx r8d, ax
lea edx, [rcx + rcx]
and edx, 0xfffffe
mov esi, ecx
and esi, 0x7fffff
or esi, 0x800000
mov qword [rbp], r8
add r8d, 0xffffff6a
mov dword [rbp - 0x14], r8d
mov r10d, ecx
and r10d, 0x7fffffff
nop word cs:[rax + rax]
mov r8d, dword [0x141dcc890]
or r8d, dword [0x141dcc894]
imul r11d, r8d, 0xe5d92273
add r11d, 0xfad57420
and r11d, 0x9e292926
test ax, ax
mov r9d, esi
cmove r9d, edx
cmp r10d, 0x7f800000
sete r8b
cmp r11d, 0x26b713c2
ja 0x140061f90
test r8b, r8b
je 0x140061fde
mov sil, 3
jmp 0x140062118
ucomiss xmm1, xmm1
jp 0x140062311
test ecx, 0x7fffffff
je 0x1400620d8
mov r10d, 0xaaf3aa23
nop dword [rax]
mov eax, dword [0x141dcc898]
xor edx, edx
div dword [0x141dcc89c]
imul rax, r10
shr rax, 0x3e
cmp eax, 0xfe7050e0
je 0x140062000
nop dword [rax]
mov eax, dword [0x141dcc8a0]
imul eax, dword [0x141dcc8a4]
add eax, 0x76df08e6
or eax, 0xa65af2f0
xor eax, 0x9d2407e2
cmp eax, 0x9227d737
ja 0x140062020
test ecx, 0x7f800000
je 0x1400620dd
lea r11, [r9 + r9]
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8b0]
add eax, dword [0x141dcc8b4]
cmp eax, 0x63fd24a7
je 0x140062060
mov r10d, 0x2000000
nop dword [rax]
xor edx, edx
cmp r9, 0x800000
sete sil
mov eax, dword [0x141dcc8b8]
imul eax, dword [0x141dcc8bc]
imul r8d, eax, 0x4a1b1dcc
cmp r9d, 0x800000
mov rax, r11
cmove rax, r10
cmp r8d, 0x6bf75d48
je 0x140062080
mov dl, sil
lea r10, [rdx + 1]
xor edx, 0xff69
test r9b, 1
sete sil
movsx edx, dx
add edx, dword [rbp]
mov r9, rax
jmp 0x140062118
mov sil, 4
jmp 0x140062118
test r9b, 1
sete sil
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8a8]
xor edx, edx
div dword [0x141dcc8ac]
add eax, 0xe4df8891
or eax, 0xf62d7fcf
cmp eax, 0x541a72d0
je 0x1400620f0
mov r10d, 1
mov edx, dword [rbp - 0x14]
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r10
mov word [r15 + 0x18], dx
mov byte [r15 + 0x1a], sil
add sil, 0xfe
movzx edx, sil
cmp dl, 3
mov eax, 3
cmovb eax, edx
test al, al
je 0x1400621d5
mov r8d, ecx
shr r8d, 0x1f
test ecx, ecx
lea rcx, [0x141db811d]
mov edx, 1
cmovs rdx, rcx
lea r9, [0x141db811e]
cmovs r9, rcx
mov ecx, 1
cmp byte [rbp - 8], 0
cmovne r8, rcx
mov qword [rbp - 8], r8
cmove r9, rdx
mov qword [rbp], r9
cmp al, 1
je 0x1400622bc
movzx eax, al
cmp eax, 2
jne 0x1400622e0
mov word [r13], 2
lea rax, [0x141db8126]
mov ecx, dword [0x141dcc8f8]
sub ecx, dword [0x141dcc8fc]
mov qword [r13 + 8], rax
imul eax, ecx, 0x5a8202f9
or eax, 0x830fa218
cmp eax, 0x79b77e4c
jae 0x140062319
jmp 0x140062343
mov eax, dword [0x141dcc8c0]
xor edx, edx
div dword [0x141dcc8c4]
imul eax, eax, 0xdb8b1ad4
add eax, 0x61539350
cmp eax, 0x12ea9b3d
jae 0x1400621fc
mov word [r13], 2
xor eax, eax
mov r14, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov word [r13], 2
test al, al
jne 0x140062210
mov eax, dword [0x141dcc8c8]
xor edx, edx
div dword [0x141dcc8cc]
nop dword [rax]
mov eax, dword [0x141dcc8d0]
and eax, dword [0x141dcc8d4]
and eax, 0xb93472dd
xor eax, 0xbfd4cc8
add eax, 0x15083e3f
cmp eax, 0xa9b36a78
ja 0x140062230
xor eax, eax
test al, al
je 0x14006226b
lea rax, [0x141db811f]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
xor r15d, r15d
lea rax, [0x141db811f]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcc8d8]
xor ecx, dword [0x141dcc8dc]
and ecx, 0x80230868
add ecx, 0x77f479ae
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
cmp ecx, 0xcc7ce8ce
jae 0x140062280
mov r12d, 1
mov ebx, 1
jmp 0x1400628a0
mov word [r13], 2
mov eax, dword [0x141dcc8e0]
imul eax, dword [0x141dcc8e4]
cmp eax, 0x330b6bc3
jne 0x140062363
jmp 0x14006238c
mov eax, dword [0x141dcc908]
xor edx, edx
div dword [0x141dcc90c]
xor eax, 0x50d88782
mov ecx, 0xade7ea93
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xf1dedf77
jbe 0x1400623fb
jmp 0x140062437
mov sil, 2
jmp 0x140062118
mov eax, dword [0x141dcc900]
and eax, dword [0x141dcc904]
add eax, 0xe81d217b
and eax, 0x83ad50d3
xor eax, 0xd1c79f5e
mov qword [r13 + 0x10], 3
cmp eax, 0xdfb93c0f
jb 0x14006234d
mov qword [r13 + 0x10], 3
jmp 0x140062319
mov ebx, 1
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp - 8]
mov r12, qword [rbp]
jmp 0x1400628a0
mov eax, dword [0x141dcc8e8]
add eax, dword [0x141dcc8ec]
imul eax, eax, 0x81adbeeb
add eax, 0x92927bc3
lea rcx, [0x141db8122]
mov qword [r13 + 8], rcx
cmp eax, 0xd5debcbd
jbe 0x140062399
lea rax, [0x141db8122]
mov qword [r13 + 8], rax
jmp 0x140062363
xor eax, eax
test al, al
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp - 8]
mov r12, qword [rbp]
je 0x1400623c0
mov qword [r13 + 0x10], 3
nop word cs:[rax + rax]
mov eax, dword [0x141dcc8f0]
imul eax, dword [0x141dcc8f4]
imul rax, rax, 0x60a3e79d
shr rax, 0x37
add eax, 0xce91aad6
xor eax, 0xa526b628
mov qword [r13 + 0x10], 3
cmp eax, 0xcd2a726e
ja 0x1400623c0
mov ebx, 1
jmp 0x1400628a0
mov eax, dword [0x141dcc910]
xor eax, dword [0x141dcc914]
imul esi, eax, 0xe1f3607b
xor esi, 0x24182206
and esi, 0x64182a77
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.140050c50
add rsp, 0x20
cmp esi, 0xf4b0cabf
jne 0x14006244f
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.140050c50
add rsp, 0x20
jmp 0x1400623fb
cmp qword [r14], 0
je 0x14006248a
mov eax, dword [0x141dcc918]
and eax, dword [0x141dcc91c]
shr eax, 2
imul rax, rax, 0x400405bd
shr rax, 0x3a
add eax, 0x2b897586
or eax, 0xca5dc56c
cmp eax, 0x24d3b68f
mov r15, qword [rbp - 8]
mov r12, qword [rbp]
jne 0x1400624aa
jmp 0x1400624db
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r12
call fcn.140048c40
add rsp, 0x20
mov r15, qword [rbp - 8]
mov r12, qword [rbp]
jmp 0x1400624f0
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [0x141dcc920]
sub eax, dword [0x141dcc924]
or eax, 0x88771e8c
add eax, 0xf9da79e9
and eax, 0xaf10a020
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
cmp eax, 0x4b2ee237
jne 0x1400624f0
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
jmp 0x1400624aa
mov eax, dword [0x141dcc928]
and eax, dword [0x141dcc92c]
or eax, 0x9f69f52b
add eax, 0x84363a8a
imul rax, rax, 0x79ef663d
shr rax, 0x3c
cmp eax, 0xbb664db3
je 0x1400624f0
mov rax, qword [rbx + 8]
test rax, rax
mov r14, qword [rbp - 0x10]
je 0x140062716
mov rdx, qword [rbx]
movzx ecx, word [rbx + 0x10]
mov r8d, dword [0x141dcc938]
and r8d, dword [0x141dcc93c]
imul r9, r8, 0xdb3ea57
shr r9, 0x20
sub r8d, r9d
shr r8d, 1
add r8d, r9d
shr r8d, 0x1d
and r8d, 3
add r8d, 0x52d75735
cmp r8d, 0x6d53720a
ja 0x140062530
movzx r8d, byte [rdx]
mov r9d, 0x9d495dc1
nop word cs:[rax + rax]
mov r10d, dword [0x141dcc940]
and r10d, dword [0x141dcc944]
imul r10d, r10d, 0xe65955bf
add r10d, 0x48ce5f1a
imul r10, r9
shr r10, 0x3e
cmp r10d, 0x26f0aaa2
ja 0x140062580
cmp r8b, 0x30
jbe 0x140062742
mov word [r13], 2
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], 1
mov ebx, 1
cmp rax, 2
jb 0x140062609
mov word [r13 + 0x18], 2
lea r8, [0x141dbb6fb]
mov qword [r13 + 0x20], r8
mov qword [r13 + 0x28], 1
inc rdx
dec rax
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rdx
mov qword [r13 + 0x40], rax
mov ebx, 3
mov eax, dword [0x141dcc948]
xor edx, edx
div dword [0x141dcc94c]
nop word [rax + rax]
mov eax, dword [0x141dcc950]
imul eax, dword [0x141dcc954]
imul eax, eax, 0x6a17bd0
xor eax, 0xb1b99e7f
cmp eax, 0x5cdebd12
jb 0x140062620
test cx, cx
jle 0x1400626ea
mov eax, dword [0x141dcc958]
sub eax, dword [0x141dcc95c]
add eax, 0xc1fdae49
xor eax, 0x7b004229
and eax, 0x7b28e6ef
cmp eax, 0x519e7c4b
jae 0x140062676
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
dec ecx
lea rax, [rbx + rbx*2]
lea r8, [rax*8]
add r8, r13
nop word [rax + rax]
mov edx, dword [0x141dcc960]
imul edx, dword [0x141dcc964]
imul rdx, rdx, 0x4906993b
shr rdx, 0x3e
imul edx, edx, 0xfd3285d4
mov word [r13 + rax*8], 2
cmp edx, 0xd63a5983
je 0x140062690
mov eax, dword [0x141dcc968]
xor edx, edx
div dword [0x141dcc96c]
shr eax, 1
imul rax, rax, 0x2310bf4f
shr rax, 0x39
add eax, 0xaa0dc1d7
cmp eax, 0xc6e55a5
jae 0x140062744
jmp 0x14006276d
mov eax, dword [0x141dcc988]
or eax, dword [0x141dcc98c]
or eax, 0x242200d6
and eax, 0x2d23d3f6
imul eax, eax, 0x2a100174
cmp eax, 0x858f448b
jae 0x1400627da
jmp 0x140062806
ud2
ud2
mov eax, dword [0x141dcc970]
add eax, dword [0x141dcc974]
imul eax, eax, 0x4bdd5377
add eax, 0x315ecb72
lea rdx, [0x141db811a]
mov qword [r8 + 8], rdx
cmp eax, 0x159cc6b2
jae 0x14006277a
lea rax, [0x141db811a]
mov qword [r8 + 8], rax
jmp 0x140062744
mov eax, dword [0x141dcc978]
xor edx, edx
div dword [0x141dcc97c]
add eax, 0xfc290260
and eax, 0xf20cba5d
cmp eax, 0x17dc060f
jne 0x1400627b0
mov qword [r8 + 0x10], 1
nop word cs:[rax + rax]
mov eax, dword [0x141dcc980]
sub eax, dword [str.PqG_]
xor eax, 0x2eb52d03
add eax, 0xd0ec151a
mov qword [r8 + 0x10], 1
cmp eax, 0xaecaf883
ja 0x1400627b0
jmp 0x14006288a
mov edx, dword [0x141dcc990]
xor edx, dword [0x141dcc994]
add edx, 0x1a66d37b
xor edx, 0x7daf57d7
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
cmp edx, 0xf62445b8
jbe 0x140062814
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
jmp 0x1400627da
lea r8, [rax*8]
add r8, r13
lea rax, [0x141db811b]
mov qword [r8 + 8], rax
mov eax, dword [0x141dcc998]
xor edx, edx
div dword [0x141dcc99c]
imul eax, eax, 0xd539de76
or eax, 0xc0687c0
and eax, 0x4c078ff8
cmp eax, 0xe66ce83b
jbe 0x140062857
mov qword [r8 + 0x10], 2
mov eax, 1
sub eax, ecx
nop
mov ecx, dword [0x141dcc9a0]
or ecx, dword [0x141dcc9a4]
imul ecx, ecx, 0xa82f5c74
add ecx, 0x5aadb851
mov qword [r8 + 0x10], 2
cmp ecx, 0xd153e7a4
jb 0x140062860
mov ecx, eax
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
add rbx, 2
mov eax, dword [0x141dcc9a8]
sub eax, dword [0x141dcc9ac]
xor eax, 0x400420
or eax, 0xf7bb0247
and eax, 0xf7ff9667
cmp eax, 0x95e3263d
jb 0x14006290f
mov eax, dword [0x141dcc9b0]
and eax, dword [0x141dcc9b4]
imul eax, eax, 0xbf19ba32
imul rsi, rax, 0x2c284763
shr rsi, 0x3c
or esi, 0x81c2fae
mov qword [rdi], r12
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
call fcn.140062950
add rsp, 0x20
cmp esi, 0xe49fcc4
jbe 0x140062933
mov qword [rdi], r12
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
call fcn.140062950
add rsp, 0x20
jmp 0x1400628c2
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret