Function at 0x1401a3ca0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, rdx
mov r14, rcx
mov ecx, dword [0x1415a3620]
mov eax, dword [0x1415a3624]
mov edx, ecx
and edx, eax
not ecx
not eax
and eax, ecx
not edx
not eax
and eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xad51eed5
and ecx, 0x52ae112a
imul ecx, edx
mov edx, eax
and edx, 0x52ae112a
or eax, 0x52ae112a
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x7c91eab2
add ecx, ecx
sub eax, ecx
add eax, 0xfc91eab3
imul rax, rax, 0x5aa59563
shr rax, 0x3e
cmp eax, 0x7c75f502
ja 0x1401a3d8a
mov eax, dword [0x1415a3628]
and eax, dword [0x1415a362c]
imul ecx, eax, 0x82fbf4f
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xc1ed6572
and eax, 0x3e129a8d
imul eax, edx
mov edx, ecx
and edx, 0x3e129a8d
or ecx, 0x3e129a8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0x5a8c1b77
and ecx, 0x2573e488
add ecx, ecx
sub ecx, eax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x6c2e3ceb
jbe 0x1401a3da9
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
jmp 0x1401a3d18
mov eax, dword [0x1415a3630]
or eax, dword [0x1415a3634]
mov ecx, eax
not ecx
and ecx, 0xd6bf2ad9
mov edx, eax
and edx, 0x2940d526
imul edx, ecx
mov ecx, eax
and ecx, 0xd6bf2ad9
or eax, 0xd6bf2ad9
imul eax, ecx
add eax, edx
add eax, 0xdfa8802f
cmp eax, 0xa8f564aa
jbe 0x1401a3dff
lea r8, [rbx - 1]
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call fcn.1400b3650
add rsp, 0x20
dec rbx
nop word cs:[rax + rax]
mov r15d, dword [0x1415a3638]
sub r15d, dword [0x1415a363c]
or r15d, 0x959d095b
xor r15d, 0x7047232f
add r15d, 0x29102ad9
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14020cb00
add rsp, 0x20
cmp r15d, 0x3ea445b8
jb 0x1401a3e10
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov ecx, dword [0x1415a3640]
or ecx, dword [0x1415a3644]
mov edx, ecx
xor edx, 0x324fe611
or ecx, 0xcdb019ee
and ecx, edx
mov edx, ecx
xor edx, 0xee1fae2c
or ecx, 0x11e051d3
and ecx, edx
mov edx, ecx
xor edx, 0xc95f30c6
add edx, ecx
and ecx, 0x36a0cf39
sub edx, ecx
cmp edx, 0x12fe8a47
jb 0x1401a3e60
test rax, rax
je 0x1401a3ec0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1415a3648]
and eax, dword [0x1415a364c]
add eax, 0x1623f444
imul rax, rax, 0xc52967b
shr rax, 0x3b
add eax, 0xd8337c0d
cmp eax, 0x2eb280fb
jb 0x1401a3ec0
nop dword [rax + rax]
mov eax, dword [0x1415a3650]
and eax, dword [0x1415a3654]
xor eax, 0xa6853af5
cmp eax, 0x2130d85b
je 0x1401a3ef0
mov rbx, qword [rdi + 8]
mov eax, dword [0x1415a3658]
add eax, dword [0x1415a365c]
movabs r14, 0x8000000000000000
imul eax, eax, 0x40e07a83
or eax, 0x27caca14
cmp eax, 0xc2eb3e83
je 0x1401a3f7e
mov eax, dword [0x1415a3660]
sub eax, dword [str.6_a]
imul r15, rax, 0x683e7e7b
shr r15, 0x3c
and r15d, 0xfffffffe
mov eax, r15d
xor eax, 0xf5f0d86d
or r15d, 2
and r15d, eax
mov r8, qword [rdi + 0x10]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.14020cdd0
add rsp, 0x20
cmp r15d, 0x2dd9b44b
jbe 0x1401a3f97
mov r8, qword [rdi + 0x10]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140148cb0
add rsp, 0x20
jmp 0x1401a3f34
mov rbx, qword [rsi]
mov rdi, qword [rsi + 8]
cmp rbx, r14
jne 0x1401a4437
nop word [rax + rax]
mov eax, dword [0x1415a36a0]
mov ecx, eax
not ecx
or ecx, dword [0x1415a36a4]
add eax, ecx
inc eax
xor eax, 0xbba78b60
add eax, 0x7cdc8c39
cmp eax, 0xfa6c93a1
ja 0x1401a3fb0
mov rax, rdi
xor rax, 0xfffffffffffffffc
and rax, rdi
nop
mov ecx, dword [0x1415a36a8]
imul ecx, dword [0x1415a36ac]
imul rcx, rcx, 0x3e75abf9
shr rcx, 0x3c
or ecx, 0xccabeb9c
mov edx, ecx
xor edx, 0x401062
xor ecx, 0x45104f0d
mov r8d, ecx
and r8d, 0x888b0491
and edx, 0x4040526e
imul edx, r8d
mov r8d, ecx
and r8d, 0x130a002
or ecx, 0x4170f26e
imul ecx, r8d
add ecx, edx
cmp ecx, 0x388eeaf5
jb 0x1401a3fe0
cmp rax, 2
jg 0x1401a43a0
cmp rax, 1
jne 0x1401a3eab
lea rsi, [rdi - 1]
nop word cs:[rax + rax]
mov eax, dword [0x1415a36c0]
mov ecx, dword [0x1415a36c4]
mov edx, eax
and edx, ecx
or eax, ecx
not eax
or eax, edx
not eax
add eax, 0x38bb544c
mov ecx, eax
not ecx
or ecx, 0x2800432
and ecx, 0x2a60433
mov edx, eax
and edx, 0x905070cc
or edx, ecx
xor edx, 0xa54212d4
and eax, 0x806410c5
or eax, edx
cmp eax, 0xa228cf10
je 0x1401a4060
mov rbx, qword [rdi - 1]
mov eax, dword [0x1415a36c8]
xor edx, edx
div dword [0x1415a36cc]
nop dword [rax]
mov eax, dword [0x1415a36d0]
add eax, dword [0x1415a36d4]
xor eax, 0x6c7299c0
imul eax, eax, 0x7f8d018d
cmp eax, 0x46568d7f
je 0x1401a40c0
mov rdi, qword [rdi + 7]
mov eax, dword [0x1415a36d8]
xor edx, edx
div dword [0x1415a36dc]
mov eax, dword [0x1415a36e0]
mov ecx, dword [0x1415a36e4]
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
add eax, 0x10b98b8b
mov ecx, eax
not ecx
and ecx, 0x35dcefb
mov edx, eax
and edx, 0xfca23104
imul edx, ecx
mov ecx, eax
and ecx, 0x35dcefb
or eax, 0x35dcefb
imul eax, ecx
add eax, edx
add eax, 0x1c2ecd5c
cmp eax, 0xda9a4c65
ja 0x1401a40f0
mov rax, qword [rdi]
test rax, rax
je 0x1401a4180
sub rsp, 0x20
mov rcx, rbx
call rax
add rsp, 0x20
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1401a4170
nop word cs:[rax + rax]
mov eax, dword [0x1415a36e8]
xor edx, edx
div dword [0x1415a36ec]
and eax, 0x200108
cmp eax, 0xdd627917
ja 0x1401a4180
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
nop word cs:[rax + rax]
mov edx, dword [0x1415a36f0]
mov r8d, dword [0x1415a36f4]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
mov r8d, edx
not r8d
or r8d, 0x44800c30
and r8d, 0x47930c3e
and edx, 0x1828c181
or edx, r8d
mov r8d, edx
xor r8d, 0x198500
xor edx, 0x3a204840
or edx, 0x11d810c
or r8d, 0xfee65af3
and r8d, edx
cmp r8d, 0xaf8d6b22
ja 0x1401a41b0
test rcx, rcx
je 0x1401a472d
mov ecx, 0x906073c9
nop word [rax + rax]
mov edx, dword [0x1415a36f8]
mov r8d, dword [0x1415a36fc]
mov r9d, r8d
and r9d, edx
add edx, r8d
sub edx, r9d
mov r8d, edx
not r8d
and r8d, 0x9a0e3fa9
mov r9d, edx
and r9d, 0x65f1c056
imul r9d, r8d
mov r8d, edx
and r8d, 0x9a0e3fa9
or edx, 0x9a0e3fa9
imul edx, r8d
add edx, r9d
mov r8d, edx
and r8d, 0xb266339e
or edx, 0xb266339e
add edx, r8d
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x2a30d054
je 0x1401a4240
cmp rax, 0x11
jb 0x1401a434e
nop dword [rax + rax]
mov eax, dword [0x1415a3700]
add eax, dword [0x1415a3704]
mov ecx, eax
and ecx, 0xa1954382
or eax, 0xa1954382
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x27513de2
and ecx, 0x58aec21d
imul ecx, edx
mov edx, eax
and edx, 0x58aec21d
or eax, 0x58aec21d
imul eax, edx
add eax, ecx
not eax
or eax, 0x96226bcf
cmp eax, 0x3b218d40
je 0x1401a42c0
mov rbx, qword [rbx - 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415a370c]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x1415a3708]
xor ecx, eax
add ecx, 0x9db75ed9
xor ecx, 0x48448c4
or ecx, 0xab18b30b
cmp ecx, 0xc1aecc9d
je 0x1401a4320
mov eax, dword [0x1415a3714]
add eax, dword [0x1415a3710]
mov ecx, 0x8d1212ed
imul rcx, rax
shr rcx, 0x3d
mov eax, ecx
or eax, 0x7489ad0e
not ecx
or ecx, 0x8b7652f1
and ecx, eax
not ecx
add ecx, 0xc472aae7
cmp ecx, 0x85530bf7
jbe 0x1401a46a9
jmp 0x1401a470e
mov eax, dword [0x1415a36b0]
mov ecx, dword [0x1415a36b4]
not eax
not ecx
or ecx, eax
not ecx
and ecx, 0xf7ad670a
mov eax, ecx
xor eax, 0xcf77ac98
xor ecx, 0x30085225
and ecx, 0x752c722d
mov edx, eax
and edx, 0x82c18502
imul edx, ecx
mov ecx, eax
and ecx, 0x7d3e6a98
or eax, 0x7d3e7abd
imul eax, ecx
add eax, edx
cmp eax, 0xe77ea3f2
je 0x1401a43a0
nop word cs:[rax + rax]
mov eax, dword [0x1415a36b8]
mov ecx, dword [0x1415a36bc]
not eax
not ecx
and ecx, eax
not ecx
add ecx, 0x61fff7a
or ecx, 0x7e5d23d4
imul rax, rcx, 0xa89174f
shr rax, 0x39
cmp eax, 0x1399e451
jae 0x1401a4400
jmp 0x1401a3eab
mov eax, dword [0x1415a3668]
xor edx, edx
div dword [0x1415a366c]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xf5bf9fbc
mov r8d, edx
and r8d, 0xf78532d4
and ecx, 0x8404003
imul ecx, r8d
and edx, 0x87acd2b
or eax, 0xfdffdfbf
imul eax, edx
add eax, ecx
cmp eax, 0xe4d9e627
jne 0x1401a448a
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
mov r14, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
nop word cs:[rax + rax]
mov ecx, dword [0x1415a3670]
mov eax, dword [0x1415a3674]
not eax
mov edx, ecx
or edx, eax
and eax, ecx
not eax
and eax, edx
not eax
imul rcx, rax, 0x46d3f66f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
mov ecx, eax
not ecx
and ecx, 0xec78b41
mov edx, eax
and edx, 0xfffffffe
imul edx, ecx
mov ecx, eax
and ecx, 1
or eax, 0xec78b41
imul eax, ecx
lea r15d, [rax + rdx]
add r15d, 0x6e7d4abb
sub rsp, 0x20
call r14
add rsp, 0x20
cmp r15d, 0x9a34fde6
ja 0x1401a44a0
mov rsi, rax
mov eax, dword [0x1415a3678]
add eax, dword [0x1415a367c]
mov ecx, eax
or ecx, 0xa4400010
not eax
and eax, 0x380a08
and ecx, 0xb4c00516
or ecx, eax
xor ecx, 0x4f1d88b2
imul rax, rcx, 0x6e6738a5
shr rax, 0x3e
cmp eax, 0xf37b757c
jne 0x1401a4570
mov rax, qword [0x141585008]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call rax
add rsp, 0x20
nop word cs:[rax + rax]
mov r14d, dword [0x1415a3684]
add r14d, dword [0x1415a3680]
mov eax, r14d
not eax
and eax, 0x11726c03
mov ecx, r14d
and ecx, 0xe8d93fc
imul ecx, eax
mov eax, r14d
and eax, 0x11726c03
or r14d, 0x11726c03
imul r14d, eax
add r14d, ecx
not r14d
or r14d, 0xe4910510
xor r14d, 0xc04f9100
mov rax, qword [0x141585008]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call rax
add rsp, 0x20
cmp r14d, 0x78e7c55a
ja 0x1401a4570
nop dword [rax + rax]
mov eax, dword [0x1415a3688]
sub eax, dword [0x1415a368c]
add eax, 0x17adcb63
not eax
or eax, 0x4e8d60a8
cmp eax, 0x583ec5cb
jb 0x1401a45e0
test rbx, rbx
je 0x1401a3eab
mov eax, dword [0x1415a3690]
sub eax, dword [0x1415a3694]
lea ecx, [rax + 0x341b39e0]
not ecx
or ecx, 0x8263fb0
add eax, ecx
add eax, 0x341b39e1
or eax, 0xead8bef9
cmp eax, 0x3bedd675
je 0x1401a4642
mov rsi, qword [0x1415acb98]
xor eax, eax
test al, al
je 0x1401a464b
mov rax, qword [0x1415acb98]
jmp 0x1401a4635
mov eax, dword [0x1415a3698]
mov ecx, dword [0x1415a369c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
and eax, 0x1880100
imul eax, eax, 0x48fb75ea
cmp eax, 0x8c7b05c
jb 0x1401a4692
sub rsp, 0x20
xor ebx, ebx
mov rcx, rsi
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
test bl, bl
je 0x1401a3eab
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rdi
call fcn.14020ae70
add rsp, 0x20
jmp 0x1401a4672
mov eax, dword [0x1415a3718]
xor edx, edx
div dword [0x1415a371c]
mov edi, eax
not eax
and eax, 0x44346bc9
mov ecx, edi
and ecx, 0xbbcb9436
imul ecx, eax
mov eax, edi
and eax, 0x44346bc9
or edi, 0x44346bc9
imul edi, eax
add edi, ecx
mov eax, edi
and eax, 0xa62ab281
or edi, 0xa62ab281
add edi, eax
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp edi, 0x9c27a0ab
jne 0x1401a472d
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x1401a46a9
mov eax, dword [0x1415a3720]
imul eax, dword [0x1415a3724]
mov ecx, eax
or ecx, 0x40042000
not eax
and eax, 0x20000000
and ecx, 0x4204a000
or ecx, eax
cmp ecx, 0x982a307c
jbe 0x1401a4760
mov rax, qword [0x1415acb98]
mov eax, dword [0x1415a3728]
or eax, dword [0x1415a372c]
add eax, 0x64cd066a
mov ecx, eax
xor ecx, 0xd88b2180
and eax, 0x2774de7f
add eax, eax
sub eax, ecx
xor eax, 0xf86d68aa
mov rdi, qword [0x1415acb98]
cmp eax, 0x673c03e7
je 0x1401a4760
mov eax, dword [0x1415a3730]
or eax, dword [0x1415a3734]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x543ca844
and ecx, 0xabc357bb
imul ecx, edx
mov edx, eax
and edx, 0xabc357bb
or eax, 0xabc357bb
imul eax, edx
add eax, ecx
imul eax, eax, 0x311c302b
add eax, 0xba676aac
cmp eax, 0x6c6e80b
jb 0x1401a4820
mov eax, dword [0x1415a3738]
and eax, dword [0x1415a373c]
shr eax, 3
imul rbx, rax, 0x2432279d
shr rbx, 0x3a
xor ebx, 0x8bf09551
dec ebx
or ebx, 0x334ecbed
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp ebx, 0x8d58d32d
jae 0x1401a4840
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x1401a47da
mov eax, dword [0x1415a3744]
add eax, dword [0x1415a3740]
mov ecx, eax
and ecx, 0x1bf0060d
add ecx, ecx
sub eax, ecx
add eax, 0x5bf0060d
and eax, 0x756a3059
mov ecx, eax
not ecx
or ecx, 0x61481001
or eax, 0x9623a6da
and eax, ecx
cmp eax, 0x91383750
ja 0x1401a4840
jmp 0x1401a3eab