Function at 0x140017610
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r9, rdx
mov eax, 0x9f757e01
nop word cs:[rax + rax]
mov edx, dword [0x141dc4ad0]
xor edx, dword [0x141dc4ad4]
or edx, 0x7e415aeb
imul rdx, rax
shr rdx, 0x3c
add edx, 0x9ea3cb02
cmp edx, 0xa15eb8de
ja 0x140017630
movzx r8d, byte [rcx]
movzx eax, byte [r9]
mov edx, dword [0x141dc4ad8]
add edx, dword [0x141dc4adc]
imul edx, edx, 0x9a0716d9
or edx, 0x1333d631
imul edx, edx, 0xf3b92da5
cmp edx, 0x40fab4dd
je 0x140017660
xor edx, edx
nop dword [rax + rax]
test dl, dl
jne 0x140017690
cmp r8b, al
jne 0x140017b72
mov sil, 1
lea rax, [r8 - 2]
cmp rax, 0xe
ja case.default.0x1400176bc
lea rdx, [0x141dbc3bc]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp r8d, 2
jne case.default.0x1400176bc
mov r8, qword [rcx + 0x18]
cmp r8, qword [r9 + 0x18]
jne 0x140017b72
mov rdx, qword [r9 + 0x10]
mov rcx, qword [rcx + 0x10]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete sil
jmp case.default.0x1400176bc
mov eax, dword [0x141dc4af0]
imul eax, dword [0x141dc4af4]
or eax, 0x84c58cea
imul eax, eax, 0xf1f7bda7
add eax, 0x4a90219a
cmp eax, 0xb15380f3
jb case.0x1400176bc.5
cmp r8d, 5
jne case.default.0x1400176bc
xor eax, eax
test al, al
jne 0x140017720
jmp 0x140017e8d
mov eax, dword [0x141dc4af8]
xor eax, dword [0x141dc4afc]
and eax, 0xe080702d
add eax, 0x6b448e89
cmp eax, 0x38e19067
jb case.0x1400176bc.6
nop dword [rax]
mov eax, dword [0x141dc4b00]
xor edx, edx
div dword [0x141dc4b04]
and eax, 0xca2a5e8f
add eax, 0x276581d
cmp eax, 0x6c3b6185
ja 0x140017750
cmp r8d, 6
jne case.default.0x1400176bc
mov rcx, qword [rcx + 8]
mov eax, dword [0x141dc4b58]
xor edx, edx
div dword [0x141dc4b5c]
mov eax, 0x86f56411
mov edx, dword [0x141dc4b60]
add edx, dword [0x141dc4b64]
imul edx, edx, 0x77c7f93f
imul rdx, rax
shr rdx, 0x3f
or edx, 0xd9cd812e
cmp edx, 0x34eb764
jb 0x140017790
mov rax, qword [r9 + 8]
nop dword [rax]
mov edx, dword [0x141dc4b68]
xor edx, dword [0x141dc4b6c]
or edx, 0x9897e24e
imul r8, rdx, 0x1ee24717
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1e
add edx, 0xa400c1e1
cmp rcx, rax
sete sil
cmp edx, 0x24d158d8
jb 0x1400177c0
jmp case.default.0x1400176bc
mov eax, dword [0x141dc4b28]
imul eax, dword [0x141dc4b2c]
xor eax, 0xb1b0d6d0
imul rax, rax, 0x1316a36b
shr rax, 0x3b
imul eax, eax, 0xa2893192
cmp eax, 0xf3eef3ec
ja case.0x1400176bc.9
xor eax, eax
nop dword [rax]
test al, al
jne 0x140017840
cmp r8d, 9
jne case.default.0x1400176bc
mov eax, dword [0x141dc4b98]
xor edx, edx
div dword [0x141dc4b9c]
nop dword [rax]
mov eax, dword [0x141dc4ba0]
and eax, dword [0x141dc4ba4]
or eax, 0xf9ad3ca7
xor eax, 0x183cb68f
imul eax, eax, 0x6a7e1020
cmp eax, 0xeb849c19
ja 0x140017860
movzx eax, byte [rcx + 1]
nop word [rax + rax]
test al, al
sete cl
mov edx, dword [0x141dc4ba8]
imul edx, dword [0x141dc4bac]
add edx, 0xe8daa2b4
and edx, 0x398279d4
imul edx, edx, 0xaeb385e4
cmp byte [r9 + 1], 0
setne sil
xor sil, cl
cmp edx, 0x5a3f5fe1
ja 0x140017890
jmp case.default.0x1400176bc
mov eax, dword [0x141dc4b38]
and eax, dword [0x141dc4b3c]
or eax, 0x12585955
imul eax, eax, 0x2b9b55e0
and eax, 0x8dfbcd40
cmp eax, 0x6e0b96ca
ja case.0x1400176bc.13
cmp r8d, 0xd
jne case.default.0x1400176bc
nop dword [rax]
mov eax, dword [0x141dc4bd8]
mov edx, dword [0x141dc4bdc]
add eax, edx
add eax, 0xd61fe25f
and eax, 0x708cecc2
cmp eax, 0x70f6467
jb 0x140017900
mov eax, 0xa0abbf9d
nop word cs:[rax + rax]
mov edx, dword [0x141dc4be0]
sub edx, dword [0x141dc4be4]
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x83669d55
je 0x140017930
mov rcx, qword [rcx + 8]
mov r8, qword [r9 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4be8]
xor edx, edx
div dword [0x141dc4bec]
add eax, 0x2b255011
xor eax, 0x2d4964ff
add eax, 0xbe49e11b
cmp rcx, r8
sete sil
cmp eax, 0xc53f4eed
jae 0x140017960
jmp case.default.0x1400176bc
mov eax, dword [0x141dc4b40]
or eax, dword [0x141dc4b44]
imul eax, eax, 0xc69bf13e
xor eax, 0xc4370e69
imul rax, rax, 0xf73aac5
shr rax, 0x3a
cmp eax, 0x42a0bf81
ja case.0x1400176bc.14
cmp r8d, 0xe
jne case.default.0x1400176bc
mov r14, qword [rcx + 0x18]
cmp r14, qword [r9 + 0x18]
jne 0x140017b72
mov rdi, qword [rcx + 0x10]
mov rbx, qword [r9 + 0x10]
nop dword [rax]
mov eax, dword [0x141dc4bf0]
xor edx, edx
div dword [0x141dc4bf4]
add eax, 0x1159be89
or eax, 0xbb7ccfef
test r14, r14
sete sil
cmp eax, 0x74b0d05d
jb 0x1400179e0
sub r14, 1
jb case.default.0x1400176bc
mov rcx, rdi
mov rdx, rbx
call fcn.140017610
add rdi, 0x20
add rbx, 0x20
test al, al
jne 0x1400179e0
jmp case.default.0x1400176bc
mov eax, dword [0x141dc4ae8]
or eax, dword [0x141dc4aec]
imul eax, eax, 0x53f70faa
xor eax, 0xa087a0d6
imul eax, eax, 0x7cebc3dd
cmp eax, 0xd2ea5e30
ja case.0x1400176bc.3
cmp r8d, 3
jne case.default.0x1400176bc
nop
mov eax, dword [0x141dc4b48]
and eax, dword [0x141dc4b4c]
imul eax, eax, 0xeac89293
add eax, 0x731b6398
or eax, 0x67667a4f
cmp eax, 0xabddee03
ja 0x140017a60
jmp 0x140017e4d
mov eax, dword [0x141dc4b08]
and eax, dword [0x141dc4b0c]
and eax, 0xc5be47ed
add eax, 0x7c3da1bf
cmp eax, 0x8a15c1f2
jb case.0x1400176bc.7
nop dword [rax]
mov eax, dword [0x141dc4b10]
xor eax, dword [0x141dc4b14]
or eax, 0x3801ca98
xor eax, 0x394930f5
imul eax, eax, 0x19870b98
cmp eax, 0x12af0888
jb 0x140017ab0
cmp r8d, 7
jne case.default.0x1400176bc
mov eax, 0xae1a9bcd
nop word cs:[rax + rax]
mov edx, dword [str.nj_]
xor edx, dword [0x141dc4b74]
xor edx, 0x825dc2fa
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xa8a2be92
je 0x140017af0
movss xmm0, dword [rcx + 4]
nop word [rax + rax]
mov eax, dword [0x141dc4b78]
and eax, dword [0x141dc4b7c]
and eax, 0x86390ca6
imul eax, eax, 0x47e55f83
cmp eax, 0x149a6af8
je 0x140017b20
nop
mov eax, dword [0x141dc4b80]
or eax, dword [0x141dc4b84]
imul eax, eax, 0x8698300c
or eax, 0xefdd351c
movss xmm1, dword [r9 + 4]
cmpeqss xmm1, xmm0
movd esi, xmm1
and esi, 1
cmp eax, 0xeffe42e2
je 0x140017b40
jmp case.default.0x1400176bc
xor esi, esi
nop word cs:[rax + rax]
mov eax, dword [0x141dc4ae0]
and eax, dword [0x141dc4ae4]
imul eax, eax, 0x773a28ed
imul rax, rax, 0x2e6ce675
shr rax, 0x3b
add eax, 0xa3f56033
cmp eax, 0x417c6ec8
jb case.default.0x1400176bc
mov eax, esi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140017bc0
cmp r8d, 4
jne case.default.0x1400176bc
xor eax, eax
nop dword [rax]
test al, al
jne 0x140017bd0
nop word cs:[rax + rax]
mov eax, dword [0x141dc4b50]
add eax, dword [0x141dc4b54]
xor eax, 0x1df553de
imul eax, eax, 0xbcd9064b
and eax, 0x30c44b7e
cmp eax, 0xaf33b61c
ja 0x140017be0
movzx eax, word [r9 + 2]
cmp word [rcx + 2], ax
sete sil
jmp case.default.0x1400176bc
cmp r8d, 0xb
jne case.default.0x1400176bc
nop
mov eax, dword [0x141dc4bc0]
sub eax, dword [0x141dc4bc4]
add eax, 0x7383435d
or eax, 0xbdfdfbff
cmp eax, 0x79030361
jb 0x140017c20
nop dword [rax]
mov eax, dword [0x141dc4bc8]
or eax, dword [0x141dc4bcc]
imul rax, rax, 0x42c3727f
shr rax, 0x39
imul eax, eax, 0x4daa520e
cmp eax, 0x5ee0c293
je 0x140017c40
movzx eax, word [rcx + 2]
cmp ax, word [r9 + 2]
sete sil
jmp case.default.0x1400176bc
cmp r8d, 0x10
jne case.default.0x1400176bc
mov eax, dword [0x141dc4bf8]
add eax, dword [str.nK_f_8S]
or eax, 0x42371763
add eax, 0xb48ef0d0
cmp eax, 0x3858d420
ja 0x140017c80
mov rdi, qword [rcx + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4c00]
and eax, dword [0x141dc4c04]
add eax, 0xd3ee30a7
xor eax, 0x620146
or eax, 0xdf99e6b9
cmp eax, 0xbb704979
jb 0x140017cb0
mov rbx, qword [r9 + 8]
mov eax, dword [0x141dc4c08]
xor edx, edx
div dword [0x141dc4c0c]
add eax, 0x40303f69
and eax, 0xe38381e4
cmp eax, 0x1101400a
jae 0x140017d00
mov rcx, rdi
mov rdx, rbx
call fcn.1400ded70
mov ebp, dword [0x141dc4c10]
and ebp, dword [0x141dc4c14]
add ebp, 0xa420952
and ebp, 0x41bef24
add ebp, 0x326d141
mov rcx, rdi
mov rdx, rbx
call fcn.1400ded70
mov esi, eax
cmp ebp, 0x775f495
jae 0x140017d00
jmp case.default.0x1400176bc
mov eax, dword [0x141dc4b18]
xor edx, edx
div dword [0x141dc4b1c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4b20]
and eax, dword [0x141dc4b24]
imul eax, eax, 0xaaaf06e5
and eax, 0x84033837
imul eax, eax, 0xe19c12dd
cmp eax, 0xe655d1a3
ja 0x140017d50
cmp r8d, 8
jne case.default.0x1400176bc
mov eax, dword [0x141dc4b88]
xor edx, edx
div dword [0x141dc4b8c]
nop dword [rax]
mov eax, dword [0x141dc4b90]
imul eax, dword [0x141dc4b94]
and eax, 0xf8fd32e8
imul eax, eax, 0xa775b2c5
add eax, 0x7a817275
cmp eax, 0xe91e88f0
ja 0x140017d90
movsd xmm0, qword [rcx + 8]
cmpeqsd xmm0, qword [r9 + 8]
movq rsi, xmm0
and esi, 1
jmp case.default.0x1400176bc
mov eax, 0x87503679
nop word cs:[rax + rax]
mov edx, dword [0x141dc4b30]
xor edx, dword [0x141dc4b34]
add edx, 0x1f58bec
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x8196b5a4
je 0x140017de0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140017e10
cmp r8d, 0xa
jne case.default.0x1400176bc
mov eax, dword [0x141dc4bb0]
xor edx, edx
div dword [0x141dc4bb4]
nop dword [rax]
mov eax, dword [0x141dc4bb8]
add eax, dword [0x141dc4bbc]
and eax, 0x8180baad
add eax, 0x475d45e2
cmp eax, 0x9f916dad
jb 0x140017e30
movzx eax, byte [rcx + 1]
cmp al, byte [r9 + 1]
sete sil
jmp case.default.0x1400176bc
cmp r8d, 0xc
jne case.default.0x1400176bc
nop dword [rax + rax]
mov eax, dword [0x141dc4bd0]
or eax, dword [0x141dc4bd4]
xor eax, 0x7248709d
add eax, 0x634a3c74
cmp eax, 0xe2641430
jb 0x140017e70
mov eax, dword [rcx + 4]
cmp eax, dword [r9 + 4]
sete sil
jmp case.default.0x1400176bc
cmp r8d, 0xf
jne case.default.0x1400176bc
mov rcx, qword [rcx + 8]
mov rdx, qword [r9 + 8]
call fcn.1400ded70
mov esi, eax
jmp case.default.0x1400176bc