Function at 0x14017b5a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x1415c6020]
xor edx, edx
div dword [0x1415c6024]
add eax, 0xc1a781a2
imul rax, rax, 0x15a46ded
shr rax, 0x3b
cmp eax, 0x215d5351
ja 0x14017b61a
mov eax, dword [0x1415c6028]
xor edx, edx
div dword [0x1415c602c]
imul ecx, eax, 0xf07f64e1
add ecx, 0xfceb9b85
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r14, rsp
cmp ecx, 0xc52110eb
jae 0x14017b636
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
jmp 0x14017b5d8
mov r15, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.14017af10
add rsp, 0x20
test rax, rax
je 0x14017be30
mov rcx, rax
mov r8, rdx
cmp rdx, 2
jne 0x14017b70f
nop word [rax + rax]
mov eax, dword [0x1415c6030]
mov edx, dword [0x1415c6034]
not eax
not edx
or edx, eax
not edx
mov eax, edx
and eax, 0xb31c890
add eax, eax
neg eax
add eax, edx
add eax, 0x8b31c890
mov edx, eax
and edx, 0x68b6103e
add edx, edx
sub eax, edx
add eax, 0x68b6103e
shr eax, 2
imul rax, rax, 0x29ef35b9
shr rax, 0x3a
cmp eax, 0x6ff9a02f
ja 0x14017b670
movzx eax, word [rcx]
nop
mov edx, dword [0x1415c6038]
sub edx, dword [0x1415c603c]
shr edx, 4
imul rdx, rdx, 0x29bba79
shr rdx, 0x34
imul edx, edx, 0xed7bd740
cmp edx, 0x1c88ffe0
jb 0x14017b6c0
movzx eax, ax
cmp eax, 0x2e2e
jne 0x14017b70f
mov r9d, 2
xor eax, eax
test rcx, rcx
cmovne rax, rcx
test rax, rax
jne 0x14017b990
jmp 0x14017be30
lea r10, [rcx + r8]
nop word cs:[rax + rax]
mov eax, dword [0x1415c6040]
or eax, dword [0x1415c6044]
mov edx, eax
and edx, 0x22cd787a
and eax, 0x201783a
add eax, eax
sub edx, eax
add edx, 0xca017abf
or edx, 0x3f172d57
cmp edx, 0x1d187d0d
je 0x14017b720
mov r9, r8
nop word cs:[rax + rax]
mov r11, r9
mov eax, dword [0x1415c6048]
xor edx, edx
div dword [0x1415c604c]
mov eax, dword [0x1415c6054]
mov edx, eax
xor edx, edx
not edx
and edx, dword [0x1415c6050]
xor edx, eax
imul rax, rdx, 0x75ea9723
shr rax, 0x3e
not eax
and eax, 0x2000019
cmp eax, 0x4741fb1
ja 0x14017b771
cmp r10, rcx
je 0x14017b900
nop word [rax + rax]
mov eax, dword [0x1415c6058]
xor edx, edx
div dword [0x1415c605c]
mov edx, eax
not edx
or eax, 0x1a031105
or edx, 0x80400618
and edx, eax
or edx, 0x65bce8e2
mov eax, edx
and eax, 0x56cdbec0
add eax, eax
sub edx, eax
cmp edx, 0xaed976ce
je 0x14017b7b0
dec r10
lea r9, [r11 - 1]
mov eax, dword [0x1415c6060]
mov edx, dword [0x1415c6064]
mov r12d, eax
and r12d, edx
add r12d, r12d
add eax, edx
sub eax, r12d
mov edx, eax
not edx
and edx, 0xee585fa9
mov r12d, eax
and r12d, 0x11a7a056
imul r12d, edx
mov edx, eax
and edx, 0xee585fa9
or eax, 0xee585fa9
imul eax, edx
add eax, r12d
mov edx, eax
not edx
mov r12d, eax
and r12d, 0x774739d
and edx, 0x788b8c62
imul edx, r12d
mov r12d, eax
and r12d, 0x788b8c62
or eax, 0x788b8c62
imul eax, r12d
add eax, edx
or eax, 0xa1afaff9
cmp eax, 0xf2b02404
ja 0x14017b7ef
cmp byte [r10], 0x2e
jne 0x14017b760
mov eax, dword [0x1415c6068]
xor edx, edx
div dword [0x1415c606c]
mov rdx, r8
sub rdx, r11
mov rax, rcx
add rax, r11
nop word cs:[rax + rax]
mov r10d, dword [str.__G:ZpG_]
or r10d, dword [0x1415c6074]
imul r10d, r10d, 0xd3a7c331
mov r11d, r10d
not r11d
or r10d, 0x7073a006
and r11d, 0x81000088
and r10d, 0x7cf3bb76
or r10d, r11d
xor r10d, 0xf9ff5422
cmp r10d, 0xd608c59c
ja 0x14017b8a0
test r9, r9
je 0x14017b919
mov r8, rdx
test rcx, rcx
cmovne rax, rcx
test rax, rax
jne 0x14017b990
jmp 0x14017be30
mov rax, rcx
mov r9, r8
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
test rax, rax
jne 0x14017b990
jmp 0x14017be30
xor eax, eax
nop dword [rax + rax]
mov edx, dword [0x1415c6078]
sub edx, dword [0x1415c607c]
mov r9d, edx
xor r9d, 0x630c104
xor edx, 0xf98f1ef2
mov r10d, edx
and r10d, 0x884b267b
and r9d, 0x77b4d984
imul r9d, r10d
mov r10d, edx
and r10d, 0x77b4d984
or edx, 0x77b4d984
imul edx, r10d
add edx, r9d
cmp edx, 0x109835d3
je 0x14017b920
mov r9, r8
test rcx, rcx
cmovne rax, rcx
test rax, rax
je 0x14017be30
nop word cs:[rax + rax]
mov edx, dword [0x1415c6088]
mov r10d, dword [0x1415c608c]
add edx, r10d
add edx, 0x2b96040e
mov r10d, edx
and r10d, 0xb85059ae
or edx, 0xb85059ae
test rcx, rcx
lea r10d, [r10 + rdx - 0x443c0dce]
mov rdx, r9
cmove rdx, r8
cmp r10d, 0x349f50b1
ja 0x14017b990
add rax, rdx
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x14017b9e0
mov rdx, rax
not rdx
and rdx, r15
mov rcx, r15
not rcx
and rcx, rax
sub rcx, rdx
nop dword [rax]
mov edx, dword [0x1415c6090]
mov r8d, dword [0x1415c6094]
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, r9d
or r9d, edx
not r9d
imul r9d, r10d
mov r10d, edx
and r10d, r8d
or edx, r8d
imul edx, r10d
add edx, r9d
and edx, 0x7c76bbf2
add edx, 0x3addfd6e
mov r8d, edx
not r8d
and r8d, 0x1c1151ac
and edx, 0xe1eeae52
sub edx, r8d
cmp edx, 0xf2bd6d3b
ja 0x14017ba00
cmp rax, r15
je 0x14017bcf7
mov eax, dword [0x1415c6098]
xor edx, edx
div dword [0x1415c609c]
mov eax, 0x85d2bfe1
nop dword [rax]
mov edx, dword [0x1415c60a0]
mov r8d, dword [0x1415c60a4]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
mov r8d, edx
and r8d, 0x1f9589ed
add r8d, r8d
sub edx, r8d
add edx, 0x9f9589ed
mov r8d, edx
not r8d
and r8d, 0x47340fd2
mov r9d, edx
and r9d, 0xb8cbf02d
imul r9d, r8d
mov r8d, edx
and r8d, 0x47340fd2
or edx, 0x47340fd2
imul edx, r8d
add edx, r9d
shr edx, 1
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x86c69fef
ja 0x14017ba80
nop word cs:[rax + rax]
mov eax, dword [0x1415c60a8]
and eax, dword [0x1415c60ac]
and eax, 0x794f1059
imul rax, rax, 0x55e43d53
shr rax, 0x36
mov edx, eax
xor edx, 0x69
and edx, eax
cmp edx, 0x3f4c9da5
ja 0x14017bb20
cmp rdi, rcx
jbe 0x14017bc30
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14017bb60
movzx eax, byte [r15 + rcx]
nop dword [rax]
mov edx, dword [0x1415c60b8]
xor edx, dword [0x1415c60bc]
mov r8d, edx
and r8d, 0xa0045c5c
or edx, 0xa0045c5c
add edx, r8d
mov r8d, edx
xor r8d, 0xb421a184
xor edx, 0x2561ea4e
add edx, r8d
and r8d, 0x6ebfb435
sub edx, r8d
cmp edx, 0x1e0e41aa
jb 0x14017bb70
cmp al, 0xbf
jg 0x14017bc90
mov eax, dword [0x1415c60e0]
mov ecx, dword [0x1415c60e4]
not eax
not ecx
and ecx, eax
xor ecx, 0x265feb20
mov eax, ecx
and eax, 0x33c8ee9e
add eax, eax
sub ecx, eax
cmp ecx, 0x8ea29ab7
jne 0x14017bbe9
ud2
xor eax, eax
nop dword [rax + rax]
ud2
mov eax, dword [0x1415c60c0]
or eax, dword [0x1415c60c4]
mov edx, eax
xor edx, 0x24c3a122
xor eax, 0x42e72e37
add eax, edx
and edx, 0x99db70ea
sub eax, edx
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x2437af42
and edx, 0xdbc850bd
imul edx, r8d
mov r8d, eax
and r8d, 0xdbc850bd
or eax, 0xdbc850bd
imul eax, r8d
add eax, edx
cmp eax, 0x46eb4796
je 0x14017bc30
cmp rdi, rcx
jne 0x14017bbbc
mov eax, dword [0x1415c60c8]
xor edx, edx
div dword [0x1415c60cc]
nop
mov eax, dword [0x1415c60d0]
sub eax, dword [0x1415c60d4]
or eax, 0xffbc237f
mov edx, eax
and edx, 0x3c185503
xor eax, 0xbc185503
lea eax, [rax + rdx*2]
cmp eax, 0x92405849
jb 0x14017bca0
nop dword [rax + rax]
mov eax, dword [0x1415c60d8]
and eax, dword [0x1415c60dc]
add eax, 0x51e86815
xor eax, 0xf8607e48
or eax, 0x78d0013
cmp eax, 0xac1323c6
jb 0x14017bcd0
cmp rdi, rcx
jb 0x14017bd4a
mov qword [rsi + 0x10], rcx
nop dword [rax + rax]
mov eax, dword [0x1415c60b0]
mov edx, dword [0x1415c60b4]
mov r8d, edx
not r8d
and r8d, eax
xor edx, eax
add edx, eax
sub edx, r8d
imul rax, rdx, 0x6aff2653
shr rax, 0x3e
add eax, 0x1352d849
imul rdx, rax, 0x1bd79adb
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x92dcb9af
je 0x14017bd00
mov rdi, rcx
mov rax, qword [rsi]
mov rcx, rax
sub rcx, rdi
cmp rcx, 3
ja 0x14017c057
nop dword [rax]
mov ecx, dword [0x1415c60f0]
add ecx, dword [str.nKgbI]
xor ecx, 0x8da1b095
add ecx, 0xfe1d3783
or ecx, 0x7bc65a77
cmp ecx, 0x774bc367
jb 0x14017bd60
nop word cs:[rax + rax]
mov ecx, dword [0x1415c60f8]
mov edx, dword [0x1415c60fc]
mov r8d, ecx
not r8d
and r8d, edx
not edx
and edx, ecx
sub edx, r8d
and edx, 0x6eaf4f57
add edx, 0x82ef6bf
not edx
or edx, 0x8dd0a160
add edx, 0xe18fd94
jb 0x14017bd90
cmp rdi, 0xfffffffffffffffb
ja 0x14017be73
add rdi, 4
mov r12, rdi
not r12
test rax, rax
je 0x14017be19
mov ecx, dword [0x1415c6100]
or ecx, dword [0x1415c6104]
mov qword [rbx], r15
xor ecx, 0xd1cac568
mov edx, ecx
and edx, 0x3c80065e
or ecx, 0x3c80065e
add ecx, edx
or ecx, 0xc4496bd9
cmp ecx, 0x7d4a9c1d
jae 0x14017be75
jmp 0x14017bec5
xor r15d, r15d
jmp 0x14017bf05
mov eax, dword [0x1415c6080]
imul eax, dword [0x1415c6084]
or eax, 0x2f30fe35
add eax, 0xbef4749
imul rcx, rax, 0x8c1c8d3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0xfb6c3f87
je 0x14017be30
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov ecx, dword [0x1415c6108]
sub ecx, dword [0x1415c610c]
mov edx, ecx
not edx
and edx, 0x86d2ff5
mov r8d, ecx
and r8d, 0xf792d00a
imul r8d, edx
mov edx, ecx
and edx, 0x86d2ff5
or ecx, 0x86d2ff5
imul ecx, edx
add ecx, r8d
or ecx, 0x2d27bd4d
xor ecx, 0xc826f06e
mov qword [rbx + 0x10], rax
cmp ecx, 0x4780db0a
jae 0x14017bed0
mov qword [rbx + 0x10], rax
jmp 0x14017be75
mov eax, dword [0x1415c6110]
sub eax, dword [0x1415c6114]
imul eax, eax, 0xbf847818
mov ecx, eax
not ecx
and ecx, 0x3e7bd8ac
and eax, 0x41842750
sub eax, ecx
or eax, 0xa9d28348
cmp eax, 0xc82c911e
je 0x14017bed0
mov r15d, 1
shr r12, 0x3f
mov eax, dword [0x1415c611c]
add eax, dword [str._p]
mov ecx, eax
not ecx
or eax, 0xb7fa20f4
or ecx, 0x4805df0b
and ecx, eax
mov eax, 0xcf396e6d
imul rax, rcx
shr rax, 0x3e
cmp eax, 0x4aa6e453
je 0x14017bfa9
mov r13d, dword [str.zEs]
add r13d, dword [0x1415c6124]
mov eax, r13d
not eax
mov ecx, r13d
and ecx, 0x373d3970
and eax, 0x8c2c68f
imul eax, ecx
mov ecx, r13d
and ecx, 0x8c2c68f
or r13d, 0x8c2c68f
imul r13d, ecx
add r13d, eax
and r13d, 0x3da077cc
add r13d, 0x67e498bd
mov qword [rbx + 8], r15
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
mov r8, rdi
mov r9, rbx
call fcn.14013a410
add rsp, 0x20
cmp r13d, 0x913cb98b
jbe 0x14017bfcb
mov qword [rbx + 8], r15
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
mov r8, rdi
mov r9, rbx
call fcn.14013a410
add rsp, 0x20
jmp 0x14017bf3a
cmp qword [r14], 0
jne 0x14017be73
mov rax, qword [r14 + 8]
mov ecx, dword [0x1415c6128]
sub ecx, dword [0x1415c612c]
mov qword [rsi + 8], rax
mov eax, ecx
xor eax, 0x44e63bb0
or ecx, 0xbb19c44f
and ecx, eax
imul eax, ecx, 0x128cbcf4
add eax, 0x4a66394
cmp eax, 0xb8cd8f12
jbe 0x14017c010
mov qword [rsi], rdi
nop dword [rax]
mov eax, dword [0x1415c6130]
sub eax, dword [0x1415c6134]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x488aba03
and ecx, 0x377545fc
imul ecx, edx
mov edx, eax
and edx, 0x377545fc
or eax, 0x377545fc
imul eax, edx
add eax, ecx
add eax, 0xa1b10246
and eax, 0x7b5c2918
mov qword [rsi], rdi
cmp eax, 0x68de1195
jae 0x14017c010
mov eax, dword [0x1415c6138]
xor edx, edx
div dword [0x1415c613c]
add eax, 0x7b494a62
mov ecx, eax
not ecx
and ecx, 0x14543a0c
mov edx, eax
and edx, 0xebabc5f3
imul edx, ecx
mov ecx, eax
and ecx, 0x14543a0c
or eax, 0x14543a0c
imul eax, ecx
add eax, edx
imul eax, eax, 0xdcf84d00
cmp eax, 0xc258b8de
jb 0x14017c105
mov eax, dword [0x1415c6140]
xor edx, edx
div dword [0x1415c6144]
mov edi, eax
add edi, 0xc5b3f286
mov eax, edi
or eax, 0xebca5a1b
mov ecx, edi
not ecx
and ecx, 0x4118400
mov edx, eax
and edx, 0x9aae79f6
imul edx, ecx
and eax, 0x65518609
or edi, 0xefdbde1b
imul edi, eax
add edi, edx
sub rsp, 0x20
lea rdx, [0x14159eb13]
mov r8d, 1
mov rcx, rsi
call fcn.140154ae0
add rsp, 0x20
cmp edi, 0x205ddab6
jae 0x14017c127
sub rsp, 0x20
lea rdx, [0x14159eb13]
mov r8d, 1
mov rcx, rsi
call fcn.140154ae0
add rsp, 0x20
jmp 0x14017c09e
sub rsp, 0x20
lea rdx, [0x14159ed70]
mov r8d, 3
mov rcx, rsi
call fcn.140154ae0
add rsp, 0x20
mov eax, 0x9c4abe33
nop dword [rax]
mov ecx, dword [0x1415c6148]
sub ecx, dword [0x1415c614c]
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xaf484a1b
mov edx, ecx
xor edx, 0x19811e01
and ecx, 0x2648401e
add ecx, ecx
sub ecx, edx
cmp ecx, 0x78393a7e
je 0x14017c150
jmp 0x14017be30