Function at 0x14005f730
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov eax, dword [0x141dc9900]
imul eax, dword [0x141dc9904]
mov qword [rbp], rcx
or eax, 0x16d3aa06
imul eax, eax, 0xfd765bfd
cmp eax, 0x4ed6a57d
jb 0x14005f7d2
mov eax, dword [0x141dc9908]
xor edx, edx
div dword [0x141dc990c]
imul eax, eax, 0xfe06bf1f
shr eax, 2
imul rcx, rax, 0x42015041
shr rcx, 0x3c
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r11, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xcf0a4147
jne 0x14005f80b
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
jmp 0x14005f768
mov eax, 0x90
call fcn.1400ef3b0
sub rsp, rax
mov r13, rsp
mov eax, dword [0x141dc9910]
xor edx, edx
div dword [0x141dc9914]
add eax, 0xff571a44
and eax, 0x8eb15ae0
add eax, 0x831c5c93
cmp eax, 0x88c256e5
ja 0x14005f8b1
mov eax, dword [0x141dc9918]
or eax, dword [0x141dc991c]
imul edx, eax, 0x454cdafb
add edx, 0xe9fb5f48
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r12, rsp
movd eax, xmm1
mov ecx, eax
shr ecx, 0x17
movzx r10d, cl
lea r9d, [rax + rax]
and r9d, 0xfffffe
mov ecx, eax
and ecx, 0x7fffff
or ecx, 0x800000
test r10d, r10d
cmove ecx, r9d
mov r9d, eax
and r9d, 0x7fffffff
cmp r9d, 0x7f800000
sete r9b
cmp edx, 0x46de632
jae 0x14005f8c3
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
jmp 0x14005f83f
test r9b, r9b
mov qword [rbp - 0x10], r11
je 0x14005f8d4
mov r9b, 3
jmp 0x14005fa5c
lea edx, [r10 - 0x96]
nop dword [rax + rax]
mov r9d, dword [0x141dc9920]
xor r9d, dword [0x141dc9924]
add r9d, 0x25f15643
and r9d, 0x18737d31
cmp r9d, 0x8dd439c6
je 0x14005f8e0
ucomiss xmm1, xmm1
jp 0x14005fa7c
nop
mov r9d, dword [0x141dc9928]
imul r9d, dword [0x141dc992c]
or r9d, 0x88802400
and r9d, 0xab8e2420
cmp r9d, 0x16dad07b
jb 0x14005f910
test eax, 0x7fffffff
je 0x14005fa59
nop word cs:[rax + rax]
mov r9d, dword [0x141dc9930]
add r9d, dword [0x141dc9934]
imul r9d, r9d, 0xce3e987c
add r9d, 0xe5fb0080
imul r9, r9, 0x6006657f
shr r9, 0x3e
cmp r9d, 0xc9e8de68
ja 0x14005f950
mov r9d, dword [0x141dc9938]
or r9d, dword [0x141dc993c]
imul r9d, r9d, 0xb0770881
xor r9d, 0x58dc0000
and r9d, 0x78dce38c
cmp r9d, 0x8c8bbcd3
je 0x14005f980
test eax, 0x7f800000
je 0x14005fa20
lea rdx, [rcx + rcx]
test cl, 1
sete r9b
xor esi, esi
cmp rcx, 0x800000
sete sil
mov ecx, 0x2000000
cmovne rcx, rdx
lea r11, [rsi + 1]
xor esi, 0xffffff69
movzx edx, r10w
add edx, esi
mov r10d, 0x99c5a537
nop word [rax + rax]
mov esi, dword [0x141dc9948]
imul esi, dword [0x141dc994c]
add esi, 0xe6bb034b
imul rsi, r10
shr rsi, 0x3d
or esi, 0x791abf49
cmp esi, 0xd1673003
ja 0x14005f9f0
jmp 0x14005fa5c
test cl, 1
sete r9b
mov r10d, dword [0x141dc9940]
imul r10d, dword [0x141dc9944]
and r10d, 0xa10fb322
imul r10, r10, 0x7f7028d3
shr r10, 0x3e
cmp r10d, 0xf0821c47
je 0x14005fa20
mov r11d, 1
jmp 0x14005fa5c
mov r9b, 4
mov r10d, dword [0x141dc9950]
xor r10d, dword [0x141dc9954]
and r10d, 0x1000000
cmp r10d, 0x9f4ce254
je 0x14005face
jmp 0x14005fa81
mov r9b, 2
jmp 0x14005fa5c
mov esi, dword [0x141dc9958]
sub esi, dword [0x141dc995c]
or esi, 0x2000208
and esi, 0x2048a08
lea r10d, [r9 - 2]
movzx ebx, r10b
cmp bl, 3
mov r10d, 3
cmovb r10d, ebx
mov qword [r15], rcx
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r11
mov word [r15 + 0x18], dx
mov byte [r15 + 0x1a], r9b
cmp esi, 0xdbb1a4b3
jne 0x14005fae8
mov qword [r15], rcx
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r11
mov word [r15 + 0x18], dx
mov byte [r15 + 0x1a], r9b
jmp 0x14005fa81
test r10b, r10b
je 0x14005fb96
movzx ecx, r10b
mov edx, 0xe0efa305
mov esi, eax
shr esi, 0x1f
nop
mov r9d, dword [0x141dc9960]
mov r10d, dword [0x141dc9964]
add r9d, r10d
add r9d, 0x9a4732a2
imul r9, rdx
shr r9, 0x3e
imul r9d, r9d, 0x96dab10d
cmp r9d, 0xdb77c137
je 0x14005fb00
test eax, eax
lea rax, [0x141db5d1d]
mov edx, 1
cmovs rdx, rax
lea r9, [0x141db5d1e]
cmovs r9, rax
mov eax, 1
test r8b, r8b
cmovne rsi, rax
cmove r9, rdx
mov qword [rbp - 8], r9
cmp ecx, 1
je 0x14005fbc8
cmp ecx, 2
jne 0x14005fc5f
mov eax, dword [0x141dc9998]
add eax, dword [0x141dc999c]
imul eax, eax, 0x6c25010b
add eax, 0xef8f7f68
cmp eax, 0xbc688b51
jb 0x14005fe88
jmp 0x14005fe4e
mov eax, dword [0x141dc9968]
xor eax, dword [0x141dc996c]
imul eax, eax, 0xc855d3f6
add eax, 0x7a4f5408
imul rax, rax, 0x6cfa8d3d
shr rax, 0x3e
cmp eax, 0x167b9dfe
je 0x14005ff3b
jmp 0x14005ff1c
mov word [r13], 2
lea rax, [0x141db5d22]
mov qword [r13 + 8], rax
mov eax, dword [0x141dc9988]
imul eax, dword [0x141dc998c]
imul eax, eax, 0x4d105b47
xor eax, 0xd8bfe3ed
add eax, 0x6966f89c
cmp eax, 0x5b061e30
mov r15, qword [rbp]
jae 0x14005fc0a
mov qword [r13 + 0x10], 3
mov ecx, 0xa2fe1be3
mov r12, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9990]
xor edx, edx
div dword [0x141dc9994]
imul rax, rcx
shr rax, 0x3f
xor eax, 0x960ea98b
imul rax, rax, 0x1d954e6d
shr rax, 0x3c
mov qword [r13 + 0x10], 3
cmp eax, 0xd4957c1c
jae 0x14005fc20
mov ebx, 1
jmp 0x140060201
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.14004ed70
add rsp, 0x20
cmp qword [r14], 0
je 0x14005fd2d
mov eax, dword [0x141dc99a8]
sub eax, dword [0x141dc99ac]
add eax, 0xcdd5261b
mov ecx, 0xbc66f7d5
imul rcx, rax
shr rcx, 0x3d
imul eax, ecx, 0xf6866f9
cmp eax, 0xb3c9f799
mov rbx, qword [rbp - 0x10]
jne 0x14005fcbd
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov r15, qword [rbp]
mov r12, qword [rbp - 8]
nop word cs:[rax + rax]
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [0x141dc99b0]
sub eax, dword [0x141dc99b4]
imul eax, eax, 0x9f7d5ea3
add eax, 0x6dd0a9d8
and eax, 0x85c2fb4
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
cmp eax, 0xec25fc0
je 0x14005fcd0
nop word cs:[rax + rax]
mov eax, dword [0x141dc99b8]
xor edx, edx
div dword [0x141dc99bc]
imul eax, eax, 0x1b3ec133
cmp eax, 0x86934a7e
je 0x14005fd10
jmp 0x14005fd50
sub rsp, 0x20
mov rbx, qword [rbp - 0x10]
mov rcx, rbx
mov rdx, r15
mov r8, r12
call fcn.140046d50
add rsp, 0x20
mov r15, qword [rbp]
mov r12, qword [rbp - 8]
nop
mov eax, dword [0x141dc99c0]
add eax, dword [0x141dc99c4]
and eax, 0xc30cb8aa
add eax, 0xa04df416
cmp eax, 0x91a7f953
jb 0x14005fd50
mov r8, qword [rbx + 8]
test r8, r8
je 0x14006001a
mov r9, qword [rbx]
movzx ecx, word [rbx + 0x10]
mov eax, dword [0x141dc99c8]
xor edx, edx
div dword [0x141dc99cc]
nop
mov eax, dword [0x141dc99d0]
add eax, dword [0x141dc99d4]
imul eax, eax, 0xca2870b
add eax, 0xc164b0ba
xor eax, 0x541f5e67
cmp eax, 0x9afd56ba
ja 0x14005fd90
movzx eax, byte [r9]
nop word [rax + rax]
mov edx, dword [0x141dc99d8]
imul edx, dword [0x141dc99dc]
add edx, 0x6974986f
or edx, 0x296851db
cmp edx, 0x66e827c3
je 0x14005fdc0
cmp al, 0x30
jbe 0x14005fe27
mov word [r13], 2
mov eax, dword [0x141dc99f0]
xor eax, dword [0x141dc99f4]
imul rdx, rax, 0x3b5af8f9
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
or eax, 0x9808b38e
imul eax, eax, 0xf12c4164
cmp eax, 0xb3e560f6
ja 0x14005fed7
jmp 0x14005feb6
mov eax, dword [0x141dc99e0]
and eax, dword [0x141dc99e4]
imul eax, eax, 0x78d1e0cd
add eax, 0xe606e7b7
cmp eax, 0x7ca36f64
jb 0x140060016
jmp 0x14005fff1
mov eax, dword [0x141dc99a0]
xor edx, edx
div dword [0x141dc99a4]
add eax, 0xb68b4179
mov ecx, 0xaf53ac15
imul rcx, rax
shr rcx, 0x3f
mov word [r13], 2
lea rax, [0x141db5d26]
mov qword [r13 + 8], rax
cmp ecx, 0xb72760e7
jbe 0x14005fe9c
mov word [r13], 2
lea rax, [0x141db5d26]
mov qword [r13 + 8], rax
jmp 0x14005fe4e
mov qword [r13 + 0x10], 3
mov ebx, 1
mov r15, qword [rbp]
mov r12, qword [rbp - 8]
jmp 0x140060201
mov eax, dword [0x141dc99f8]
sub eax, dword [0x141dc99fc]
or eax, 0xfff87b3a
xor eax, 0x5e5912a0
mov qword [r13 + 8], r9
cmp eax, 0xa47f567
jae 0x14005fedd
mov qword [r13 + 8], r9
jmp 0x14005feb6
mov qword [r13 + 0x10], 1
mov ebx, 1
cmp r8, 2
jb 0x14006007c
mov word [r13 + 0x18], 2
mov eax, dword [0x141dc9a00]
xor eax, dword [0x141dc9a04]
and eax, 0x16a0982
cmp eax, 0x1ae5b378
je 0x14006004d
jmp 0x14006001c
mov eax, dword [0x141dc9970]
xor eax, dword [0x141dc9974]
and eax, 0x398910e7
mov word [r13], 2
cmp eax, 0x8649a454
jne 0x14005ff44
mov word [r13], 2
jmp 0x14005ff1c
mov r15, qword [rbp]
nop dword [rax + rax]
mov eax, dword [0x141dc9978]
mov ecx, dword [0x141dc997c]
add eax, ecx
add eax, 0xfbefb4d
and eax, 0xaf9669f0
imul rcx, rax, 0x3d9fa407
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1a
cmp eax, 0xb3cbdc4e
ja 0x14005ff50
mov eax, dword [0x141dc9980]
or eax, dword [0x141dc9984]
imul rax, rax, 0x3c15c3fd
shr rax, 0x3d
imul eax, eax, 0x2308ebca
add eax, 0xb1f81e75
cmp eax, 0x7dd6828a
jae 0x14005ffbf
lea rax, [0x141db5d1f]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
lea rax, [0x141db5d1f]
xor esi, esi
nop dword [rax + rax]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
test sil, sil
jne 0x14005ffd0
mov r12d, 1
mov ebx, 1
jmp 0x140060201
mov eax, dword [0x141dc99e8]
xor eax, dword [0x141dc99ec]
xor eax, 0x2d5aebcb
imul eax, eax, 0x3f6c027c
and eax, 0xb8f053fc
ud2
ud2
ud2
lea rax, [0x141db92fb]
mov qword [r13 + 0x20], rax
mov eax, dword [0x141dc9a08]
sub eax, dword [0x141dc9a0c]
imul eax, eax, 0x6eb2a90a
xor eax, 0x1a6e6dbe
mov qword [r13 + 0x28], 1
cmp eax, 0x46948e3c
jbe 0x140060062
lea rax, [0x141db92fb]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
jmp 0x14006001c
inc r9
dec r8
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], r9
mov qword [r13 + 0x40], r8
mov ebx, 3
mov eax, dword [0x141dc9a10]
xor edx, edx
div dword [0x141dc9a14]
mov eax, 0xa4e842fb
nop
mov edx, dword [0x141dc9a18]
add edx, dword [0x141dc9a1c]
xor edx, 0xf5bac8c6
shr edx, 1
imul rdx, rax
shr rdx, 0x3d
or edx, 0xda95da70
cmp edx, 0xf1e9fefb
ja 0x140060090
test cx, cx
jle 0x140060185
mov eax, dword [0x141dc9a20]
xor edx, edx
div dword [0x141dc9a24]
dec ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc9a28]
sub eax, dword [0x141dc9a2c]
and eax, 0x35006004
imul rax, rax, 0xac0026d
shr rax, 0x39
cmp eax, 0x3a7b9bd7
ja 0x1400600e0
mov eax, dword [0x141dc9a30]
xor edx, edx
div dword [0x141dc9a34]
add eax, 0xb97ce6f2
xor eax, 0x8e52fb58
cmp eax, 0x2baf376e
jae 0x14006013a
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
lea rdx, [0x141db5d1a]
mov qword [r13 + rax*8 + 8], rdx
lea rdx, [rbx + rbx*2]
lea rax, [rdx*8]
add rax, r13
lea r8, [0x141db5d1a]
mov r9d, dword [0x141dc9a38]
sub r9d, dword [0x141dc9a3c]
imul r9d, r9d, 0xe58f7fc7
mov word [r13 + rdx*8], 2
mov qword [r13 + rdx*8 + 8], r8
cmp r9d, 0x448c9994
je 0x140060150
mov qword [rax + 0x10], 1
jmp 0x1400601af
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
lea rdx, [0x141db5d1b]
mov qword [r13 + rax*8 + 8], rdx
mov qword [r13 + rax*8 + 0x10], 2
mov eax, 1
sub eax, ecx
mov ecx, eax
mov eax, dword [0x141dc9a40]
add eax, dword [0x141dc9a44]
or eax, 0xb31ad25
add eax, 0x3e26ce34
and eax, 0xfee4029a
cmp eax, 0x401de59b
jb 0x1400601e9
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
xor eax, eax
test al, al
je 0x1400601fd
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
jmp 0x1400601d1
add rbx, 2
mov eax, dword [0x141dc9a48]
or eax, dword [0x141dc9a4c]
imul eax, eax, 0x4fe696d5
or eax, 0x5e04084
and eax, 0xaffbe2bd
cmp eax, 0x65e3f7f9
jae 0x140060250
mov qword [rdi], r12
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.1400602a0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dc9a50]
xor eax, dword [0x141dc9a54]
imul r14d, eax, 0x521f175a
mov qword [rdi], r12
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.1400602a0
add rsp, 0x20
cmp r14d, 0x71a0fb03
ja 0x140060250
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret