Function at 0x140061780
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 qword [rbp], rcx
mov eax, dword [0x141dc8900]
imul eax, dword [0x141dc8904]
xor eax, 0x78408840
and eax, 0x7a72c859
imul eax, eax, 0x4ab00840
cmp eax, 0x81b830ef
jae 0x14006180b
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x90
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
movd r10d, xmm1
xor edx, edx
nop word cs:[rax + rax]
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
mov eax, 0x90
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r12, rsp
test dl, dl
jne 0x140061820
mov eax, r10d
shr eax, 0x17
movzx r11d, al
lea edx, [r10 + r10]
and edx, 0xfffffe
mov eax, r10d
and eax, 0x7fffff
or eax, 0x800000
test r11d, r11d
cmove eax, edx
mov edx, r10d
and edx, 0x7fffffff
cmp edx, 0x7f800000
mov qword [rbp - 0x10], r10
jne 0x1400618c8
mov r9b, 3
jmp 0x1400619f2
ucomiss xmm1, xmm1
jp 0x140061f36
mov edx, r11d
add edx, 0xffffff6a
nop word [rax + rax]
mov r9d, dword [0x141dc8908]
sub r9d, dword [0x141dc890c]
or r9d, 0xa5c22f6a
and r9d, 0xf5d2ff6b
cmp r9d, 0x461aa650
je 0x1400618e0
nop word cs:[rax + rax]
mov r9d, dword [0x141dc8910]
sub r9d, dword [0x141dc8914]
or r9d, 0xbfd9cf17
add r9d, 0x18b34767
or r9d, 0x36466f78
cmp r9d, 0x151769c9
je 0x140061910
test r10d, 0x7fffffff
je 0x140061982
test r10d, 0x7f800000
je 0x140061987
lea rdx, [rax + rax]
xor esi, esi
cmp rax, 0x800000
mov ebx, 0x2000000
cmovne rbx, rdx
sete sil
test al, 1
sete r9b
lea r10, [rsi + 1]
xor esi, 0xffffff69
movzx edx, r11w
add edx, esi
mov rax, rbx
jmp 0x1400619f2
mov r9b, 4
jmp 0x1400619f2
mov r10d, 0xcf7adab7
nop dword [rax]
test al, 1
sete r9b
mov r11d, dword [0x141dc8918]
sub r11d, dword [0x141dc891c]
imul r11, r10
shr r11, 0x3f
add r11d, 0x5568d255
cmp r11d, 0xab649e45
ja 0x140061990
nop dword [rax]
mov r10d, dword [0x141dc8920]
sub r10d, dword [0x141dc8924]
or r10d, 0x8b7df37a
imul r10d, r10d, 0xbe601d50
xor r10d, 0x6d1bb2f8
cmp r10d, 0x7ea29241
jae 0x1400619c0
mov r10d, 1
mov r11d, dword [0x141dc8928]
imul r11d, dword [0x141dc892c]
xor r11d, 0x40805204
and r11d, 0x6ee15255
imul r11d, r11d, 0x260980e9
cmp r11d, 0xa4a000a6
jne 0x140061a37
mov qword [r15], rax
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r10
mov word [r15 + 0x18], dx
mov byte [r15 + 0x1a], r9b
lea r11d, [r9 - 2]
movzx r11d, r11b
nop
mov esi, dword [0x141dc8930]
or esi, dword [str.PI_t]
or esi, 0x34a3e6e0
xor esi, 0xe863c9ce
imul ebx, esi, 0x8d7b741d
cmp r11b, 3
mov esi, 3
cmovb esi, r11d
mov qword [r15], rax
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r10
mov word [r15 + 0x18], dx
mov byte [r15 + 0x1a], r9b
cmp ebx, 0x788714a7
je 0x140061a40
test sil, sil
je 0x140061b82
movzx eax, sil
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x10]
mov r10d, eax
shr r10d, 0x1f
xor eax, eax
nop dword [rax]
test al, al
jne 0x140061ab0
mov qword [rbp - 8], rcx
mov eax, dword [0x141dc8938]
xor edx, edx
div dword [0x141dc893c]
mov eax, r10d
lea rdx, [0x141db4efd]
mov r10, qword [rbp - 0x10]
mov r9d, 1
nop word [rax + rax]
mov ecx, dword [0x141dc8940]
or ecx, dword [0x141dc8944]
or ecx, 0x8fae9ed8
and ecx, 0xffaebede
test r10d, r10d
mov esi, 1
cmovs rsi, rdx
lea r11, [0x141db4efe]
cmovs r11, rdx
test r8b, r8b
mov rbx, rax
cmovne rbx, r9
cmp ecx, 0xc0263d5f
je 0x140061ae0
test r8b, r8b
cmovne rsi, r11
mov rax, qword [rbp - 0x18]
cmp eax, 1
je 0x140061bd9
cmp eax, 2
jne 0x140061c6f
mov word [r13], 2
lea rax, [0x141db4f06]
mov qword [r13 + 8], rax
mov eax, dword [0x141dc8970]
or eax, dword [0x141dc8974]
imul eax, eax, 0x58e5a744
and eax, 0x57ff2a58
imul rax, rax, 0x37f4c4ed
shr rax, 0x3b
cmp eax, 0xa80d8b38
jbe 0x140062026
jmp 0x140062053
mov word [r13], 2
mov r12, qword [rbp]
nop dword [rax]
mov eax, dword [0x141dc8948]
imul eax, dword [0x141dc894c]
xor eax, 0x739a109d
imul rax, rax, 0x5943870f
shr rax, 0x3c
cmp eax, 0xa042c874
je 0x140061b90
lea rax, [0x141db4eff]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
mov esi, 1
xor ebx, ebx
mov r14d, 1
jmp 0x1400622a9
mov word [r13], 2
lea rax, [0x141db4f02]
mov qword [r13 + 8], rax
mov eax, dword [0x141dc8958]
and eax, dword [0x141dc895c]
or eax, 0xb977ff64
xor eax, 0x9f1c75fb
imul eax, eax, 0x40ed809c
cmp eax, 0xa5eccd5
jae 0x140061c16
mov qword [r13 + 0x10], 3
mov r12, qword [rbp]
nop word [rax + rax]
mov eax, dword [0x141dc8960]
xor eax, dword [0x141dc8964]
mov qword [r13 + 0x10], 3
cmp eax, 0xdec5e1b3
je 0x140061c20
nop dword [rax + rax]
mov eax, dword [0x141dc8968]
imul eax, dword [0x141dc896c]
imul rax, rax, 0x2f59d5e7
shr rax, 0x3d
or eax, 0xfcc17fba
cmp eax, 0xbd40027b
jb 0x140061c40
mov r14d, 1
jmp 0x1400622a9
cmp eax, 3
jne 0x140061ce0
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1400501a0
add rsp, 0x20
cmp qword [r14], 0
je 0x140061d03
mov rax, qword [r14 + 0x10]
mov rcx, qword [rbp - 8]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rcx], xmm0
mov eax, 0xc2cc2f39
mov r12, qword [rbp]
nop dword [rax]
mov ecx, dword [0x141dc8988]
and ecx, dword [0x141dc898c]
add ecx, 0x380df391
or ecx, 0x9743f131
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xf3323629
ja 0x140061cb0
jmp 0x140061d4b
mov eax, dword [0x141dc8950]
xor eax, dword [0x141dc8954]
imul eax, eax, 0x82f92903
add eax, 0xc441230
cmp eax, 0xc8fe06bb
ja 0x140061ce0
jmp 0x140062024
sub rsp, 0x20
mov rcx, qword [rbp - 8]
mov rdx, r15
mov r8, r12
call fcn.140048470
add rsp, 0x20
mov r12, qword [rbp]
nop
mov eax, dword [0x141dc8980]
xor edx, edx
div dword [0x141dc8984]
imul rax, rax, 0x5ddfaa4f
shr rax, 0x3c
imul eax, eax, 0x5bd50c0d
add eax, 0xca249044
cmp eax, 0x5b39dde3
jb 0x140061d20
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
movzx ecx, word [rcx + 0x10]
nop word [rax + rax]
mov r8d, dword [0x141dc8990]
sub r8d, dword [0x141dc8994]
cmp r8d, 0x9cdca74c
je 0x140061d60
test rdx, rdx
je 0x140061f3e
mov r8d, 0x99e9f44f
nop word cs:[rax + rax]
mov r9d, dword [0x141dc89b0]
imul r9d, dword [0x141dc89b4]
imul r9, r8
shr r9, 0x3e
add r9d, 0xbce74769
cmp r9d, 0x843ca55a
jb 0x140061d90
movzx r8d, byte [rax]
nop dword [rax + rax]
mov r9d, dword [0x141dc89b8]
mov r10d, dword [0x141dc89bc]
add r9d, r10d
add r9d, 0x9950750e
cmp r9d, 0x106a1d94
jb 0x140061dc0
nop word cs:[rax + rax]
mov r9d, dword [0x141dc89c0]
and r9d, dword [0x141dc89c4]
imul r9d, r9d, 0x57e82c5e
or r9d, 0x6fc9f3dc
cmp r9d, 0xa18616a6
jb 0x140061df0
cmp r8b, 0x30
jbe 0x140061fc4
xor r8d, r8d
test r8b, r8b
je 0x140061e40
mov word [r13], 2
mov qword [r13 + 8], rax
nop word cs:[rax + rax]
mov r8d, dword [0x141dc89d8]
imul r8d, dword [0x141dc89dc]
add r8d, 0xc9c417aa
or r8d, 0xe7cb2aae
mov word [r13], 2
mov qword [r13 + 8], rax
cmp r8d, 0x30774c93
je 0x140061e40
mov r8d, dword [0x141dc89e0]
sub r8d, dword [0x141dc89e4]
or r8d, 0xf5cdaf2a
imul r8d, r8d, 0x21274603
mov r9d, 0xb8955f2f
imul r9, r8
shr r9, 0x3e
cmp r9d, 0x5d2c2372
jbe 0x140061eb0
mov qword [r13 + 0x10], 1
nop dword [rax]
mov r8d, dword [0x141dc89e8]
imul r8d, dword [0x141dc89ec]
add r8d, 0x91960d73
and r8d, 0xe63c2dda
imul r8, r8, 0x5c5133d1
shr r8, 0x3d
mov qword [r13 + 0x10], 1
cmp r8d, 0xce73a199
ja 0x140061eb0
mov r14d, 1
cmp rdx, 2
jb 0x140062115
mov r8d, dword [0x141dc89f0]
or r8d, dword [0x141dc89f4]
or r8d, 0x3d3e2a40
shr r8d, 2
imul r8, r8, 0x220da74d
shr r8, 0x3a
or r8d, 0x94c69b0c
cmp r8d, 0x8423267
jae 0x14006206c
jmp 0x1400620ab
mov r9b, 2
jmp 0x1400619f2
mov eax, dword [0x141dc8998]
imul eax, dword [0x141dc899c]
and eax, 0x46016cb0
imul rax, rax, 0x3ec57a5f
shr rax, 0x3c
cmp eax, 0xbbb87c34
jbe 0x140061f70
ud2
mov eax, dword [0x141dc89a0]
xor eax, dword [0x141dc89a4]
imul rax, rax, 0x2a42b31f
shr rax, 0x3a
add eax, 0xba85b46b
ud2
mov eax, dword [0x141dc89c8]
mov ecx, dword [0x141dc89cc]
add eax, ecx
add eax, 0xd01b448a
xor eax, 0xbfa718a4
cmp eax, 0xa7731e3c
jae 0x140061ff0
ud2
mov eax, dword [0x141dc89d0]
or eax, dword [0x141dc89d4]
imul eax, eax, 0x5d96f45e
and eax, 0x3fadf2a
imul eax, eax, 0xae9dd5ec
ud2
ud2
mov eax, dword [0x141dc8978]
xor edx, edx
div dword [0x141dc897c]
xor eax, 0x54841310
and eax, 0x55e49714
imul eax, eax, 0x90674b5
mov qword [r13 + 0x10], 3
cmp eax, 0xb77cdbb9
jne 0x14006205d
mov qword [r13 + 0x10], 3
jmp 0x140062026
mov r14d, 1
mov r12, qword [rbp]
jmp 0x1400622a9
mov word [r13 + 0x18], 2
lea r8, [0x141db84db]
mov qword [r13 + 0x20], r8
mov r8d, dword [0x141dc89f8]
and r8d, dword [str._U9K]
or r8d, 0xf79bdf96
add r8d, 0x483ab136
mov qword [r13 + 0x28], 1
cmp r8d, 0xc6d045a4
jbe 0x1400620c7
mov word [r13 + 0x18], 2
lea r8, [0x141db84db]
mov qword [r13 + 0x20], r8
mov qword [r13 + 0x28], 1
jmp 0x14006206c
inc rax
nop word [rax + rax]
mov r8d, dword [0x141dc8a00]
imul r8d, dword [0x141dc8a04]
add r8d, 0xada5d503
xor r8d, 0xa3f67df1
add r8d, 0xebcea7bf
cmp r8d, 0xea9e8b2e
ja 0x1400620d0
dec rdx
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], rdx
mov r14d, 3
test cx, cx
jle 0x1400621ae
dec ecx
lea rax, [r14 + r14*2]
mov word [r13 + rax*8], 2
mov edx, dword [str.G36x]
imul edx, dword [0x141dc8a0c]
lea rax, [rax*8]
add rax, r13
imul edx, edx, 0x484bd341
xor edx, 0x184f43ee
cmp edx, 0x1fb68a23
jae 0x140062163
lea rdx, [0x141db4efa]
mov qword [rax + 8], rdx
mov edx, 0xa9089d63
lea r8, [0x141db4efa]
nop
mov r9d, dword [0x141dc8a10]
xor r9d, dword [0x141dc8a14]
or r9d, 0x6ebce452
imul r9, rdx
shr r9, 0x3f
xor r9d, 0xb456b1ff
mov qword [rax + 8], r8
cmp r9d, 0x5a1410c9
jb 0x140062170
mov qword [rax + 0x10], 1
jmp 0x140062239
lea rax, [r14 + r14*2]
lea r8, [rax*8]
add r8, r13
nop dword [rax]
mov eax, dword [0x141dc8a18]
xor edx, edx
div dword [0x141dc8a1c]
imul eax, eax, 0x66c81fbb
xor eax, 0xf2e121
or eax, 0x7505169e
cmp eax, 0xb714c3e4
ja 0x1400621c0
mov word [r8], 2
lea rax, [0x141db4efb]
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], 2
mov eax, 1
sub eax, ecx
mov ecx, eax
nop word [rax + rax]
mov eax, dword [0x141dc8a20]
imul eax, dword [0x141dc8a24]
add eax, 0x747ffaab
imul rax, rax, 0x52cc8839
shr rax, 0x3e
or eax, 0xdcc052f4
cmp eax, 0xda3a7928
je 0x140062210
mov eax, dword [0x141dc8a28]
add eax, dword [0x141dc8a2c]
or eax, 0xe63dfd14
add eax, 0xae0eae52
xor eax, 0x15995d03
cmp eax, 0x2930571d
jb 0x140062291
mov eax, dword [0x141dc8a30]
xor edx, edx
div dword [0x141dc8a34]
add eax, 0xa2b6094
and eax, 0x9126ee7d
add eax, 0x29973a71
lea rdx, [r14 + r14*2]
mov word [r13 + rdx*8 + 0x18], 1
mov word [r13 + rdx*8 + 0x1a], cx
cmp eax, 0xac2f85c1
jbe 0x1400622a5
lea rax, [r14 + r14*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
jmp 0x14006225b
add r14, 2
mov eax, dword [0x141dc8a38]
or eax, dword [str.aR]
imul eax, eax, 0x7d0573aa
and eax, 0x41ba33ba
xor eax, 0x16efa3ff
cmp eax, 0x3aca4cdd
jae 0x1400622f0
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r14
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.140062340
add rsp, 0x20
nop
mov r15d, dword [0x141dc8a40]
add r15d, dword [0x141dc8a44]
mov qword [rdi], rsi
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r14
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.140062340
add rsp, 0x20
cmp r15d, 0xb8cd82bd
je 0x1400622f0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret