Function at 0x14005f480
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 [0x141dc92c0]
or eax, dword [0x141dc92c4]
and eax, 0xcf9fed7f
add eax, 0x89979ff2
imul rax, rax, 0x3b12708d
shr rax, 0x3d
cmp eax, 0xb874d590
jbe 0x14005f4db
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov ecx, 0xca77e11b
mov edx, dword [0x141dc92c8]
sub edx, dword [0x141dc92cc]
add edx, 0xb446a599
imul rdx, rcx
shr rdx, 0x3e
and edx, 1
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov rbx, rsp
cmp edx, 0xbb253ce3
je 0x14005f4e0
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov qword [rbp], rsp
mov eax, 0x60
call fcn.1400ef330
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r13, rsp
movd edi, xmm1
mov eax, edi
shr eax, 0x17
movzx r11d, al
lea eax, [rdi + rdi]
and eax, 0xfffffe
mov r9d, edi
and r9d, 0x7fffff
or r9d, 0x800000
test r11d, r11d
cmove r9d, eax
mov eax, edi
and eax, 0x7fffffff
cmp eax, 0x7f800000
mov qword [rbp - 0x10], rsi
jne 0x14005f5ad
mov r11b, 3
jmp 0x14005f73a
mov r10d, r11d
add r10d, 0xffffff6a
nop word [rax + rax]
mov eax, dword [0x141dc92d0]
sub eax, dword [0x141dc92d4]
imul eax, eax, 0xcbecb223
cmp eax, 0xaa588653
je 0x14005f5c0
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x14005f5e0
ucomiss xmm1, xmm1
jp 0x14005f760
mov eax, dword [0x141dc92d8]
xor ecx, ecx
xor edx, edx
div dword [0x141dc92dc]
nop dword [rax]
test cl, cl
jne 0x14005f600
nop word cs:[rax + rax]
mov eax, dword [0x141dc92e0]
imul eax, dword [0x141dc92e4]
imul eax, eax, 0xb36202d3
cmp eax, 0x4388616e
je 0x14005f610
test edi, 0x7fffffff
je 0x14005f728
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x14005f640
mov eax, dword [0x141dc92e8]
xor edx, edx
div dword [0x141dc92ec]
nop word cs:[rax + rax]
mov eax, dword [0x141dc92f0]
and eax, dword [0x141dc92f4]
imul rax, rax, 0x5a92e22d
shr rax, 0x35
add eax, 0x9630b3f3
imul rcx, rax, 0x5b9c2cc7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
cmp eax, 0x3c6be323
ja 0x14005f660
nop word [rax + rax]
mov eax, dword [0x141dc92f8]
and eax, dword [0x141dc92fc]
or eax, 0xbe773b6f
imul rax, rax, 0x3b519eed
shr rax, 0x3d
cmp eax, 0x8ed38cb2
je 0x14005f6a0
test edi, 0x7f800000
je 0x14005f72d
mov r12, rdi
lea rcx, [r9 + r9]
mov edx, 0x2000000
xor edi, edi
nop dword [rax]
xor esi, esi
cmp r9, 0x800000
sete r10b
mov rax, rcx
cmove rax, rdx
test dil, dil
jne 0x14005f6e0
mov sil, r10b
inc rsi
xor ecx, ecx
cmp r9, 0x800000
sete cl
xor ecx, 0xffffff69
movzx r10d, r11w
add r10d, ecx
test r9b, 1
sete r11b
mov r9, rax
mov rdi, r12
jmp 0x14005f73a
mov r11b, 4
jmp 0x14005f73a
test r9b, 1
sete r11b
mov esi, 1
mov eax, dword [0x141dc9300]
xor edx, edx
div dword [0x141dc9304]
add eax, 0x9f9f6f38
and eax, 0xac1d5758
xor eax, 0x3972f135
cmp eax, 0x2b5c884e
jb 0x14005f7b5
jmp 0x14005f765
mov r11b, 2
jmp 0x14005f73a
mov ecx, dword [str.H_acEmq]
xor ecx, dword [0x141dc930c]
add ecx, 0x9f4d9f25
and ecx, 0x1ce6cbab
xor ecx, 0xf8d6d1d9
lea eax, [r11 - 2]
movzx edx, al
cmp dl, 3
mov eax, 3
cmovb eax, edx
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rsi
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], r11b
cmp ecx, 0x7422e98
jae 0x14005f7cf
mov qword [r15], r9
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rsi
mov word [r15 + 0x18], r10w
mov byte [r15 + 0x1a], r11b
jmp 0x14005f765
test al, al
je 0x14005f8c4
mov esi, r8d
lea r10, [0x141db5cfd]
mov r11d, edi
shr r11d, 0x1f
movzx eax, al
mov qword [rbp - 0x20], rax
nop
mov eax, dword [0x141dc9310]
or eax, dword [0x141dc9314]
add eax, 0x36b3af52
or eax, 0x13b446b1
imul eax, eax, 0x4fe7f330
test edi, edi
mov r9d, 1
cmovs r9, r10
cmp eax, 0x9cde3c8b
jb 0x14005f7f0
mov qword [rbp - 0x18], r13
mov eax, dword [0x141dc9318]
xor edx, edx
div dword [str.JLt_]
lea rcx, [0x141db5cfe]
mov r8d, 1
nop
mov eax, dword [0x141dc9320]
xor edx, edx
div dword [str.h_od]
add eax, 0x1bc3d2b
or eax, 0xff82823b
imul eax, eax, 0xab666b18
test edi, edi
mov r12, rcx
cmovs r12, r10
test sil, sil
cmove r12, r9
mov r13, r11
cmovne r13, r8
cmp eax, 0xf0f88cdc
je 0x14005f840
mov rax, qword [rbp - 0x20]
cmp eax, 1
je 0x14005f8ee
cmp eax, 2
mov rsi, qword [rbp - 0x10]
jne 0x14005f901
mov word [rsi], 2
mov eax, dword [0x141dc9430]
xor eax, dword [0x141dc9434]
imul rax, rax, 0x58c1d8b
shr rax, 0x3a
add eax, 0x26d94867
or eax, 0x4d084fa5
cmp eax, 0xba866d86
ja 0x14005fc6a
jmp 0x14005fc30
mov eax, dword [0x141dc9328]
or eax, dword [0x141dc932c]
add eax, 0x4bcbc2d7
and eax, 0xa1838522
cmp eax, 0xc5a9a55
mov rsi, qword [rbp - 0x10]
jb 0x14005fd5c
jmp 0x14005fd35
xor eax, eax
test al, al
mov rsi, qword [rbp - 0x10]
jne 0x14005fe06
jmp 0x14005fdfb
mov eax, dword [0x141dc9360]
imul eax, dword [0x141dc9364]
imul eax, eax, 0x689e90e
and eax, 0xac373634
mov ecx, 0xa73f89af
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x30b8a59d
jbe 0x14005f950
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, qword [rbp - 0x18]
call fcn.14004f3a0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dc9368]
and eax, dword [str.k_7:]
add eax, 0x65a00b85
shr eax, 3
imul rdi, rax, 0x15d46995
shr rdi, 0x36
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, qword [rbp - 0x18]
call fcn.14004f3a0
add rsp, 0x20
cmp edi, 0x274bd712
ja 0x14005f950
mov rax, qword [r14]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9370]
imul ecx, dword [0x141dc9374]
imul ecx, ecx, 0x991ed053
add ecx, 0xf6e36cf3
cmp ecx, 0xe92e900b
ja 0x14005f9a0
test rax, rax
je 0x14005f9df
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]
jmp 0x14005fa19
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, qword [rbp - 0x18]
call fcn.140047b80
add rsp, 0x20
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
nop
mov eax, dword [0x141dc9378]
and eax, dword [0x141dc937c]
imul eax, eax, 0x87c1af47
cmp eax, 0xfb9c413c
je 0x14005fa00
mov rcx, qword [rbx]
mov r8, qword [rbx + 8]
mov eax, dword [0x141dc9380]
xor edx, edx
div dword [0x141dc9384]
nop
mov eax, dword [0x141dc9388]
sub eax, dword [0x141dc938c]
imul eax, eax, 0x2898df7f
and eax, 0x608d53bc
cmp eax, 0x692a495d
ja 0x14005fa30
test r8, r8
je 0x14005fc2e
movsx r10, word [rbx + 0x10]
movzx r9d, r10w
mov eax, dword [0x141dc9390]
and eax, dword [0x141dc9394]
imul eax, eax, 0x53fbd208
add eax, 0x44965180
cmp eax, 0x8bde2e19
ja 0x14005fa60
movzx eax, byte [rcx]
nop word cs:[rax + rax]
mov edx, dword [0x141dc9398]
add edx, dword [0x141dc939c]
imul edx, edx, 0xbce4c311
or edx, 0x4ef83be2
cmp edx, 0xc5b6638f
je 0x14005fa90
cmp al, 0x30
jbe 0x14005fc2e
nop dword [rax + rax]
mov eax, dword [0x141dc93a0]
xor edx, edx
div dword [0x141dc93a4]
add eax, 0x3518d51
or eax, 0x891167ac
imul eax, eax, 0x2b5eae31
cmp eax, 0x8a20a812
ja 0x14005fac0
test r9w, r9w
jle 0x14005fbd6
nop
mov eax, dword [0x141dc93a8]
add eax, dword [0x141dc93ac]
imul eax, eax, 0x138b70fa
add eax, 0x76fe6c08
or eax, 0xce89dcaf
cmp eax, 0xcef73658
jb 0x14005faf0
mov rax, r8
mov word [rsi], 2
mov qword [rsi + 8], rcx
sub rax, r9
jbe 0x14005fc02
mov edx, dword [0x141dc93d8]
and edx, dword [0x141dc93dc]
or edx, 0x229bfbc1
add edx, 0x236ded55
and edx, 0xed05c56a
cmp edx, 0x2078c67
jne 0x14005fb63
mov qword [rsi + 0x10], r9
mov word [rsi + 0x18], 2
lea rdx, [0x141db92db]
mov qword [rsi + 0x20], rdx
mov edx, 0x8526fcef
lea r8, [0x141db92db]
nop
mov r10d, dword [0x141dc93e0]
imul r10d, dword [0x141dc93e4]
add r10d, 0x13a46b0f
imul r10, rdx
shr r10, 0x3f
add r10d, 0x729adcdb
mov qword [rsi + 0x10], r9
mov word [rsi + 0x18], 2
mov qword [rsi + 0x20], r8
cmp r10d, 0x1b5fd3ac
jb 0x14005fb70
mov edx, dword [0x141dc93e8]
imul edx, dword [0x141dc93ec]
imul edx, edx, 0xb6604004
xor edx, 0x7d749b0e
cmp edx, 0x6d24ddcf
ja 0x14005fce9
jmp 0x14005fca9
mov eax, dword [0x141dc93b0]
sub eax, dword [0x141dc93b4]
imul eax, eax, 0xa084c0f4
or eax, 0x12030018
and eax, 0x9ecb34dc
cmp eax, 0x6cc44167
je 0x14005ff30
jmp 0x14005fed9
mov eax, dword [0x141dc9400]
and eax, dword [0x141dc9404]
imul eax, eax, 0x782107fb
add eax, 0xb84b926a
and eax, 0x238b6c01
cmp eax, 0xc0f906bb
ja 0x140060011
jmp 0x14005fff8
ud2
lea rax, [0x141db5cf8]
mov qword [rsi + 8], rax
mov eax, dword [0x141dc9438]
imul eax, dword [0x141dc943c]
add eax, 0x9aa978fd
mov qword [rsi + 0x10], 2
mov word [rsi + 0x18], 0
mov qword [rsi + 0x20], 1
cmp eax, 0xa76047f9
jae 0x14005fc8d
lea rax, [0x141db5cf8]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 2
mov word [rsi + 0x18], 0
mov qword [rsi + 0x20], 1
jmp 0x14005fc30
mov ebx, 2
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
xor eax, eax
test al, al
je 0x140060130
jmp 0x14006010a
mov edx, dword [0x141dc93f0]
sub edx, dword [0x141dc93f4]
add edx, 0x7e290602
or edx, 0x6453fcf2
and edx, 0xef57fef2
lea r8, [rcx + r9]
mov qword [rsi + 0x28], 1
mov word [rsi + 0x30], 2
mov qword [rsi + 0x38], r8
mov qword [rsi + 0x40], rax
cmp edx, 0x5341470b
jae 0x14005fd10
mov qword [rsi + 0x28], 1
lea rdx, [rcx + r9]
mov word [rsi + 0x30], 2
mov qword [rsi + 0x38], rdx
mov qword [rsi + 0x40], rax
jmp 0x14005fca9
mov eax, dword [0x141dc93f8]
xor edx, edx
div dword [0x141dc93fc]
imul eax, eax, 0x2017ee82
and eax, 0x40096c
cmp eax, 0x5ec77ae9
je 0x14005fd10
jmp 0x14005fec5
mov eax, dword [0x141dc9330]
or eax, dword [0x141dc9334]
add eax, 0x42bd3a73
xor eax, 0x9944042c
and eax, 0xf954843c
mov word [rsi], 2
cmp eax, 0x960523c3
jae 0x14005fd63
mov word [rsi], 2
jmp 0x14005fd35
mov eax, dword [0x141dc9338]
imul eax, dword [0x141dc933c]
xor eax, 0xf6e56fab
mov edx, 0xbabd8ef7
imul rdx, rax
shr rdx, 0x3d
add edx, 0xdd5b97a
lea rcx, [0x141db5cff]
cmp edx, 0xce8b9c7e
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
jbe 0x14005fda3
mov qword [rsi + 8], rcx
mov r8d, 0xa66e2695
nop dword [rax]
mov eax, dword [0x141dc9340]
xor edx, edx
div dword [0x141dc9344]
imul rax, r8
shr rax, 0x3e
add eax, 0x8242c043
mov qword [rsi + 8], rcx
cmp eax, 0xae547b4b
ja 0x14005fdb0
mov qword [rsi + 0x10], 3
mov r12d, 1
xor r13d, r13d
mov ebx, 1
xor eax, eax
test al, al
je 0x140060130
jmp 0x14006010a
mov word [rsi], 2
xor eax, eax
test al, al
je 0x14005fe0d
mov word [rsi], 2
jmp 0x14005fdfb
xor eax, eax
test al, al
mov r14, qword [rbp - 8]
mov r15, qword [rbp]
jne 0x14005fe4a
lea rax, [0x141db5d02]
mov qword [rsi + 8], rax
mov eax, dword [0x141dc9348]
imul eax, dword [0x141dc934c]
or eax, 0x2f69c313
imul eax, eax, 0xa93ca384
add eax, 0x9ccd72a4
cmp eax, 0x7610146e
jbe 0x14005fe57
lea rax, [0x141db5d02]
mov qword [rsi + 8], rax
jmp 0x14005fe1b
mov eax, dword [0x141dc9350]
sub eax, dword [0x141dc9354]
imul eax, eax, 0x93b8c9d6
xor eax, 0x4100701
or eax, 0xeba138ac
cmp eax, 0x88069295
jne 0x14005fe90
mov qword [rsi + 0x10], 3
nop word cs:[rax + rax]
mov eax, dword [0x141dc9358]
imul eax, dword [0x141dc935c]
add eax, 0x9c2f9291
mov qword [rsi + 0x10], 3
cmp eax, 0x344cedb1
jbe 0x14005fe90
mov ebx, 1
xor eax, eax
test al, al
je 0x140060130
jmp 0x14006010a
mov ebx, 3
xor eax, eax
test al, al
je 0x140060130
jmp 0x14006010a
mov eax, dword [0x141dc93b8]
sub eax, dword [0x141dc93bc]
imul eax, eax, 0x80f5cad5
xor eax, 0x6935a107
imul rax, rax, 0x7798da5b
shr rax, 0x3e
mov word [rsi], 2
lea rdx, [0x141db5cf8]
mov qword [rsi + 8], rdx
mov rdx, r10
neg rdx
mov qword [rsi + 0x10], 2
mov word [rsi + 0x18], 0
mov qword [rsi + 0x20], rdx
mov word [rsi + 0x30], 2
cmp eax, 0x86e9a57e
jbe 0x14005ff63
mov rax, r10
neg rax
mov word [rsi], 2
lea rdx, [0x141db5cf8]
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], 2
mov word [rsi + 0x18], 0
mov qword [rsi + 0x20], rax
mov word [rsi + 0x30], 2
jmp 0x14005fed9
mov eax, dword [0x141dc93c0]
and eax, dword [0x141dc93c4]
add eax, 0x24e30e82
or eax, 0x2fab63b9
cmp eax, 0xe2ce7ba7
jne 0x14005ff90
mov qword [rsi + 0x38], rcx
mov qword [rsi + 0x40], r8
nop dword [rax + rax]
mov eax, dword [0x141dc93c8]
add eax, dword [0x141dc93cc]
and eax, 0xe4a9323f
imul eax, eax, 0x9283a69
and eax, 0x9c0e0741
mov qword [rsi + 0x38], rcx
mov qword [rsi + 0x40], r8
cmp eax, 0x7fd2f8e9
je 0x14005ff90
nop dword [rax + rax]
mov eax, dword [0x141dc93d0]
imul eax, dword [0x141dc93d4]
imul rcx, rax, 0x68230c77
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x19
imul eax, eax, 0xfbb198a3
add eax, 0x145a2e78
cmp eax, 0xce17344
jbe 0x14005ffc0
jmp 0x14005fec5
mov eax, dword [0x141dc9408]
xor edx, edx
div dword [0x141dc940c]
mov qword [rsi + 0x10], r8
cmp eax, 0xe5d113a
jne 0x140060017
mov qword [rsi + 0x10], r8
jmp 0x14005fff8
mov eax, dword [0x141dc9410]
sub eax, dword [0x141dc9414]
imul eax, eax, 0xf835d933
xor eax, 0xfe975467
imul eax, eax, 0xa177c8d4
cmp eax, 0xcce05010
je 0x14006006f
mov eax, dword [0x141dc9418]
sub eax, dword [0x141dc941c]
mov rcx, r9
sub rcx, r8
mov word [rsi + 0x18], 0
mov qword [rsi + 0x20], rcx
mov word [rsi + 0x30], 2
lea rcx, [0x141db92db]
mov qword [rsi + 0x38], rcx
cmp eax, 0x1940a047
jne 0x140060092
mov rax, r9
sub rax, r8
mov word [rsi + 0x18], 0
mov qword [rsi + 0x20], rax
mov word [rsi + 0x30], 2
lea rax, [0x141db92db]
mov qword [rsi + 0x38], rax
jmp 0x14006003b
mov eax, dword [0x141dc9420]
or eax, dword [0x141dc9424]
imul eax, eax, 0x47116ef0
add eax, 0xda79e96
and eax, 0xea03c1e2
cmp eax, 0x1e662a1d
jne 0x1400600d0
mov qword [rsi + 0x40], 1
mov word [rsi + 0x48], 0
mov qword [rsi + 0x50], 1
nop dword [rax + rax]
mov eax, dword [0x141dc9428]
xor eax, dword [0x141dc942c]
imul eax, eax, 0xe1f4219d
mov qword [rsi + 0x40], 1
mov word [rsi + 0x48], 0
mov qword [rsi + 0x50], 1
cmp eax, 0xb9f42f73
je 0x1400600d0
mov ebx, 4
xor eax, eax
test al, al
je 0x140060130
mov qword [r15], r12
mov qword [r15 + 8], r13
mov qword [r15 + 0x10], rsi
mov qword [r15 + 0x18], rbx
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call fcn.140060ae0
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141dc9440]
xor edx, edx
div dword [0x141dc9444]
imul edi, eax, 0x91403024
add edi, 0x144a4192
mov qword [r15], r12
mov qword [r15 + 8], r13
mov qword [r15 + 0x10], rsi
mov qword [r15 + 0x18], rbx
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call fcn.140060ae0
add rsp, 0x20
cmp edi, 0x1422768
jb 0x140060130
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret