Function at 0x14014d270
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov r8, rdx
mov rsi, rcx
mov eax, dword [0x14022c720]
xor edx, edx
div dword [0x14022c724]
add eax, 0x509d5ded
imul rax, rax, 0x61e90cc1
shr rax, 0x3c
cmp eax, 0x2ff3cbfd
jbe 0x14014d2e0
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rax, rsp
mov qword [rax], 0
nop dword [rax + rax]
mov eax, dword [0x14022c728]
mov ecx, dword [0x14022c72c]
mov edx, eax
not edx
and eax, ecx
not ecx
or ecx, edx
not eax
and eax, ecx
not eax
add eax, 0x972c30bc
mov ecx, eax
and ecx, 0xa7d98cd2
and eax, 0x3190c80
sub ecx, eax
add ecx, 0x5b1f0f88
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r14, rsp
mov qword [r14], 0
cmp ecx, 0x51a77f1c
jb 0x14014d2e0
mov rax, qword [r8]
sub rsp, 0x20
lea rdx, [0x1402078b8]
mov rcx, r8
mov r8, r14
call qword [rax]
add rsp, 0x20
mov ebx, eax
nop word cs:[rax + rax]
mov eax, dword [0x14022c730]
add eax, dword [0x14022c734]
mov ecx, eax
and ecx, 0x68557788
add ecx, ecx
sub eax, ecx
add eax, 0xe8557788
not eax
or eax, 0x34331a99
mov ecx, eax
not ecx
and eax, 0xdd4c1a79
mov edx, ecx
and edx, 0x280e506
or edx, eax
xor edx, 0x525ef493
and ecx, 0x8b00e462
or ecx, edx
cmp ecx, 0x59da975d
jb 0x14014d380
test ebx, ebx
js 0x14014d507
nop word cs:[rax + rax]
mov eax, dword [0x14022c738]
mov ecx, dword [0x14022c73c]
mov edx, eax
and edx, ecx
not edx
not eax
not ecx
or ecx, eax
and ecx, edx
xor ecx, 0x15fbd521
add ecx, 0x6e6bada0
and ecx, 0x3c326354
cmp ecx, 0x3302212f
je 0x14014d3e0
mov rax, qword [r14]
mov ecx, 0xa0c59f01
nop dword [rax]
mov edx, dword [0x14022c740]
xor edx, dword [0x14022c744]
imul rdx, rcx
shr rdx, 0x3d
or edx, 0xa7fe89d0
cmp edx, 0x43d547a8
jb 0x14014d420
nop word cs:[rax + rax]
mov ecx, dword [0x14022c748]
or ecx, dword [0x14022c74c]
add ecx, 0xdb58d5d4
mov edx, ecx
not edx
and edx, 0x1b9da87c
mov r8d, ecx
and r8d, 0xe4625783
imul r8d, edx
mov edx, ecx
and edx, 0x1b9da87c
or ecx, 0x1b9da87c
imul ecx, edx
add ecx, r8d
xor ecx, 0x7f9da3f6
cmp ecx, 0xaee1e605
ja 0x14014d450
test rax, rax
je 0x14014d526
nop word cs:[rax + rax]
mov ecx, dword [0x14022c778]
sub ecx, dword [0x14022c77c]
not ecx
or ecx, 0x16cdbca9
and ecx, 0x57fdbceb
cmp ecx, 0x70c9e025
ja 0x14014d4b0
mov ecx, dword [0x14022c780]
mov edx, dword [0x14022c784]
mov r8d, ecx
and r8d, edx
xor ecx, edx
lea ecx, [rcx + r8*2]
or ecx, 0x41f01089
and ecx, 0x45f21089
cmp ecx, 0x4bebb894
jbe 0x14014d89f
jmp 0x14014d8f1
mov qword [r15], 0
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
mov rcx, qword [r15]
jmp 0x14014d559
mov eax, dword [0x14022c750]
mov ecx, dword [0x14022c754]
xor ecx, eax
not ecx
and ecx, eax
or ecx, 0x2a24ab0c
imul eax, ecx, 0x9217fc93
or eax, 0x23295dd3
cmp eax, 0x88344929
jae 0x14014d719
jmp 0x14014d769
mov eax, dword [0x14022c798]
xor edx, edx
div dword [0x14022c79c]
nop word [rax + rax]
mov eax, dword [0x14022c7a0]
mov edx, eax
not edx
or edx, dword [0x14022c7a4]
add eax, edx
inc eax
mov edx, eax
and edx, 0x28c86be2
and eax, 0x8c02962
add eax, eax
sub edx, eax
add edx, 0x42ade1d6
cmp edx, 0xc187b8d1
ja 0x14014d570
test rcx, rcx
je 0x14014d5e2
nop dword [rax + rax]
mov eax, dword [0x14022c7a8]
xor eax, dword [0x14022c7ac]
or eax, 0xe5054ac
add eax, 0xfa111cb
not eax
or eax, 0xc2cbafb4
cmp eax, 0x990518af
jb 0x14014d5b0
mov rax, qword [rcx]
sub rsp, 0x20
call qword [rax + 0x10]
add rsp, 0x20
mov eax, dword [0x14022c7b0]
sub eax, dword [0x14022c7b4]
mov ecx, eax
xor ecx, 0x8e0a1bde
add ecx, eax
and eax, 0x71f5e421
sub ecx, eax
lea eax, [rcx + 0x2987bc7d]
not eax
or eax, 0x937711ca
add eax, ecx
add eax, 0x2987bc7e
cmp eax, 0x8d454f3c
ja 0x14014d64b
mov eax, dword [0x14022c7b8]
or eax, dword [0x14022c7bc]
imul rax, rax, 0x54a376e7
shr rax, 0x3d
add eax, 0x44f6a472
imul rax, rax, 0x44f394af
shr rax, 0x3a
mov byte [rsi], 0
cmp eax, 0x879d887d
jbe 0x14014d650
mov byte [rsi], 0
jmp 0x14014d61a
mov eax, dword [0x14022c7c0]
mov ecx, dword [0x14022c7c4]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not eax
or eax, ecx
not eax
lea ecx, [rax + 0x56f6123d]
mov edx, ecx
and edx, 0xee27ff01
xor ecx, 0x11d800fe
add eax, ecx
add eax, 0x56f6123d
sub eax, edx
add eax, 0xf9d4318d
cmp eax, 0x73ed9bd6
ja 0x14014d6e9
mov ecx, dword [0x14022c7c8]
mov eax, dword [str._w]
mov edx, ecx
not edx
and edx, eax
not edx
not eax
and eax, ecx
not eax
and eax, edx
not eax
add eax, 0xa6f92f94
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd6f28c05
and ecx, 0x290d73fa
imul ecx, edx
mov edx, eax
and edx, 0x290d73fa
or eax, 0x290d73fa
imul eax, edx
add eax, ecx
mov dword [rsi + 4], ebx
cmp eax, 0x944f83c6
jae 0x14014d6f0
mov dword [rsi + 4], ebx
jmp 0x14014d695
mov eax, dword [0x14022c7d0]
xor edx, edx
div dword [0x14022c7d4]
or eax, 0x7ff1447f
add eax, 0x96326da6
or eax, 0x33490b81
cmp eax, 0x2b21f6c2
jb 0x14014d6f0
jmp 0x14014d940
mov eax, dword [0x14022c758]
mov ecx, dword [0x14022c75c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
and eax, 0x38489623
xor ecx, 0x38489623
lea eax, [rcx + rax*2]
mov ecx, eax
and ecx, 0x37321547
xor ecx, 0x2320142
and eax, 0x2320142
or eax, ecx
or eax, 0xc8cdeab8
mov qword [rdi], 0
cmp eax, 0x1209e6e9
jae 0x14014d772
mov qword [rdi], 0
jmp 0x14014d719
mov eax, dword [0x14022c760]
mov ecx, dword [0x14022c764]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xaf9de3b1
and eax, 0x50621c4e
imul eax, edx
mov edx, ecx
and edx, 0x50621c4e
or ecx, 0x50621c4e
imul ecx, edx
add eax, ecx
add eax, 0x8f521479
mov ecx, eax
not ecx
and ecx, 0x4e591062
and eax, 0xb1a6ef9c
sub eax, ecx
cmp eax, 0xd84ad7a2
jbe 0x14014d7e1
sub rsp, 0x20
xor ecx, ecx
mov rdx, rdi
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
mov r14, qword [sym.imp.oleaut32.dll_GetErrorInfo]
nop dword [rax + rax]
mov eax, dword [0x14022c768]
xor edx, edx
div dword [0x14022c76c]
mov ebx, eax
add ebx, 0x872382d1
xor ebx, 0x5d990ce8
or ebx, 0xa2447305
sub rsp, 0x20
xor ecx, ecx
mov rdx, rdi
call r14
add rsp, 0x20
cmp ebx, 0x61041bfc
je 0x14014d7f0
nop word [rax + rax]
mov eax, dword [0x14022c770]
mov ecx, dword [0x14022c774]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
or eax, 0xd80d5840
mov ecx, eax
xor ecx, 0xa6a33e27
xor eax, 0x1008080
and eax, 0x8122b0a3
mov edx, ecx
and edx, 0x76d4071c
or edx, eax
xor edx, 0x8332991
and ecx, 0x118c172
or ecx, edx
cmp ecx, 0x252df37d
je 0x14014d830
mov rcx, qword [rdi]
mov ebx, 0x80004003
jmp 0x14014d559
mov ecx, dword [0x14022c788]
mov edx, dword [0x14022c78c]
mov r8d, ecx
and r8d, edx
or ecx, edx
lea edx, [r8 + rcx]
add ecx, r8d
add ecx, 0x312aecd1
mov r8d, 0xced5132e
sub r8d, edx
and r8d, 0xb7df563a
and ecx, 0x4820a9c5
or ecx, r8d
xor ecx, 0xf160a38c
add ecx, 0x12b21c4f
mov qword [rsi + 8], rax
cmp ecx, 0x187fbc67
jae 0x14014d8f7
mov qword [rsi + 8], rax
jmp 0x14014d89f
mov eax, dword [0x14022c790]
sub eax, dword [0x14022c794]
imul rcx, rax, 0x29667773
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov ecx, eax
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x6c106ee
cmp eax, 0x9b41034d
ja 0x14014d934
mov byte [rsi], 0x12
mov al, 1
test al, al
jne 0x14014d940
mov byte [rsi], 0x12
jmp 0x14014d92b
mov eax, dword [0x14022c7d8]
mov ecx, dword [0x14022c7dc]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
add eax, 0xd6c5436d
mov ecx, eax
and ecx, 0x24302c94
add ecx, ecx
sub eax, ecx
add eax, 0x24302c94
cmp eax, 0x84492b77
ja 0x14014d940
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret