Function at 0x140060a50
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 - 8], rcx
mov eax, dword [0x141dc8778]
sub eax, dword [0x141dc877c]
cmp eax, 0x3f7b8951
jne 0x140060aa0
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc8780]
sub eax, dword [0x141dc8784]
imul ecx, eax, 0x42183453
add ecx, 0xd427d152
and ecx, 0x89f3b507
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
cmp ecx, 0xdcaee565
ja 0x140060aa0
mov eax, dword [0x141dc8788]
sub eax, dword [0x141dc878c]
imul eax, eax, 0x384f4c9d
add eax, 0x7d783ad5
xor eax, 0x3a6d4929
cmp eax, 0x3e6009c2
jb 0x140060b9c
mov eax, dword [0x141dc8790]
sub eax, dword [0x141dc8794]
imul edx, eax, 0xfd2b2cc1
add edx, 0x6ac2d616
and edx, 0xa6c5c22f
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, 0x60
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r9, rsp
movd ecx, xmm1
mov eax, ecx
shr eax, 0x17
movzx r11d, al
lea eax, [rcx + rcx]
and eax, 0xfffffe
mov esi, ecx
and esi, 0x7fffff
or esi, 0x800000
test r11d, r11d
cmove esi, eax
cmp edx, 0x71ba75d2
jne 0x140060bd5
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x60
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x140060b0d
mov qword [rbp - 0x18], r9
mov eax, ecx
and eax, 0x7fffffff
cmp eax, 0x7f800000
jne 0x140060bee
mov al, 3
jmp 0x140060e6e
lea r10d, [r11 - 0x96]
mov r9d, esi
mov eax, dword [0x141dc8798]
xor edx, edx
div dword [0x141dc879c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc87a0]
imul eax, dword [0x141dc87a4]
add eax, 0x18c5531a
or eax, 0x7863c9ae
cmp eax, 0xbf5e7eeb
jb 0x140060c10
nop
mov eax, dword [0x141dc87a8]
and eax, dword [0x141dc87ac]
add eax, 0x2782d425
imul rax, rax, 0x65500cd1
shr rax, 0x3e
or eax, 0x3e0d7d76
cmp eax, 0x7a1e3ba0
ja 0x140060c30
ucomiss xmm1, xmm1
jp 0x140061433
nop word cs:[rax + rax]
mov eax, dword [0x141dc87b0]
or eax, dword [0x141dc87b4]
add eax, 0xa30d8f68
imul rax, rax, 0x7d75e87
shr rax, 0x39
or eax, 0xa472e580
cmp eax, 0xd2f31cf3
ja 0x140060c70
nop dword [rax + rax]
mov eax, dword [0x141dc87b8]
imul eax, dword [0x141dc87bc]
and eax, 0xe791bde2
imul eax, eax, 0x519339b1
cmp eax, 0x3080facd
je 0x140060ca0
nop
mov eax, dword [0x141dc87c0]
sub eax, dword [0x141dc87c4]
or eax, 0x3359ca56
imul eax, eax, 0x8f43a051
imul rax, rax, 0x385ea761
shr rax, 0x3d
cmp eax, 0x5a55fec4
ja 0x140060cc0
test ecx, 0x7fffffff
je 0x140060e6c
nop word cs:[rax + rax]
mov eax, dword [0x141dc87c8]
and eax, dword [0x141dc87cc]
xor eax, 0x1d9653c4
add eax, 0x86a9e9fa
and eax, 0xad0639f9
cmp eax, 0xd058c9a0
je 0x140060d00
mov eax, 0x8de44a2b
nop word [rax + rax]
mov edx, dword [0x141dc87d0]
imul edx, dword [0x141dc87d4]
xor edx, 0xc469fda6
shr edx, 1
imul rdx, rax
shr rdx, 0x3e
or edx, 0xb45de524
cmp edx, 0x6e3514c0
je 0x140060d30
nop dword [rax + rax]
mov eax, dword [0x141dc87d8]
or eax, dword [0x141dc87dc]
add eax, 0x21c76c41
or eax, 0xb5dbd19e
and eax, 0xf5ffdfff
cmp eax, 0x7c012cd1
je 0x140060d60
test ecx, 0x7f800000
je 0x140060e10
mov byte [rbp], r8b
mov qword [rbp - 0x10], r9
lea rax, [r9 + r9]
mov r9d, 0x2000000
mov r8d, dword [0x141dc87f0]
or r8d, dword [0x141dc87f4]
or r8d, 0x200004
and r8d, 0x8222004
xor edx, edx
cmp esi, 0x800000
sete r10b
mov r12, rax
cmove r12, r9
cmp r8d, 0x4d609a90
ja 0x140060da0
mov dl, r10b
inc rdx
xor r8d, r8d
cmp esi, 0x800000
sete r8b
xor r8d, 0xffffff69
test byte [rbp - 0x10], 1
sete al
movzx r10d, r11w
add r10d, r8d
mov r9, r12
movzx r8d, byte [rbp]
jmp 0x140060e6e
test r9b, 1
sete al
mov edx, dword [0x141dc87e0]
sub edx, dword [0x141dc87e4]
or edx, 0xfdbf5f5f
and edx, 0xfdbf7f5f
cmp edx, 0xe5af2ef5
jb 0x140060e10
nop word [rax + rax]
mov edx, dword [0x141dc87e8]
and edx, dword [0x141dc87ec]
imul rdx, rdx, 0x1b638d51
shr rdx, 0x3c
or edx, 0x3f48b7d2
cmp edx, 0xc3836a78
jae 0x140060e40
mov edx, 1
jmp 0x140060e6e
mov al, 4
mov r11d, dword [0x141dc87f8]
imul r11d, dword [0x141dc87fc]
imul r11d, r11d, 0x3bd1b2f5
add r11d, 0xc182e9df
xor r11d, 0x47718a92
cmp r11d, 0x1353f26a
jae 0x140060eb3
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], al
lea r11d, [rax - 2]
movzx r11d, r11b
nop dword [rax + rax]
mov esi, dword [0x141dc8800]
imul esi, dword [0x141dc8804]
imul r12, rsi, 0x8b4893f
shr r12, 0x3b
add r12d, 0x4fe7c6cd
cmp r11b, 3
mov esi, 3
cmovb esi, r11d
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], al
cmp r12d, 0xd455a791
ja 0x140060ec0
test sil, sil
je 0x140061047
lea rdx, [0x141db4efd]
movzx eax, sil
nop word cs:[rax + rax]
mov r9d, dword [0x141dc8808]
sub r9d, dword [0x141dc880c]
shr r9d, 2
imul r9, r9, 0x606974eb
shr r9, 0x3b
or r9d, 0xd08ae7ac
imul r9d, r9d, 0x9bf1db4b
test ecx, ecx
mov esi, 1
cmovs rsi, rdx
cmp r9d, 0xd87759f8
je 0x140060f30
mov r9d, ecx
shr r9d, 0x1f
test ecx, ecx
lea rcx, [0x141db4efe]
cmovs rcx, rdx
test r8b, r8b
cmovne rsi, rcx
mov r12d, 1
cmovne r9, r12
mov qword [rbp], r9
cmp eax, 1
je 0x1400610e5
cmp eax, 2
jne 0x14006110c
mov eax, dword [0x141dc88e0]
add eax, dword [0x141dc88e4]
imul rcx, rax, 0x72ec143
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
imul eax, eax, 0x92dfe6db
cmp eax, 0x4214ad89
jne 0x140060fde
mov word [r13], 2
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc88e8]
and eax, dword [0x141dc88ec]
or eax, 0x3cde1b63
imul eax, eax, 0xf19135b
add eax, 0x2bd5536c
mov word [r13], 2
cmp eax, 0x6367fd43
jb 0x140060ff0
lea rax, [0x141db4ef8]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], 1
mov r12d, 2
jmp 0x1400616d8
mov word [r13], 2
lea rax, [0x141db4eff]
mov qword [r13 + 8], rax
mov eax, dword [0x141dc8810]
add eax, dword [0x141dc8814]
xor eax, 0x55310c82
or eax, 0xacaf378
imul rax, rax, 0x44d7ddcf
shr rax, 0x3e
cmp eax, 0xdfe0e496
jbe 0x140061089
mov qword [r13 + 0x10], 3
mov eax, 0x823d916d
xor r15d, r15d
mov r14, qword [rbp - 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8818]
xor ecx, dword [0x141dc881c]
imul rcx, rcx, 0x58e9ebff
shr rcx, 0x3c
imul ecx, ecx, 0x25cdaf45
imul rcx, rax
shr rcx, 0x3e
mov qword [r13 + 0x10], 3
cmp ecx, 0x399433b5
ja 0x1400610a0
mov esi, 1
mov r12d, 1
jmp 0x1400616d8
mov word [r13], 2
lea rax, [0x141db4f02]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
jmp 0x1400616d8
cmp eax, 3
jne 0x140061190
xor eax, eax
mov r12, qword [rbp - 0x18]
nop dword [rax + rax]
test al, al
jne 0x140061120
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1400501a0
add rsp, 0x20
cmp qword [r14], 0
je 0x1400611b8
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
nop word [rax + rax]
mov eax, dword [0x141dc8828]
and eax, dword [0x141dc882c]
xor eax, 0x17911cc
add eax, 0x39dceb25
and eax, 0x1b3efd46
cmp eax, 0xec3bf49e
je 0x140061160
jmp 0x1400611e0
mov eax, dword [0x141dc8820]
add eax, dword [0x141dc8824]
or eax, 0xf1f47b4d
imul eax, eax, 0xe0fc06d3
add eax, 0xbb4ecf8f
cmp eax, 0xa15c70f3
jb 0x140061190
jmp 0x14006158a
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r12
call fcn.140048470
add rsp, 0x20
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8830]
and eax, dword [0x141dc8834]
xor eax, 0xc88000
or eax, 0xb737014f
and eax, 0xffff8d4f
cmp eax, 0x3c5adc0
je 0x1400611e0
mov r9, qword [rbx + 8]
test r9, r9
je 0x14006143a
mov rcx, qword [rbx]
cmp byte [rcx], 0x30
jbe 0x140061460
movzx r8d, word [rbx + 0x10]
movsx r10, r8w
mov eax, dword [0x141dc8858]
xor edx, edx
div dword [0x141dc885c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8860]
and eax, dword [0x141dc8864]
imul eax, eax, 0xb2713864
xor eax, 0x6a4a81af
imul eax, eax, 0xbc728c61
cmp eax, 0x23da1bd7
jb 0x140061240
test r8w, r8w
jle 0x1400612e4
mov word [r13], 2
mov qword [r13 + 8], rcx
mov r10, r9
sub r10, r8
jbe 0x14006130c
mov eax, dword [0x141dc8890]
sub eax, dword [0x141dc8894]
or eax, 0x36a9e5d3
cmp eax, 0xccdb974
jne 0x1400612a0
mov qword [r13 + 0x10], r8
nop dword [rax]
mov eax, dword [0x141dc8898]
xor eax, dword [0x141dc889c]
mov qword [r13 + 0x10], r8
cmp eax, 0xcdaeac5e
je 0x1400612a0
mov eax, dword [0x141dc88a0]
sub eax, dword [0x141dc88a4]
imul eax, eax, 0xf31acc6a
xor eax, 0x289e033e
imul eax, eax, 0x53778a25
cmp eax, 0x8d87a24a
je 0x1400614f9
jmp 0x1400614ba
mov eax, dword [0x141dc8868]
imul eax, dword [0x141dc886c]
imul rax, rax, 0x4f341c19
shr rax, 0x3d
cmp eax, 0xfcf77c22
je 0x14006160c
jmp 0x1400615be
mov eax, dword [0x141dc88c0]
add eax, dword [0x141dc88c4]
xor eax, 0x262fb499
mov ecx, 0xd34bd961
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x79b20796
jbe 0x140061336
mov qword [r13 + 0x10], r9
xor eax, eax
nop dword [rax + rax]
mov qword [r13 + 0x10], r9
test al, al
jne 0x140061340
sub r8, r9
nop dword [rax + rax]
mov eax, dword [0x141dc88c8]
add eax, dword [0x141dc88cc]
imul eax, eax, 0xcb69146a
or eax, 0x4cb19aae
cmp eax, 0x8e97aa09
je 0x140061350
mov eax, dword [0x141dc88d0]
xor edx, edx
div dword [0x141dc88d4]
xor eax, 0x89050422
or eax, 0x26e8f9c4
cmp eax, 0x838a48a3
jae 0x1400613c1
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], r8
mov word [r13 + 0x30], 2
lea rax, [0x141db84db]
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], 1
mov word [r13 + 0x48], 0
mov qword [r13 + 0x50], 1
lea rax, [0x141db84db]
nop dword [rax + rax]
mov ecx, dword [0x141dc88d8]
sub ecx, dword [0x141dc88dc]
imul ecx, ecx, 0x3f114cd0
add ecx, 0x25b84441
imul rcx, rcx, 0x346a0a11
shr rcx, 0x3d
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], r8
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], 1
mov word [r13 + 0x48], 0
mov qword [r13 + 0x50], 1
cmp ecx, 0x926d0d92
ja 0x1400613d0
mov r12d, 4
jmp 0x1400616d8
mov al, 2
jmp 0x140060e6e
mov eax, dword [0x141dc8838]
xor eax, dword [0x141dc883c]
add eax, 0xb3429537
and eax, 0xa91b9ee
cmp eax, 0x61333c7e
je 0x1400615ba
jmp 0x14006158c
mov eax, dword [0x141dc8848]
imul eax, dword [0x141dc884c]
add eax, 0xec3843e1
imul rax, rax, 0x412da04d
shr rax, 0x3e
cmp eax, 0x28f8fe2b
jbe 0x140061490
ud2
mov eax, dword [0x141dc8850]
add eax, dword [0x141dc8854]
imul eax, eax, 0x1b6a3cd4
or eax, 0x1eece0f9
add eax, 0x6fc92f21
ud2
mov eax, dword [0x141dc88a8]
xor edx, edx
div dword [0x141dc88ac]
or eax, 0x3d33cdc7
imul eax, eax, 0xacef3bdf
or eax, 0xcdef55a7
mov word [r13 + 0x18], 2
lea rdx, [0x141db84db]
mov qword [r13 + 0x20], rdx
mov qword [r13 + 0x28], 1
cmp eax, 0xc4b0c41e
jae 0x140061515
mov word [r13 + 0x18], 2
lea rax, [0x141db84db]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
jmp 0x1400614ba
mov eax, dword [0x141dc88b0]
sub eax, dword [0x141dc88b4]
imul eax, eax, 0x8f9fbd79
add eax, 0x2a1f10ca
and eax, 0xcdf50340
cmp eax, 0x58e1dcbe
jae 0x14006154b
lea rax, [rcx + r8]
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], r10
add rcx, r8
nop
mov eax, dword [0x141dc88b8]
and eax, dword [str.K_a_k]
or eax, 0x2fd9949
imul rax, rax, 0xb48b733
shr rax, 0x3a
and eax, 0xfffffffe
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
mov qword [r13 + 0x40], r10
cmp eax, 0x159645d0
ja 0x140061550
jmp 0x1400616d2
ud2
mov eax, dword [0x141dc8840]
or eax, dword [0x141dc8844]
mov ecx, 0xdb983b67
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x4fcb62e
imul eax, ecx, 0x6d4cfd13
ud2
ud2
mov eax, dword [0x141dc8870]
imul eax, dword [0x141dc8874]
xor eax, 0x4000a302
and eax, 0xd2c0e303
add eax, 0xed188cfe
mov word [r13], 2
lea rdx, [0x141db4ef8]
mov qword [r13 + 8], rdx
mov rdx, r10
neg rdx
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], rdx
cmp eax, 0x231724e4
jae 0x140061639
mov rax, r10
neg rax
mov word [r13], 2
lea rdx, [0x141db4ef8]
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], rax
jmp 0x1400615be
mov eax, dword [0x141dc8878]
and eax, dword [0x141dc887c]
imul eax, eax, 0x660ef48
mov edx, 0x98642859
imul rdx, rax
shr rdx, 0x3c
add edx, 0xa44fb301
cmp edx, 0xb3ce3227
ja 0x140061694
mov eax, dword [0x141dc8880]
mov edx, dword [0x141dc8884]
add eax, edx
add eax, 0xd66244fe
or eax, 0xbb96568e
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
mov qword [r13 + 0x40], r9
cmp eax, 0x1f451b80
jae 0x1400616a5
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
mov qword [r13 + 0x40], r9
jmp 0x140061666
mov eax, 0xc67460d9
nop word [rax + rax]
mov ecx, dword [0x141dc8888]
and ecx, dword [0x141dc888c]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x49822bb4
cmp ecx, 0x55139c31
je 0x1400616b0
mov r12d, 3
mov eax, dword [0x141dc88f0]
xor eax, dword [0x141dc88f4]
and eax, 0x5b302a4e
xor eax, 0xe7d4e0f0
add eax, 0x91106544
cmp eax, 0xe01a9f1
jae 0x140061720
mov qword [rdi], rsi
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r12
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
call fcn.140062340
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141dc88f8]
imul eax, dword [0x141dc88fc]
add eax, 0x10154b5c
xor eax, 0x710fac85
imul rbx, rax, 0x74bd8d61
shr rbx, 0x3b
mov qword [rdi], rsi
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r12
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
call fcn.140062340
add rsp, 0x20
cmp ebx, 0x8e7a105b
ja 0x140061720
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret