Function at 0x140017e40
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rdx
mov eax, dword [0x141dbecc8]
xor edx, edx
div dword [0x141dbeccc]
nop dword [rax + rax]
mov eax, dword [0x141dbecd0]
add eax, dword [0x141dbecd4]
imul eax, eax, 0x31b0fad
or eax, 0xf77fef96
cmp eax, 0xbfd60d69
jb 0x140017e60
movzx r8d, byte [rcx]
nop word cs:[rax + rax]
mov eax, dword [0x141dbecd8]
or eax, dword [0x141dbecdc]
or eax, 0x6a576f25
xor eax, 0xec3248d1
imul eax, eax, 0xf733e3a4
cmp eax, 0xcf1298a6
ja 0x140017e90
movzx eax, byte [rsi]
nop word cs:[rax + rax]
mov edx, dword [0x141dbece0]
add edx, dword [0x141dbece4]
imul edx, edx, 0xa973f88
add edx, 0x30997992
imul rdx, rdx, 0x5fe8c0d7
shr rdx, 0x3e
cmp edx, 0x97523229
ja 0x140017ec0
cmp r8b, al
jne 0x140018488
mov dil, 1
lea rax, [r8 - 2]
cmp rax, 0xe
ja case.default.0x140017f13
lea rdx, [0x141db71bc]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp r8d, 2
jne case.default.0x140017f13
nop
mov eax, dword [0x141dbed40]
imul eax, dword [0x141dbed44]
add eax, 0xe61430fe
imul rdx, rax, 0x292a9c53
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
or eax, 0x8368a4d4
cmp eax, 0xe6ca03cf
ja 0x140017f20
nop word cs:[rax + rax]
mov eax, dword [0x141dbed48]
xor eax, dword [0x141dbed4c]
add eax, 0xd37813a4
xor eax, 0x6000088
or eax, 0x21b19c62
cmp eax, 0x8d8acd0e
je 0x140017f60
mov rdi, qword [rcx + 0x18]
cmp rdi, qword [rsi + 0x18]
jne 0x140018488
mov rsi, qword [rsi + 0x10]
mov rbx, qword [rcx + 0x10]
mov eax, dword [0x141dbed50]
sub eax, dword [0x141dbed54]
add eax, 0x44db3a78
cmp eax, 0x9a943637
jae 0x140017fc0
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
nop
mov ebp, dword [0x141dbed58]
sub ebp, dword [0x141dbed5c]
add ebp, 0x6c87b254
or ebp, 0x34fb6a2d
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
cmp ebp, 0xfbfab5d6
je 0x140017fc0
test eax, eax
sete dil
jmp case.default.0x140017f13
mov eax, dword [0x141dbed00]
and eax, dword [0x141dbed04]
add eax, 0xcb69d85e
xor eax, 0xa852
or eax, 0xf7f7518d
cmp eax, 0x2da8697e
jb case.0x140017f13.6
cmp r8d, 6
jne case.default.0x140017f13
mov eax, 0x9dd88e97
nop word cs:[rax + rax]
mov edx, dword [0x141dbed78]
and edx, dword [0x141dbed7c]
xor edx, 0x2a39d706
add edx, 0xf2dd4847
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xfca8a6ce
ja 0x140018040
mov rax, qword [rcx + 8]
jmp 0x1400180d4
mov eax, dword [0x141dbed28]
add eax, dword [0x141dbed2c]
and eax, 0x18f081e
imul eax, eax, 0xe490159d
or eax, 0xc52ee39c
cmp eax, 0x8937f068
je case.0x140017f13.13
cmp r8d, 0xd
jne case.default.0x140017f13
nop dword [rax]
mov eax, dword [0x141dbedd0]
xor edx, edx
div dword [0x141dbedd4]
and eax, 0x4f2a232
xor eax, 0x52e2ba9d
cmp eax, 0xc868814f
ja 0x1400180a0
mov rax, qword [rcx + 8]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400180d0
cmp rax, qword [rsi + 8]
sete dil
jmp case.default.0x140017f13
mov eax, dword [0x141dbed30]
sub eax, dword [0x141dbed34]
imul rax, rax, 0x2020c9b9
shr rax, 0x3d
imul eax, eax, 0x519caa17
cmp eax, 0xb9ef2453
je case.0x140017f13.14
cmp r8d, 0xe
jne case.default.0x140017f13
mov r8, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x18]
mov rdx, qword [rsi + 0x10]
nop word [rax + rax]
mov eax, dword [0x141dbedd8]
sub eax, dword [str.__D]
imul eax, eax, 0x8955d810
or eax, 0x94512c12
imul eax, eax, 0xf4e04880
cmp eax, 0x566ac390
ja 0x140018130
cmp rbx, qword [rsi + 0x18]
jne 0x140018488
inc rbx
dec rbx
sete dil
je case.default.0x140017f13
lea rsi, [r8 + 0x20]
lea r14, [rdx + 0x20]
mov rcx, r8
call fcn.140017e40
mov rdx, r14
mov r8, rsi
test al, al
jne 0x140018161
jmp case.default.0x140017f13
mov eax, dword [0x141dbecf0]
imul eax, dword [0x141dbecf4]
and eax, 0x111a907d
xor eax, 0x8d27587e
add eax, 0x17fae7cc
cmp eax, 0xc8d85591
ja case.0x140017f13.3
nop word cs:[rax + rax]
mov eax, dword [0x141dbecf8]
xor eax, dword [0x141dbecfc]
imul eax, eax, 0xad78366e
add eax, 0xe1a4d564
or eax, 0x42865ee4
cmp eax, 0xd1979e9a
ja 0x1400181c0
cmp r8d, 3
jne case.default.0x140017f13
movzx eax, byte [rcx + 1]
mov cl, 1
nop word cs:[rax + rax]
cmp al, byte [rsi + 1]
sete dil
test cl, cl
je 0x140018200
jmp case.default.0x140017f13
mov eax, dword [0x141dbed08]
or eax, dword [0x141dbed0c]
xor eax, 0xeda256ad
add eax, 0x60170adc
or eax, 0x4c656281
cmp eax, 0x424cc9a2
jb case.0x140017f13.8
cmp r8d, 8
jne case.default.0x140017f13
nop dword [rax]
mov eax, dword [0x141dbed80]
sub eax, dword [0x141dbed84]
imul rdx, rax, 0x6f7af05f
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
add eax, 0x4e004766
or eax, 0x548bc770
cmp eax, 0xb55f032a
ja 0x140018240
movsd xmm0, qword [rcx + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dbed88]
and eax, dword [0x141dbed8c]
add eax, 0xbe5bc16f
and eax, 0x11000001
cmp eax, 0x3cadf1bc
je 0x140018280
cmpeqsd xmm0, qword [rsi + 8]
movq rdi, xmm0
and edi, 1
jmp case.default.0x140017f13
mov eax, dword [0x141dbed10]
add eax, dword [0x141dbed14]
and eax, 0xec791511
imul eax, eax, 0xf20b9cca
cmp eax, 0x90ba0a42
ja case.0x140017f13.10
xor eax, eax
test al, al
jne 0x1400182d0
cmp r8d, 0xa
jne case.default.0x140017f13
nop
mov eax, dword [0x141dbed98]
xor eax, dword [0x141dbed9c]
add eax, 0x269ef72f
shr eax, 2
imul rax, rax, 0x2a5fe15
shr rax, 0x35
cmp eax, 0x2ee77349
ja 0x1400182e0
movzx eax, byte [rcx + 1]
nop word [rax + rax]
mov ecx, dword [0x141dbeda0]
and ecx, dword [0x141dbeda4]
imul ecx, ecx, 0x34eada2a
xor ecx, 0xad70c353
imul ecx, ecx, 0x12a7a85e
cmp al, byte [rsi + 1]
sete dil
cmp ecx, 0x95157425
ja 0x140018310
jmp case.default.0x140017f13
mov eax, dword [0x141dbed18]
add eax, dword [0x141dbed1c]
imul eax, eax, 0x3d3cc1b8
and eax, 0x2714c0
cmp eax, 0xfc94662e
ja case.0x140017f13.12
mov eax, 0x8e5a5ad9
nop word cs:[rax + rax]
mov edx, dword [str.Klj:]
sub edx, dword [0x141dbed24]
xor edx, 0x4a352bdb
imul rdx, rax
shr rdx, 0x3f
or edx, 0x33910cc4
cmp edx, 0xa894086
jb 0x140018380
cmp r8d, 0xc
jne case.default.0x140017f13
nop word cs:[rax + rax]
mov eax, dword [0x141dbedc0]
imul eax, dword [0x141dbedc4]
imul eax, eax, 0x92aec120
or eax, 0x220c28
and eax, 0xe0f20e68
cmp eax, 0xe8f86d65
ja 0x1400183c0
mov eax, dword [rcx + 4]
mov ecx, dword [rsi + 4]
nop word [rax + rax]
mov edx, dword [0x141dbedc8]
add edx, dword [0x141dbedcc]
imul edx, edx, 0x23e89347
xor edx, 0x3808
and edx, 0xd0e3a28
cmp eax, ecx
sete dil
cmp edx, 0xe8022daa
je 0x1400183f0
jmp case.default.0x140017f13
mov eax, dword [0x141dbed38]
xor edx, edx
div dword [0x141dbed3c]
or eax, 0xdd73fbd7
cmp eax, 0x4f8a0ab6
je case.0x140017f13.15
cmp r8d, 0xf
jne case.default.0x140017f13
mov eax, dword [0x141dbede0]
xor eax, dword [0x141dbede4]
add eax, 0xb457a67f
and eax, 0xbecea185
add eax, 0x5bfaf52c
cmp eax, 0xfb3a5424
ja 0x140018440
mov rbx, qword [rcx + 8]
mov eax, dword [0x141dbede8]
sub eax, dword [0x141dbedec]
imul eax, eax, 0x86c71130
cmp eax, 0xf8aaad56
jne 0x140018713
jmp 0x14001873f
xor edi, edi
mov eax, 0x8ef2d14d
nop
mov ecx, dword [0x141dbece8]
imul ecx, dword [0x141dbecec]
imul ecx, ecx, 0xee97f5f2
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xd42b06c3
cmp ecx, 0x1ae95b99
jb 0x140018490
mov eax, edi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
cmp r8d, 4
jne case.default.0x140017f13
movzx eax, word [rcx + 2]
cmp ax, word [rsi + 2]
sete dil
nop dword [rax + rax]
mov eax, dword [0x141dbed60]
imul eax, dword [0x141dbed64]
xor eax, 0x77be49c6
imul eax, eax, 0x96b5bce1
add eax, 0x2320f999
cmp eax, 0x4dc24aa0
jbe 0x1400184e0
jmp case.default.0x140017f13
cmp r8d, 5
jne case.default.0x140017f13
mov eax, 0xe0de1245
nop dword [rax + rax]
mov edx, dword [0x141dbed68]
sub edx, dword [0x141dbed6c]
and edx, 0xb7f83d5d
imul rdx, rax
shr rdx, 0x3f
or edx, 0x8e68d1ba
cmp edx, 0x5bf328aa
jb 0x140018520
mov eax, dword [rcx + 4]
mov ecx, dword [rsi + 4]
nop
mov edx, dword [0x141dbed70]
xor edx, dword [0x141dbed74]
and edx, 0x291c9cd
add edx, 0x3db418e2
or edx, 0xf7560e03
cmp eax, ecx
sete dil
cmp edx, 0x7d4e7c11
jbe 0x140018550
jmp case.default.0x140017f13
cmp r8d, 9
jne case.default.0x140017f13
cmp byte [rsi + 1], 0
setne al
cmp byte [rcx + 1], 0
sete dil
xor dil, al
nop dword [rax]
mov eax, dword [0x141dbed90]
imul eax, dword [0x141dbed94]
add eax, 0xb2f3930a
cmp eax, 0xa055b4f4
jae 0x1400185a0
jmp case.default.0x140017f13
cmp r8d, 0xb
jne case.default.0x140017f13
nop dword [rax + rax]
mov eax, dword [0x141dbeda8]
add eax, dword [0x141dbedac]
and eax, 0x80848123
cmp eax, 0x6955a6ff
je 0x1400185d0
movzx ecx, word [rcx + 2]
nop dword [rax]
mov eax, dword [0x141dbedb0]
xor edx, edx
div dword [0x141dbedb4]
or eax, 0xe559fef7
cmp cx, word [rsi + 2]
sete dil
cmp eax, 0xdc1d66e5
je 0x1400185f0
nop word cs:[rax + rax]
mov eax, dword [0x141dbedb8]
sub eax, dword [str.0MGl]
or eax, 0x15842102
and eax, 0x3d94b3a3
add eax, 0x28f6f6e3
cmp eax, 0xfa022985
ja 0x140018620
jmp case.default.0x140017f13
xor eax, eax
nop dword [rax]
test al, al
jne 0x140018650
cmp r8d, 0x10
jne case.default.0x140017f13
mov eax, dword [0x141dbedf8]
xor edx, edx
div dword [0x141dbedfc]
nop dword [rax]
mov eax, dword [0x141dbee00]
sub eax, dword [str.dSZw]
xor eax, 0x40121
or eax, 0x7fcbd8ce
add eax, 0xd6b44984
cmp eax, 0xda421d66
ja 0x140018670
mov rbx, qword [rcx + 8]
mov eax, dword [0x141dbee08]
imul eax, dword [0x141dbee0c]
or eax, 0x6ffbf3de
cmp eax, 0xaaa5d8ad
jne 0x1400186c0
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.1400db420
nop dword [rax + rax]
mov eax, dword [0x141dbee10]
and eax, dword [0x141dbee14]
xor eax, 0x20d12f54
imul ebp, eax, 0xcf19f612
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.1400db420
mov edi, eax
cmp ebp, 0xd4cd1937
je 0x1400186c0
jmp case.default.0x140017f13
cmp r8d, 7
jne case.default.0x140017f13
movss xmm0, dword [rsi + 4]
cmpeqss xmm0, dword [rcx + 4]
movd edi, xmm0
and edi, 1
jmp case.default.0x140017f13
mov ebp, dword [0x141dbedf0]
xor ebp, dword [0x141dbedf4]
xor ebp, 0x810c4018
and ebp, 0xed0cd018
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.1400db420
cmp ebp, 0xaf6fc278
jne 0x14001874d
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.1400db420
jmp 0x140018713
mov edi, eax
jmp case.default.0x140017f13