Function at 0x1400170f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
movzx ecx, byte [rcx]
mov eax, dword [0x141dc1a70]
xor edx, edx
div dword [0x141dc1a74]
nop word [rax + rax]
mov eax, dword [0x141dc1a78]
xor eax, dword [0x141dc1a7c]
cmp eax, 0xbfbdfba8
je 0x140017120
cmp cl, byte [rsi]
jne 0x14001774a
nop dword [rax + rax]
mov eax, dword [0x141dc1a80]
add eax, dword [0x141dc1a84]
or eax, 0x5e71642c
add eax, 0x8d14fdd0
cmp eax, 0x6709e267
jb 0x140017140
mov bl, 1
lea rax, [rcx - 2]
cmp rax, 0xe
ja case.default.0x14001717b
lea rdx, [0x141db9f9c]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov eax, dword [0x141dc1a90]
xor eax, dword [0x141dc1a94]
add eax, 0xa5e0e92a
cmp eax, 0x33ced35b
jb case.0x14001717b.2
cmp ecx, 2
jne case.default.0x14001717b
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400171b0
mov r8, qword [rdi + 0x18]
cmp r8, qword [rsi + 0x18]
jne 0x14001774a
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rdi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete bl
jmp case.default.0x14001717b
mov eax, dword [0x141dc1a98]
imul eax, dword [0x141dc1a9c]
add eax, 0x2de95706
or eax, 0x7ea5ea73
cmp eax, 0x33c71dcc
jb case.0x14001717b.3
nop
mov eax, dword [0x141dc1aa0]
xor eax, dword [0x141dc1aa4]
add eax, 0x7e967234
xor eax, 0x42108121
and eax, 0x4a9c81a5
cmp eax, 0x6f1508e0
ja 0x140017200
cmp ecx, 3
jne case.default.0x14001717b
movzx eax, byte [rdi + 1]
movzx ecx, byte [rsi + 1]
xor edx, edx
nop word cs:[rax + rax]
cmp al, cl
sete bl
test dl, dl
jne 0x140017240
jmp case.default.0x14001717b
mov eax, dword [0x141dc1aa8]
or eax, dword [0x141dc1aac]
add eax, 0x8ef835eb
or eax, 0x153f894e
add eax, 0x581404d4
cmp eax, 0xa4fbac59
ja case.0x14001717b.4
nop word cs:[rax + rax]
mov eax, dword [0x141dc1ab0]
or eax, dword [0x141dc1ab4]
imul rax, rax, 0x2fc66003
shr rax, 0x39
or eax, 0xffffff4d
cmp eax, 0xde3cd18c
je 0x140017280
cmp ecx, 4
jne case.default.0x14001717b
movzx eax, word [rdi + 2]
cmp ax, word [rsi + 2]
sete bl
jmp case.default.0x14001717b
mov eax, dword [0x141dc1ab8]
and eax, dword [0x141dc1abc]
imul eax, eax, 0x5e5ac399
cmp eax, 0xa172da6f
ja case.0x14001717b.5
cmp ecx, 5
jne case.default.0x14001717b
nop word cs:[rax + rax]
mov eax, dword [0x141dc1b10]
add eax, dword [0x141dc1b14]
xor eax, 0xd58f5c52
add eax, 0x95c3ea93
imul rax, rax, 0x6b4d501f
shr rax, 0x3e
cmp eax, 0x8c91845f
je 0x1400172f0
mov eax, 0xe0ab3dd9
nop dword [rax]
mov ecx, dword [0x141dc1b18]
xor ecx, dword [0x141dc1b1c]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x225df02
cmp ecx, 0x60aa2203
ja 0x140017320
mov eax, dword [rdi + 4]
cmp eax, dword [rsi + 4]
sete bl
jmp case.default.0x14001717b
mov eax, dword [0x141dc1ac0]
sub eax, dword [0x141dc1ac4]
imul eax, eax, 0xb3391200
and eax, 0x7a6c2400
cmp eax, 0xcdc20bfc
je case.0x14001717b.6
cmp ecx, 6
jne case.default.0x14001717b
nop word [rax + rax]
mov eax, dword [0x141dc1b20]
imul eax, dword [0x141dc1b24]
xor eax, 0x20146004
or eax, 0xd9e31492
add eax, 0x335c0b7c
cmp eax, 0xc85acfe8
ja 0x140017380
mov rax, qword [rdi + 8]
nop word [rax + rax]
mov ecx, dword [0x141dc1b28]
add ecx, dword [0x141dc1b2c]
imul ecx, ecx, 0x29e853a1
cmp rax, qword [rsi + 8]
sete bl
cmp ecx, 0xa2201208
je 0x1400173b0
jmp case.default.0x14001717b
mov eax, dword [0x141dc1ac8]
and eax, dword [0x141dc1acc]
imul eax, eax, 0x37400d54
and eax, 0x6e39aaec
cmp eax, 0x41f2929e
je case.0x14001717b.7
cmp ecx, 7
jne case.default.0x14001717b
nop word [rax + rax]
mov eax, dword [0x141dc1b30]
add eax, dword [0x141dc1b34]
xor eax, 0xf04d86c
imul eax, eax, 0x3b496a43
and eax, 0xbf76dcf
cmp eax, 0xdce72e9d
je 0x140017410
movss xmm0, dword [rdi + 4]
cmpeqss xmm0, dword [rsi + 4]
movd ebx, xmm0
and ebx, 1
jmp case.default.0x14001717b
mov eax, dword [0x141dc1af8]
sub eax, dword [0x141dc1afc]
add eax, 0xa65d3e45
or eax, 0x2020004
and eax, 0x96960306
cmp eax, 0x63f9b03d
ja case.0x14001717b.13
cmp ecx, 0xd
jne case.default.0x14001717b
nop dword [rax + rax]
mov eax, dword [0x141dc1b60]
mov ecx, dword [0x141dc1b64]
add eax, ecx
add eax, 0xef35cde9
xor eax, 0xca3168a6
add eax, 0xdf5ff049
cmp eax, 0x2e022b76
jb 0x140017480
mov rax, qword [rdi + 8]
mov rcx, qword [rsi + 8]
mov edx, 0xbd5e3097
nop word cs:[rax + rax]
mov r8d, dword [0x141dc1b68]
add r8d, dword [0x141dc1b6c]
imul r8, rdx
shr r8, 0x3f
xor r8d, 0xe3913ab9
add r8d, 0x52af2f02
cmp rax, rcx
sete bl
cmp r8d, 0xff98ae6f
ja 0x1400174c0
jmp case.default.0x14001717b
mov eax, dword [0x141dc1ae8]
or eax, dword [0x141dc1aec]
add eax, 0xafe9d56b
or eax, 0xe287ce4d
and eax, 0xe2efde7d
cmp eax, 0x5ee0e8df
jb case.0x14001717b.10
cmp ecx, 0xa
jne case.default.0x14001717b
movzx eax, byte [rdi + 1]
cmp al, byte [rsi + 1]
sete bl
jmp case.default.0x14001717b
cmp ecx, 9
jne case.default.0x14001717b
movzx eax, byte [rdi + 1]
mov ecx, 0xc12fc9db
nop dword [rax]
mov edx, dword [0x141dc1b38]
or edx, dword [0x141dc1b3c]
and edx, 0x97be488c
imul rdx, rcx
shr rdx, 0x3e
add edx, 0xb04ab2d3
cmp edx, 0xf1424a34
ja 0x140017550
movzx ecx, byte [rsi + 1]
nop dword [rax]
test al, al
sete dl
mov r8d, dword [0x141dc1b40]
add r8d, dword [str._tk_8]
imul r8d, r8d, 0x6d257ead
xor r8d, 0x79bd3f11
imul r8, r8, 0x43c554f1
shr r8, 0x3b
test cl, cl
setne bl
xor bl, dl
cmp r8d, 0x1d7603d0
ja 0x140017580
jmp case.default.0x14001717b
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400175d0
mov eax, 0xe182ead7
nop dword [rax]
mov edx, dword [0x141dc1af0]
xor edx, dword [0x141dc1af4]
add edx, 0xfe94bfb6
shr edx, 1
imul rdx, rax
shr rdx, 0x3c
cmp edx, 0x946b217d
je 0x1400175e0
cmp ecx, 0xb
jne case.default.0x14001717b
xor eax, eax
nop
test al, al
jne 0x140017610
movzx eax, word [rdi + 2]
movzx ecx, word [rsi + 2]
nop dword [rax]
mov edx, dword [0x141dc1b48]
imul edx, dword [0x141dc1b4c]
imul edx, edx, 0x7331cca3
add edx, 0xa7073729
imul rdx, rdx, 0x703ecbd5
shr rdx, 0x3e
cmp ax, cx
sete bl
cmp edx, 0xa34e1e34
je 0x140017620
jmp case.default.0x14001717b
mov eax, 0x8050acd3
nop dword [rax]
mov edx, dword [0x141dc1b00]
imul edx, dword [0x141dc1b04]
imul rdx, rax
shr rdx, 0x3e
add edx, 0x4cd84729
cmp edx, 0x514edbb9
ja 0x140017660
cmp ecx, 0xe
jne case.default.0x14001717b
mov r14, qword [rdi + 0x18]
cmp r14, qword [rsi + 0x18]
jne 0x14001774a
mov r15, qword [rdi + 0x10]
mov r12, qword [rsi + 0x10]
xor r13d, r13d
xor ebp, ebp
cmp rbp, r14
sete bl
je case.default.0x14001717b
mov eax, dword [0x141dc1b70]
xor edx, edx
div dword [0x141dc1b74]
add eax, 0x5c5b617c
imul rcx, rax, 0x1ae2229d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x9d1be6af
cmp eax, 0x4b932173
je 0x1400176b3
mov rsi, rbp
shl rsi, 5
lea rdi, [r15 + rsi]
add rsi, r12
mov eax, dword [0x141dc1b78]
add eax, dword [0x141dc1b7c]
or eax, 0x1a1d2892
xor eax, 0x49bb78f0
imul rax, rax, 0x1bd7d90d
shr rax, 0x3b
cmp eax, 0x86c16d33
jbe 0x140017728
mov rcx, rdi
mov rdx, rsi
call fcn.1400170f0
inc rbp
nop dword [rax + rax]
mov rcx, rdi
mov rdx, rsi
call fcn.1400170f0
test r13b, r13b
jne 0x140017730
test al, al
jne 0x1400176a7
jmp case.default.0x14001717b
xor ebx, ebx
nop dword [rax]
mov eax, dword [0x141dc1a88]
sub eax, dword [0x141dc1a8c]
imul eax, eax, 0xfe8e03b3
add eax, 0xca662868
cmp eax, 0x952d937c
ja case.default.0x14001717b
mov eax, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp ecx, 0x10
jne case.default.0x14001717b
nop word cs:[rax + rax]
mov eax, dword [0x141dc1b98]
imul eax, dword [0x141dc1b9c]
xor eax, 0x2026d029
or eax, 0xdd182ed2
cmp eax, 0x5dacf02c
je 0x140017790
mov eax, dword [0x141dc1ba0]
xor eax, dword [0x141dc1ba4]
shr eax, 2
imul rax, rax, 0x29025f17
shr rax, 0x3b
cmp eax, 0x53754402
jbe 0x1400177e0
mov rcx, qword [rdi + 8]
mov rdx, qword [rsi + 8]
call fcn.1400dcec0
nop dword [rax]
mov eax, dword [0x141dc1ba8]
imul eax, dword [0x141dc1bac]
imul ebp, eax, 0x5f97520c
xor ebp, 0xd4008c20
or ebp, 0x299772dd
mov rcx, qword [rdi + 8]
mov rdx, qword [rsi + 8]
call fcn.1400dcec0
mov ebx, eax
cmp ebp, 0x885b44d5
ja 0x1400177e0
jmp case.default.0x14001717b
mov eax, dword [0x141dc1ad0]
xor edx, edx
div dword [0x141dc1ad4]
nop dword [rax]
mov eax, dword [0x141dc1ad8]
xor eax, dword [0x141dc1adc]
cmp eax, 0x12063ac8
je 0x140017830
nop word cs:[rax + rax]
mov eax, dword [0x141dc1ae0]
or eax, dword [0x141dc1ae4]
or eax, 0x423f5bec
imul rdx, rax, 0x29de282d
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
add eax, 0x7082062d
cmp eax, 0x61ea8033
jb 0x140017850
cmp ecx, 8
jne case.default.0x14001717b
movsd xmm0, qword [rsi + 8]
cmpeqsd xmm0, qword [rdi + 8]
movq rbx, xmm0
and ebx, 1
jmp case.default.0x14001717b
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400178b0
cmp ecx, 0xc
jne case.default.0x14001717b
nop dword [rax]
mov eax, dword [0x141dc1b50]
add eax, dword [0x141dc1b54]
xor eax, 0xcdceff55
add eax, 0x7bff17b5
xor eax, 0xae7af148
cmp eax, 0x72c8feb4
jb 0x1400178c0
mov eax, dword [rdi + 4]
mov ecx, dword [rsi + 4]
nop dword [rax + rax]
mov edx, dword [0x141dc1b58]
sub edx, dword [0x141dc1b5c]
imul edx, edx, 0xd45b663
cmp eax, ecx
sete bl
cmp edx, 0xc13dece9
je 0x1400178f0
jmp case.default.0x14001717b
mov eax, dword [0x141dc1b08]
xor edx, edx
div dword [0x141dc1b0c]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140017930
cmp ecx, 0xf
jne case.default.0x14001717b
mov eax, dword [0x141dc1b80]
sub eax, dword [0x141dc1b84]
or eax, 0x473abb0
add eax, 0x97470d4d
cmp eax, 0xad8f3e54
jae 0x140017970
mov rcx, qword [rdi + 8]
mov rdx, qword [rsi + 8]
call fcn.1400dcec0
nop word [rax + rax]
mov eax, dword [0x141dc1b88]
xor edx, edx
div dword [0x141dc1b8c]
and eax, 0xe2c54d2b
imul ebp, eax, 0x7e282282
mov rcx, qword [rdi + 8]
mov rdx, qword [rsi + 8]
call fcn.1400dcec0
cmp ebp, 0xe32e7889
je 0x140017970
mov ebx, eax
mov eax, dword [0x141dc1b90]
or eax, dword [0x141dc1b94]
and eax, 0x40069
add eax, 0xeed0da23
cmp eax, 0xb0a8f570
jbe 0x1400179a0
jmp case.default.0x14001717b