Function at 0x140173e90
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rsi, rcx
mov rbx, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov rcx, rbx
mov rdx, rdi
call fcn.1401736b0
mov r8, rax
mov rcx, rdx
mov r9, rax
nop dword [rax]
mov eax, dword [str._fvd]
xor edx, edx
div dword [0x14159f804]
xor eax, 0x2600202a
or eax, 0xd1ed5e55
cmp eax, 0x7a58f079
jb 0x140173ec0
test r8, r8
je 0x140174846
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140173ef0
nop word cs:[rax + rax]
mov eax, dword [0x14159f808]
sub eax, dword [0x14159f80c]
or eax, 0x93272fac
add eax, 0xa874b23f
imul rax, rax, 0x57353f35
shr rax, 0x3e
cmp eax, 0xf7967705
ja 0x140173f00
nop dword [rax + rax]
mov eax, dword [0x14159f810]
imul eax, dword [0x14159f814]
not eax
or eax, 0x2fd044ff
mov edx, eax
not edx
and eax, 0xae7ec38e
mov r10d, edx
and r10d, 0x50013800
imul r10d, eax
mov eax, edx
and eax, 0x802e8300
or edx, 0xae7ec38e
imul edx, eax
lea eax, [rdx + r10]
add eax, 0xa9788d53
cmp eax, 0xbbb6fb3d
ja 0x140173f30
cmp rcx, 2
jne 0x140173f9a
movzx eax, word [r9]
cmp eax, 0x2e2e
jne 0x140173f9a
mov r11d, 2
xor r8d, r8d
jmp 0x14017413b
lea r10, [r8 + rcx]
nop
mov eax, dword [0x14159f818]
xor eax, dword [0x14159f81c]
imul eax, eax, 0x16ba5b62
mov edx, eax
not edx
and edx, 0xd3129704
mov r11d, eax
and r11d, 0x2ced68fa
imul r11d, edx
mov edx, eax
and edx, 0xd3129704
or eax, 0xd3129704
imul eax, edx
add eax, r11d
add eax, 0x8e0af14a
cmp eax, 0xa9a2815f
ja 0x140173fa0
mov r11, rcx
nop dword [rax]
cmp r10, r8
je 0x1401740fd
mov r14, r11
dec r10
dec r11
nop word cs:[rax + rax]
mov eax, dword [0x14159f820]
xor edx, edx
div dword [0x14159f824]
mov edx, eax
and edx, 0xa416810
and eax, 0x800
add eax, eax
sub edx, eax
cmp edx, 0x9bfd96f8
je 0x140174010
cmp byte [r10], 0x2e
jne 0x140173ff0
mov rax, rcx
sub rax, r14
add r8, r14
nop word cs:[rax + rax]
mov edx, dword [0x14159f828]
and edx, dword [0x14159f82c]
mov r10d, edx
not r10d
and r10d, 0x280a5da
mov ebp, edx
and ebp, 0xfd7f5a25
imul ebp, r10d
mov r10d, edx
and r10d, 0x280a5da
or edx, 0x280a5da
imul edx, r10d
add edx, ebp
mov r10d, edx
not r10d
and r10d, 0x7e283f97
mov ebp, edx
and ebp, 0x81d7c068
imul ebp, r10d
mov r10d, edx
and r10d, 0x7e283f96
or edx, 0x7e283f97
imul edx, r10d
add edx, ebp
mov r10d, edx
not r10d
mov ebp, edx
and ebp, 0xf57c5792
and r10d, 0xa83a86c
imul r10d, ebp
mov ebp, edx
and ebp, 0xa83a86c
or edx, 0xa83a86c
imul edx, ebp
add edx, r10d
cmp edx, 0x3d928bb9
je 0x140174050
test r11, r11
je 0x140174108
mov rcx, rax
jmp 0x14017413b
mov r8, r9
mov r11, rcx
xor r9d, r9d
jmp 0x14017413b
xor r8d, r8d
nop dword [rax + rax]
mov eax, dword [0x14159f830]
or eax, dword [0x14159f834]
imul rax, rax, 0x70e3c515
shr rax, 0x3e
add eax, 0x8011b85d
xor eax, 0xcd47771c
cmp eax, 0x949acb42
ja 0x140174110
mov r11, rcx
mov eax, dword [0x14159f838]
xor ebp, ebp
xor edx, edx
div dword [0x14159f83c]
nop dword [rax + rax]
test r9, r9
mov r10, r9
cmove r10, r8
test bpl, bpl
jne 0x140174150
test r10, r10
je 0x140174846
nop dword [rax + rax]
mov eax, dword [0x14159f840]
xor edx, edx
div dword [0x14159f844]
add eax, 0x6d552411
or eax, 0xe79359a9
test r9, r9
mov rdx, r11
cmove rdx, rcx
cmp eax, 0xcc7f1ecb
je 0x140174170
add r10, rdx
sub r10, rbx
je 0x140174251
cmp rdi, r10
jbe 0x1401741e0
nop word [rax + rax]
mov eax, dword [0x14159f860]
xor edx, edx
div dword [0x14159f864]
add eax, 0x84c2d2e8
or eax, 0x9024bcbb
add eax, 0x82f7cfc6
cmp eax, 0xde90ece1
ja 0x1401741b0
cmp byte [rbx + r10], 0xbf
jg 0x1401741f0
jmp 0x140174286
jne 0x140174286
nop word cs:[rax + rax]
mov eax, dword [0x14159f868]
or eax, dword [0x14159f86c]
or eax, 0x50d137fb
imul eax, eax, 0xe4152ab4
shr eax, 2
imul rax, rax, 0x948d191
shr rax, 0x39
cmp eax, 0x5b95d523
ja 0x1401741f0
nop dword [rax]
mov eax, dword [0x14159f870]
xor eax, dword [0x14159f874]
imul rax, rax, 0x1a9db75
shr rax, 0x38
add eax, 0x5e46e21b
and eax, 0x1404c005
cmp eax, 0x160e958c
ja 0x140174220
cmp rdi, r10
jb 0x1401743dc
mov eax, dword [0x14159f848]
xor edx, edx
div dword [0x14159f84c]
mov ecx, eax
not ecx
or eax, 0x8fafa3fc
or ecx, 0x70505c03
and ecx, eax
imul eax, ecx, 0x2d81d1c4
cmp eax, 0x620edd46
jbe 0x140174329
jmp 0x140174383
mov eax, dword [0x14159f878]
mov ecx, dword [0x14159f87c]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0xdc88c28
and eax, 0x20500d0
or eax, r9d
or edx, r8d
and r8d, 0xdc88c28
and ecx, 0x20500d0
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
or edx, 0xf0327307
mov eax, 0xaca37bfd
imul rax, rdx
shr rax, 0x3e
cmp eax, 0xb2f61dd7
je 0x1401742e9
ud2
ud2
mov eax, dword [0x14159f850]
mov ecx, dword [0x14159f854]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
or eax, 0xd85c6806
mov ecx, eax
and ecx, 0x521d6757
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x521d6757
imul rax, rax, 0x5501c2ed
shr rax, 0x3c
mov qword [rsi + 0x10], r10
cmp eax, 0xb70aa3ee
jbe 0x140174390
mov qword [rsi + 0x10], r10
jmp 0x140174329
mov eax, dword [0x14159f858]
and eax, dword [0x14159f85c]
mov ecx, eax
or ecx, 0x77420bee
mov edx, eax
not edx
and edx, 0x829e001
mov r8d, ecx
and r8d, 0x1d41dbe
imul r8d, edx
and ecx, 0x7e2be241
or eax, 0x7f6bebef
imul eax, ecx
add eax, r8d
or eax, 0xb72d1197
cmp eax, 0xf50a7a5d
ja 0x140174390
mov rdi, r10
mov rcx, qword [rsi]
mov rax, rcx
sub rax, rdi
cmp rax, 3
ja 0x1401746ef
nop
mov eax, dword [0x14159f888]
and eax, dword [0x14159f88c]
add eax, 0xf6a7d6be
imul rax, rax, 0x4315875
shr rax, 0x37
mov edx, eax
not edx
or edx, 0xa38182a5
add eax, edx
inc eax
cmp eax, 0x66639417
ja 0x1401743f0
nop word cs:[rax + rax]
mov eax, dword [0x14159f890]
mov edx, dword [0x14159f894]
not eax
not edx
or edx, eax
not edx
and edx, 0xfadc624a
imul eax, edx, 0x47e32106
cmp eax, 0x672c9d04
je 0x140174430
cmp rdi, 0xfffffffffffffffb
ja 0x1401748d6
mov eax, dword [0x14159f898]
xor edx, edx
div dword [0x14159f89c]
mov edx, eax
xor edx, 0xd501441
xor eax, 0x600a0034
or eax, 0x8f517dc3
or edx, 0x70ae823c
and edx, eax
not edx
add edx, 0x82a80ab6
cmp edx, 0x9bd731c3
mov rdx, 0xfffffffffffffffb
sub rdx, rdi
add rdi, 4
shr rdx, 0x3f
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1401744b0
nop word cs:[rax + rax]
mov eax, dword [0x14159f8a0]
imul eax, dword [0x14159f8a4]
mov r8d, eax
xor r8d, 0x90182211
xor eax, 0x2ea1c16e
or r8d, 0x43e69dc6
and r8d, eax
xor r8d, 0x8db49455
cmp r8d, 0x5de14810
jb 0x1401744c0
nop word cs:[rax + rax]
mov eax, dword [0x14159f8a8]
or eax, dword [0x14159f8ac]
add eax, 0x746325df
mov r8d, eax
not r8d
mov r9d, eax
and r9d, 0x9923ac44
and r8d, 0x66dc53bb
imul r8d, r9d
mov r9d, eax
and r9d, 0x66dc53bb
or eax, 0x66dc53bb
imul eax, r9d
add eax, r8d
xor eax, 0x412b1aec
cmp eax, 0x78030f85
jb 0x140174500
test rcx, rcx
je 0x1401745d4
mov eax, dword [0x14159f8b0]
add eax, dword [0x14159f8b4]
and eax, 0x284b31d0
imul eax, eax, 0xe35a61c7
mov r8d, eax
not r8d
mov r9d, eax
and r9d, 0xe1e0f9f0
and r8d, 0x1e1f0604
imul r8d, r9d
mov r9d, eax
and r9d, 0x1e1f0600
or eax, 0x1e1f0604
imul eax, r9d
add eax, r8d
cmp eax, 0x1178bd0b
jae 0x1401745b0
mov qword [rsp + 0x20], rbx
nop dword [rax + rax]
mov eax, dword [0x14159f8b8]
or eax, dword [0x14159f8bc]
mov qword [rsp + 0x20], rbx
cmp eax, 0x53b23fcd
je 0x1401745b0
mov qword [rsp + 0x30], rcx
mov eax, 1
jmp 0x1401745d6
xor eax, eax
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x38]
lea r9, [rsp + 0x20]
mov r8, rdi
call fcn.1400316e0
cmp qword [rsp + 0x38], 0
jne 0x140174851
mov eax, dword [0x14159f8c8]
xor edx, edx
div dword [0x14159f8cc]
and eax, 0xc0a0840a
or eax, 0x3b597255
mov ecx, eax
and ecx, 0x6a09c040
add ecx, ecx
sub eax, ecx
cmp eax, 0x9e5fb12a
nop word cs:[rax + rax]
mov eax, dword [0x14159f8d0]
xor edx, edx
div dword [0x14159f8d4]
not eax
and eax, 0x2bea2a5a
mov ecx, eax
or ecx, 0x78bc625a
sub ecx, eax
and ecx, 0x56523a1a
cmp ecx, 0x175326d
jb 0x140174630
mov rax, qword [rsp + 0x40]
mov ecx, dword [0x14159f8d8]
xor ecx, dword [0x14159f8dc]
add ecx, 0x883b3274
mov edx, ecx
and edx, 0x58f77d7f
add edx, edx
sub ecx, edx
add ecx, 0x58f77d7f
mov edx, ecx
xor edx, 0xfbd5a9fe
and edx, ecx
cmp edx, 0xbccb1b6
jne 0x14017469f
mov qword [rsi + 8], rax
mov qword [rsi], rdi
mov ecx, 0xcfff8981
nop word cs:[rax + rax]
mov edx, dword [0x14159f8e0]
mov r8d, dword [0x14159f8e4]
mov r9d, edx
xor r9d, r8d
not r9d
or edx, r8d
and edx, r9d
imul edx, edx, 0x30d08a05
imul rdx, rcx
shr rdx, 0x3f
imul edx, edx, 0x56b8a0ef
mov qword [rsi + 8], rax
mov qword [rsi], rdi
cmp edx, 0xf63f7f08
je 0x1401746b0
mov eax, dword [0x14159f8f8]
sub eax, dword [0x14159f8fc]
imul eax, eax, 0x6a8f90af
mov ecx, eax
not ecx
or ecx, 0x9f1e2135
add ecx, eax
imul eax, ecx, 0xf8c9941e
add eax, 0xf8c9941e
cmp eax, 0x15b5a09f
jae 0x140174734
lea rdx, [0x14157897b]
mov r8d, 1
mov rcx, rsi
call fcn.14014bed0
lea rdi, [0x14157897b]
nop dword [rax + rax]
mov eax, dword [0x14159f900]
xor edx, edx
div dword [0x14159f904]
mov ecx, eax
not ecx
and ecx, 0xd8ee126a
mov edx, eax
and edx, 0x2711ed95
imul edx, ecx
mov ecx, eax
and ecx, 0xd8ee126a
or eax, 0xd8ee126a
imul eax, ecx
lea ebx, [rax + rdx]
add ebx, 0x3169cc7c
mov eax, ebx
not eax
mov ecx, ebx
and ecx, 0xbb9fb28c
and eax, 0x44604d73
imul eax, ecx
mov ecx, ebx
and ecx, 0x44604d72
or ebx, 0x44604d73
imul ebx, ecx
add ebx, eax
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
call fcn.14014bed0
cmp ebx, 0x96998bf4
jb 0x140174740
mov eax, dword [0x14159f908]
mov ecx, dword [0x14159f90c]
add eax, ecx
add eax, 0xbf451442
imul rax, rax, 0xabe8013
shr rax, 0x3a
add eax, 0x4cc166e3
cmp eax, 0xe589ad20
jbe 0x1401747fb
lea rdx, [0x141578bd8]
mov r8d, 3
mov rcx, rsi
call fcn.14020ce70
lea rdi, [0x141578bd8]
nop word cs:[rax + rax]
mov eax, dword [0x14159f910]
mov ecx, dword [0x14159f914]
lea ebx, [rcx + rax]
add ebx, 0xf4f1b33d
not ebx
and ebx, 0xbe4dc9ba
mov r8d, 3
mov rcx, rsi
mov rdx, rdi
call fcn.14020ce70
cmp ebx, 0x79292526
je 0x140174810
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, 0xf4b5cc8d
nop word cs:[rax + rax]
mov ecx, dword [0x14159f8c0]
xor ecx, dword [0x14159f8c4]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x5beeea33
and edx, 0xa41115cc
imul edx, r8d
mov r8d, ecx
and r8d, 0xa41115cc
or ecx, 0xa41115cc
imul ecx, r8d
add ecx, edx
mov edx, ecx
not edx
and edx, 0xa9e2704
mov r8d, ecx
and r8d, 0xf561d8f8
imul r8d, edx
mov edx, ecx
and edx, 0xa9e2704
or ecx, 0xa9e2704
imul ecx, edx
add ecx, r8d
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x8804152a
ja 0x140174860
mov eax, dword [0x14159f8e8]
mov ecx, eax
not ecx
or ecx, dword [0x14159f8ec]
add eax, ecx
inc eax
mov ecx, eax
not ecx
and ecx, 0x3de8e56
and eax, 0xfc2171a9
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x11e5ab4
and ecx, 0x2e1a54b
imul ecx, edx
mov edx, eax
and edx, 0x2e1a54b
or eax, 0x2e1a54b
imul eax, edx
add eax, ecx
or eax, 0xfc37b9d1
cmp eax, 0xedb12a8a
je 0x140174981
mov eax, dword [0x14159f8f0]
and eax, dword [0x14159f8f4]
mov ecx, eax
and ecx, 0x34916fcc
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x34916fcc
mov ecx, eax
not ecx
and ecx, 0xe254f715
mov edx, eax
and edx, 0x1dab08ea
imul edx, ecx
mov ecx, eax
and ecx, 0xe254f715
or eax, 0xe254f715
imul eax, ecx
add eax, edx
ud2
ud2