Function at 0x14005f310
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 r11d, r8d
mov eax, dword [0x141dc6680]
xor edx, edx
div dword [0x141dc6684]
mov qword [rbp - 0x10], rcx
imul eax, eax, 0x1538bad4
cmp eax, 0x58254b30
je 0x14005f3ad
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
mov eax, 0x60
call fcn.1400ed360
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov r12, rsp
xor eax, eax
test al, al
je 0x14005f400
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov eax, 0x60
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
jmp 0x14005f347
movd eax, xmm1
mov ecx, eax
shr ecx, 0x17
movzx ecx, cx
movzx r9d, cl
lea edx, [rax + rax]
and edx, 0xfffffe
mov ecx, eax
and ecx, 0x7fffff
or ecx, 0x800000
test r9d, r9d
cmove ecx, edx
mov edx, eax
and edx, 0x7fffffff
cmp edx, 0x7f800000
jne 0x14005f445
mov r9b, 3
jmp 0x14005f5e6
mov edx, r9d
add edx, 0xffffff6a
nop
mov r8d, dword [0x141dc6688]
add r8d, dword [0x141dc668c]
or r8d, 0x40a6a0e0
and r8d, 0x5aa6a0e1
cmp r8d, 0xf963fba7
je 0x14005f450
nop word cs:[rax + rax]
mov r8d, dword [0x141dc6690]
xor r8d, dword [0x141dc6694]
and r8d, 0x1002060
cmp r8d, 0x3bc9bc28
je 0x14005f480
ucomiss xmm1, xmm1
jp 0x14005f7dc
mov r8d, 0xa7af050f
nop dword [rax]
mov r10d, dword [0x141dc6698]
and r10d, dword [str.Eis]
imul r10d, r10d, 0x31d43513
imul r10, r8
shr r10, 0x3f
cmp r10d, 0xa87d34f1
je 0x14005f4b0
nop word cs:[rax + rax]
mov r8d, dword [0x141dc66a0]
add r8d, dword [0x141dc66a4]
imul r8d, r8d, 0x3c73d034
and r8d, 0x4b652008
cmp r8d, 0xbc61b048
ja 0x14005f4e0
test eax, 0x7fffffff
je 0x14005f5d4
mov r8d, dword [0x141dc66a8]
and r8d, dword [0x141dc66ac]
and r8d, 0x14090138
or r8d, 0xe3d494c6
xor r8d, 0x7a2cc9ad
cmp r8d, 0x6e443363
jb 0x14005f510
test eax, 0x7f800000
je 0x14005f5d9
mov byte [rbp], r11b
lea rdx, [rcx + rcx]
xor r10d, r10d
cmp rcx, 0x800000
sete r10b
mov r11d, 0x2000000
cmovne r11, rdx
inc r10
movzx edx, r9w
mov dword [rbp - 8], edx
xor edx, edx
nop word cs:[rax + rax]
cmp ecx, 0x800000
sete sil
test cl, 1
sete r9b
mov r8d, dword [0x141dc66b0]
imul r8d, dword [0x141dc66b4]
or r8d, 0x621099e6
imul r8d, r8d, 0x7eda84e3
or r8d, 0x98d981f8
cmp r8d, 0xfacf6d4c
ja 0x14005f580
mov dl, sil
xor edx, 0xffffff69
add edx, dword [rbp - 8]
mov rcx, r11
movzx r11d, byte [rbp]
jmp 0x14005f5e6
mov r9b, 4
jmp 0x14005f5e6
test cl, 1
sete r9b
mov r10d, 1
mov qword [r15], rcx
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], r10
mov word [r15 + 0x18], dx
mov byte [r15 + 0x1a], r9b
add r9b, 0xfe
movzx edx, r9b
cmp dl, 3
mov ecx, 3
cmovb ecx, edx
test cl, cl
je 0x14005f724
movzx ecx, cl
test eax, eax
lea rdx, [0x141db2f1d]
mov r8d, 1
cmovs r8, rdx
mov qword [rbp - 8], r8
mov r8d, eax
shr r8d, 0x1f
mov qword [rbp], r8
lea r9, [0x141db2f1e]
nop word cs:[rax + rax]
mov r8d, dword [0x141dc66b8]
sub r8d, dword [0x141dc66bc]
shr r8d, 3
imul r10, r8, 0x11707dd
shr r10, 0x34
or r10d, 0xfdbb5af8
test eax, eax
mov r8, r9
cmovs r8, rdx
cmp r10d, 0x38bf1055
je 0x14005f650
test r11b, r11b
mov rax, qword [rbp - 8]
cmovne rax, r8
mov qword [rbp - 8], rax
mov esi, 1
mov rax, qword [rbp]
cmovne rax, rsi
mov qword [rbp], rax
cmp ecx, 1
je 0x14005f7b1
cmp ecx, 2
jne 0x14005f6e0
mov eax, dword [0x141dc67a8]
and eax, dword [0x141dc67ac]
or eax, 0xf69ccbdf
imul eax, eax, 0x80713054
cmp eax, 0x964d971c
jae 0x14005fdb4
jmp 0x14005fdde
mov eax, dword [0x141dc66d0]
sub eax, dword [0x141dc66d4]
or eax, 0x730748db
imul rax, rax, 0x50ed9467
shr rax, 0x3e
or eax, 0x8d46203a
cmp eax, 0x6dc0b8d2
je 0x14005f6e0
mov eax, dword [0x141dc66d8]
or eax, dword [0x141dc66dc]
cmp eax, 0xb5aa0428
jne 0x14005f7e4
jmp 0x14005f81b
mov word [r13], 2
lea rax, [0x141db2f1f]
mov qword [r13 + 8], rax
mov eax, dword [0x141dc66c0]
xor edx, edx
div dword [0x141dc66c4]
and eax, 0x45768b21
imul eax, eax, 0x9ac01322
xor eax, 0x554a0cfa
cmp eax, 0xb901046
jae 0x14005f763
mov qword [r13 + 0x10], 3
xor r12d, r12d
mov r15, qword [rbp - 0x10]
nop word [rax + rax]
mov eax, dword [0x141dc66c8]
sub eax, dword [0x141dc66cc]
imul eax, eax, 0xe2e31e83
imul rax, rax, 0xd847d3
shr rax, 0x37
or eax, 0xe50f5f86
mov qword [r13 + 0x10], 3
cmp eax, 0xeb00c80d
jae 0x14005f770
mov r14d, 1
mov esi, 1
jmp 0x14005fe85
mov word [r13], 2
lea rax, [0x141db2f22]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 3
mov r15, qword [rbp - 0x10]
mov r12, qword [rbp]
mov r14, qword [rbp - 8]
jmp 0x14005fe85
mov r9b, 2
jmp 0x14005f5e6
mov esi, dword [0x141dc66e0]
imul esi, dword [0x141dc66e4]
xor esi, 0x2002000
and esi, 0x82002058
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.14004eef0
add rsp, 0x20
cmp esi, 0xdfb28bed
jbe 0x14005f833
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.14004eef0
add rsp, 0x20
jmp 0x14005f7e4
mov rax, qword [r14]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc66e8]
xor ecx, dword [0x141dc66ec]
imul rcx, rcx, 0x3c3d80fb
shr rcx, 0x3d
or ecx, 0x6418c962
cmp ecx, 0x7f9552e4
ja 0x14005f840
test rax, rax
je 0x14005f916
mov eax, dword [0x141dc66f8]
mov ecx, dword [0x141dc66fc]
add eax, ecx
add eax, 0x642988c
and eax, 0x211231c0
cmp eax, 0xa0a0847b
jne 0x14005f89c
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov r15, qword [rbp - 0x10]
mov r12, qword [rbp]
nop word cs:[rax + rax]
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [0x141dc6700]
xor eax, dword [0x141dc6704]
xor eax, 0x5a04124
or eax, 0xba0e845a
imul eax, eax, 0xcbe4e437
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
cmp eax, 0xc2121475
ja 0x14005f8b0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6708]
imul eax, dword [0x141dc670c]
add eax, 0x66782656
imul rax, rax, 0x447af8d
shr rax, 0x3a
cmp eax, 0xc7bc5fe1
ja 0x14005f8f0
jmp 0x14005f962
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r12
call fcn.140047150
add rsp, 0x20
mov r15, qword [rbp - 0x10]
mov r12, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc66f0]
xor eax, dword [0x141dc66f4]
xor eax, 0x2005400
or eax, 0x40408102
and eax, 0x4240dd23
cmp eax, 0x130460ed
jbe 0x14005f940
mov rcx, qword [rbx]
mov r8, qword [rbx + 8]
movsx r10, word [rbx + 0x10]
movzx r9d, r10w
mov eax, dword [0x141dc6710]
xor edx, edx
div dword [0x141dc6714]
mov r14, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc6718]
sub eax, dword [0x141dc671c]
xor eax, 0x42d4dc6b
imul eax, eax, 0xadc49e8a
cmp eax, 0xb6b32f34
je 0x14005f990
test r8, r8
je 0x14005fbac
mov eax, 0x8f04205b
nop dword [rax]
mov edx, dword [0x141dc6728]
xor edx, dword [0x141dc672c]
imul rdx, rdx, 0x7d0b039
shr rdx, 0x39
imul edx, edx, 0xdcd1c8c8
mov r11, rdx
imul r11, rax
shr r11, 0x20
sub edx, r11d
shr edx, 1
add edx, r11d
shr edx, 0x1e
cmp edx, 0x4c1f282b
ja 0x14005f9c0
cmp byte [rcx], 0x30
jbe 0x14005fbe3
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14005fa10
test r9w, r9w
jle 0x14005fad4
mov eax, dword [str.eL2LV]
xor edx, edx
div dword [0x141dc6734]
nop dword [rax]
mov eax, dword [0x141dc6738]
xor eax, dword [0x141dc673c]
imul eax, eax, 0xbae5a038
or eax, 0xf85ee0ad
and eax, 0xfd5ef8fd
cmp eax, 0xf9cfeb30
je 0x14005fa30
mov eax, dword [0x141dc6740]
add eax, dword [0x141dc6744]
or eax, 0xb5a21dae
cmp eax, 0x715a7769
jne 0x14005fa80
mov word [r13], 2
nop word cs:[rax + rax]
mov eax, dword [0x141dc6748]
sub eax, dword [0x141dc674c]
or eax, 0xfffb7dbf
mov word [r13], 2
cmp eax, 0xf95d8c1b
jb 0x14005fa80
mov eax, dword [0x141dc6750]
sub eax, dword [0x141dc6754]
imul eax, eax, 0x7820ab18
or eax, 0x7efa59d9
mov edx, 0xf82f1e15
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x9420af37
jbe 0x14005fbe5
jmp 0x14005fc0c
mov edx, dword [0x141dc6760]
and edx, dword [0x141dc6764]
or edx, 0xd81c87da
lea rax, [0x141db2f18]
cmp edx, 0x26bb5871
jne 0x14005fb24
mov rdx, r10
neg rdx
mov word [r13], 2
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], rdx
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
neg r10
nop word [rax + rax]
mov edx, dword [0x141dc6768]
imul edx, dword [0x141dc676c]
imul edx, edx, 0x9c8ade38
and edx, 0xfce3a6e0
mov word [r13], 2
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
mov qword [r13 + 0x20], r10
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
cmp edx, 0x9730d347
ja 0x14005fb30
mov qword [r13 + 0x40], r8
nop
mov eax, dword [0x141dc6770]
or eax, dword [0x141dc6774]
and eax, 0x744a25c0
add eax, 0x1404a699
or eax, 0x9ffe303a
cmp eax, 0xd380896c
ja 0x14005fb80
mov esi, 3
jmp 0x14005fe85
xor eax, eax
test al, al
jne 0x14005fbdf
mov eax, dword [0x141dc6720]
add eax, dword [0x141dc6724]
xor eax, 0x80820478
or eax, 0x315ddb81
mov ecx, 0xf2b6f857
imul rcx, rax
shr rcx, 0x3e
ud2
ud2
ud2
mov eax, dword [0x141dc6758]
sub eax, dword [0x141dc675c]
xor eax, 0x7c345f6
imul eax, eax, 0x9cf1f428
add eax, 0x5f09f11f
mov qword [r13 + 8], rcx
cmp eax, 0xc19220d4
jae 0x14005fc12
mov qword [r13 + 8], rcx
jmp 0x14005fbe5
mov r10, r8
sub r10, r9
jbe 0x14005fd11
mov eax, dword [0x141dc6778]
xor edx, edx
div dword [0x141dc677c]
and eax, 0x12c4f888
imul eax, eax, 0x39281f6
add eax, 0x20f8229a
cmp eax, 0x304c1347
jbe 0x14005fc61
mov qword [r13 + 0x10], r9
mov word [r13 + 0x18], 2
lea rax, [0x141db64fb]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
add rcx, r9
lea rax, [0x141db64fb]
nop dword [rax + rax]
mov edx, dword [0x141dc6780]
add edx, dword [0x141dc6784]
or edx, 0xa2da07f0
and edx, 0xebfedff6
mov qword [r13 + 0x10], r9
mov word [r13 + 0x18], 2
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
cmp edx, 0x53a7661a
je 0x14005fc70
mov eax, dword [0x141dc6788]
xor edx, edx
div dword [0x141dc678c]
imul eax, eax, 0xc977af99
cmp eax, 0x63c6d9a3
jae 0x14005fcd0
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
nop dword [rax]
mov eax, dword [0x141dc6790]
xor eax, dword [0x141dc6794]
and eax, 0x4f5a7ce0
imul rax, rax, 0x35b9221f
shr rax, 0x3b
add eax, 0x7a1f525f
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], rcx
cmp eax, 0xa875e25
jb 0x14005fcd0
mov qword [r13 + 0x40], r10
mov esi, 3
jmp 0x14005fe85
mov eax, dword [0x141dc6798]
and eax, dword [0x141dc679c]
imul eax, eax, 0xfc07225c
or eax, 0x7e9265a7
imul eax, eax, 0x941c4b66
cmp eax, 0x858718c1
jae 0x14005fd40
mov qword [r13 + 0x10], r8
mov word [r13 + 0x18], 0
sub r9, r8
nop word cs:[rax + rax]
mov eax, dword [0x141dc67a0]
sub eax, dword [0x141dc67a4]
add eax, 0x57c42e2
and eax, 0xe9e389cb
add eax, 0x72e3200a
mov qword [r13 + 0x10], r8
mov word [r13 + 0x18], 0
cmp eax, 0x1bd731e9
ja 0x14005fd50
mov qword [r13 + 0x20], r9
mov word [r13 + 0x30], 2
lea rax, [0x141db64fb]
mov qword [r13 + 0x38], rax
mov qword [r13 + 0x40], 1
mov word [r13 + 0x48], 0
mov qword [r13 + 0x50], 1
mov esi, 4
jmp 0x14005fe85
mov eax, dword [0x141dc67b0]
add eax, dword [0x141dc67b4]
imul eax, eax, 0x6da604cf
xor eax, 0xa00089
or eax, 0xa71fed56
mov word [r13], 2
cmp eax, 0xb4da834
jae 0x14005fde7
mov word [r13], 2
jmp 0x14005fdb4
mov eax, dword [0x141dc67b8]
xor edx, edx
div dword [0x141dc67bc]
shr eax, 1
imul rax, rax, 0x48c4a01b
shr rax, 0x3c
or eax, 0xe8e25bd0
imul eax, eax, 0x1b0669ee
cmp eax, 0x53a2d6d9
mov r15, qword [rbp - 0x10]
mov r12, qword [rbp]
mov r14, qword [rbp - 8]
je 0x14005fe5c
lea rax, [0x141db2f18]
mov qword [r13 + 8], rax
mov eax, dword [0x141dc67c0]
or eax, dword [0x141dc67c4]
add eax, 0x579d5976
and eax, 0xa725de78
add eax, 0xeb24473
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
cmp eax, 0xfd5eea43
jbe 0x14005fe78
lea rax, [0x141db2f18]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 2
mov word [r13 + 0x18], 0
jmp 0x14005fe20
mov qword [r13 + 0x20], 1
mov esi, 2
mov eax, dword [0x141dc67c8]
and eax, dword [0x141dc67cc]
imul eax, eax, 0xa55a797f
add eax, 0xabc7c0e8
mov ecx, 0xcbf6a7e9
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x8e61ec6a
jbe 0x14005fee0
mov qword [rdi], r14
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rsi
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.140060a40
add rsp, 0x20
nop word cs:[rax + rax]
mov ebx, dword [0x141dc67d0]
and ebx, dword [0x141dc67d4]
add ebx, 0xf7e84eb7
or ebx, 0xe469ab6c
mov qword [rdi], r14
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rsi
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.140060a40
add rsp, 0x20
cmp ebx, 0xc8508895
jb 0x14005fee0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret