Function at 0x1401ac650
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 eax, dword [0x1415c9e30]
xor edx, edx
div dword [0x1415c9e34]
mov r14, rcx
or eax, 0xb8bff978
add eax, 0x376d73c8
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x33faf69b
and ecx, 0xcc050964
imul ecx, edx
mov edx, eax
and edx, 0xcc050964
or eax, 0xcc050964
imul eax, edx
add eax, ecx
cmp eax, 0xb494bd4c
ja 0x1401ac717
mov r15d, dword [0x1415c9e38]
xor r15d, dword [0x1415c9e3c]
mov eax, r15d
and eax, 0x63fa8ae1
xor eax, 0xea5749a4
and r15d, 0x1a88241
add r15d, r15d
sub r15d, eax
add r15d, 0x9faff432
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
lea r8, [rbx - 1]
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call fcn.1400bf5b0
add rsp, 0x20
cmp r15d, 0x991a1161
jae 0x1401ac74d
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rcx, rsp
lea r8, [rbx - 1]
sub rsp, 0x20
mov rdx, r14
call fcn.1400bf5b0
add rsp, 0x20
jmp 0x1401ac6a8
mov rax, qword [rdi]
mov ecx, dword [0x1415c9e40]
mov edx, dword [0x1415c9e44]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
mov edx, ecx
and edx, 0xdae6a292
or ecx, 0xdae6a292
add ecx, edx
mov edx, ecx
xor edx, 0xfaee6a42
xor ecx, 0x1001498
and ecx, 0x63223698
mov r8d, edx
and r8d, 0x9cddc967
imul r8d, ecx
mov ecx, edx
and ecx, 0x63223698
or edx, 0x63223698
imul edx, ecx
add edx, r8d
cmp edx, 0x4a094a76
je 0x1401ac750
nop
mov ecx, dword [0x1415c9e48]
mov edx, dword [0x1415c9e4c]
not ecx
not edx
or edx, ecx
not edx
add edx, 0xb4b38858
cmp edx, 0xc43f3595
jb 0x1401ac7d0
test rax, rax
jne 0x1401acf23
mov eax, dword [0x1415c9e50]
xor eax, dword [0x1415c9e54]
mov rbx, qword [rdi + 8]
mov ecx, eax
xor ecx, 0x40922164
xor eax, 0x3a010001
or ecx, 0x3e29d493
or eax, 0xc1d62b6c
and eax, ecx
not eax
mov ecx, 0x806c48c9
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x766f7383
jbe 0x1401ac860
mov r8, qword [rdi + 0x10]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140152310
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x1415c9e58]
mov ecx, eax
not ecx
or ecx, dword [0x1415c9e5c]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x5ec00dd5
add ecx, ecx
sub eax, ecx
add eax, 0xdec00dd5
or eax, 0x4486a6f8
imul r14d, eax, 0xa44ad39a
mov r8, qword [rdi + 0x10]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140152310
add rsp, 0x20
cmp r14d, 0x9f987c4a
ja 0x1401ac860
movabs rax, 0x8000000000000000
nop dword [rax + rax]
mov ecx, dword [0x1415c9e60]
or ecx, dword [0x1415c9e64]
imul ecx, ecx, 0x138f2f54
cmp ecx, 0xb1823143
je 0x1401ac8c0
mov rbx, qword [rsi]
mov rdi, qword [rsi + 8]
cmp rbx, rax
jne 0x1401acc50
nop word [rax + rax]
mov eax, dword [0x1415c9e90]
sub eax, dword [0x1415c9e94]
add eax, 0x44b9cb22
mov ecx, eax
xor ecx, 0x4001245
xor eax, 0x580ac520
or eax, 0x255112d5
or ecx, 0xdaaeed2a
and ecx, eax
cmp ecx, 0x5c3a4d8b
je 0x1401ac8f0
nop word cs:[rax + rax]
mov eax, dword [0x1415c9e98]
imul eax, dword [0x1415c9e9c]
mov ecx, eax
not ecx
or ecx, 0xa8095823
and ecx, 0xa90f7e7b
and eax, 0x52500000
or eax, ecx
xor eax, 0x91d9428b
cmp eax, 0x72214289
ja 0x1401ac930
mov eax, edi
and eax, 3
nop word cs:[rax + rax]
mov ecx, dword [0x1415c9ea0]
xor ecx, dword [str.f__]
add ecx, 0x6d622e01
xor ecx, 0xd771ceca
imul rdx, rcx, 0x8932ecd
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1d
cmp ecx, 0xf967ac17
je 0x1401ac970
cmp rax, 2
jg 0x1401acc81
cmp eax, 1
jne 0x1401acfd0
lea rsi, [rdi - 1]
nop dword [rax + rax]
mov eax, dword [0x1415c9ec0]
xor edx, edx
div dword [0x1415c9ec4]
or eax, 0x9f14658
imul eax, eax, 0xfd8d5797
mov ecx, eax
not ecx
and ecx, 0x8aaa031a
and eax, 0x7555fce5
sub eax, ecx
cmp eax, 0xe4a13b0f
je 0x1401ac9c0
mov rbx, qword [rdi - 1]
mov rdi, qword [rdi + 7]
mov rax, qword [rdi]
test rax, rax
je 0x1401aca10
sub rsp, 0x20
mov rcx, rbx
call rax
add rsp, 0x20
nop
mov eax, dword [0x1415c9ec8]
xor edx, edx
div dword [0x1415c9ecc]
or eax, 0x28c6e1c3
mov ecx, eax
and ecx, 0x2948762f
add ecx, ecx
sub eax, ecx
cmp eax, 0x25639d55
je 0x1401aca10
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
nop
mov edx, dword [0x1415c9ed0]
sub edx, dword [0x1415c9ed4]
add edx, 0x300b55f1
imul r8, rdx, 0x280907cf
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1f
imul edx, edx, 0x35fa42cc
cmp edx, 0xffd9c790
je 0x1401aca40
test rcx, rcx
je 0x1401acbbb
nop
mov ecx, dword [0x1415c9ed8]
xor ecx, dword [0x1415c9edc]
or ecx, 0x84acffb5
imul ecx, ecx, 0xebf57bcd
cmp ecx, 0x6ada2930
je 0x1401aca80
mov ecx, dword [0x1415c9ee0]
xor ecx, dword [0x1415c9ee4]
add ecx, 0xc567dc9e
mov edx, ecx
not edx
and edx, 0xe904344d
and ecx, 0x16fbcbb2
sub ecx, edx
add ecx, 0xb51aeb13
cmp ecx, 0xa073b1a
ja 0x1401acaa0
cmp rax, 0x11
jb 0x1401acb21
mov eax, dword [0x1415c9ee8]
xor edx, edx
div dword [0x1415c9eec]
mov ecx, 0xc036d39b
nop dword [rax + rax]
mov eax, dword [0x1415c9ef0]
xor edx, edx
div dword [0x1415c9ef4]
or eax, 0xf21533c8
imul rax, rcx
shr rax, 0x3f
mov edx, eax
xor edx, 0xbcc0ac9f
add edx, eax
cmp edx, 0x8cffe113
jb 0x1401acaf0
mov rbx, qword [rbx - 8]
mov eax, dword [0x1415c9ef8]
mov ecx, dword [0x1415c9efc]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
imul rax, rax, 0x60de7f71
shr rax, 0x3e
xor eax, 0x386ec961
neg eax
or eax, 0xcc639977
cmp eax, 0x3e8cb635
jne 0x1401acb70
mov rcx, qword [0x1415d3918]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call fcn.140219910
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x1415c9f00]
mov edi, dword [0x1415c9f04]
mov ecx, edi
not ecx
and ecx, eax
xor edi, eax
add edi, eax
sub edi, ecx
add edi, 0xd0c0df3c
and edi, 0xae70f89f
xor edi, 0x24504017
mov rcx, qword [0x1415d3918]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call fcn.140219910
add rsp, 0x20
cmp edi, 0xc1c02b63
je 0x1401acb70
mov eax, dword [0x1415c9f08]
mov ecx, dword [0x1415c9f0c]
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
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x47181439
and ecx, 0xb8e7ebc6
imul ecx, edx
mov edx, eax
and edx, 0xb8e7ebc6
or eax, 0xb8e7ebc6
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x37aa45c8
mov edx, eax
and edx, 0xc855ba36
imul edx, ecx
mov ecx, eax
and ecx, 0x37aa45c8
or eax, 0x37aa45c8
imul eax, ecx
add eax, edx
imul rax, rax, 0x5c682515
shr rax, 0x3c
cmp eax, 0xe2f6e2c8
jne 0x1401acf41
jmp 0x1401acf65
mov eax, dword [0x1415c9e6c]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x1415c9e68]
xor ecx, eax
and ecx, 0x36de2da3
xor ecx, 0xbefa3348
cmp ecx, 0xd3ed62b0
jne 0x1401acd8c
jmp 0x1401acddb
mov eax, 0xb99aa4cf
nop word cs:[rax + rax]
mov ecx, dword [0x1415c9ea8]
mov edx, dword [0x1415c9eac]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x2fcc630e
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x350e448
and edx, 0xfcaf1bb7
imul edx, r8d
mov r8d, ecx
and r8d, 0x3caf1bb6
or ecx, 0xfcaf1bb7
imul ecx, r8d
add ecx, edx
cmp ecx, 0xbe3eedf7
ja 0x1401acc90
nop
mov eax, dword [0x1415c9eb0]
sub eax, dword [0x1415c9eb4]
mov ecx, eax
not ecx
or ecx, 0x3b2671f0
add eax, ecx
inc eax
xor eax, 0xbadc3862
add eax, 0x122c3954
cmp eax, 0x241e8ac6
jb 0x1401accf0
nop dword [rax + rax]
mov eax, dword [0x1415c9eb8]
mov ecx, dword [0x1415c9ebc]
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
mov ecx, eax
not ecx
mov edx, eax
or edx, 0xd3f070db
mov r8d, edx
and r8d, 0xca3a338
and ecx, 0x200c0c04
imul ecx, r8d
and edx, 0x335c5cc7
or eax, 0x33fc7cdf
imul eax, edx
add eax, ecx
or eax, 0xc2a33024
cmp eax, 0x1b0a141b
jbe 0x1401acd20
jmp 0x1401acfd0
mov esi, dword [0x1415c9e70]
mov eax, dword [0x1415c9e74]
mov ecx, esi
and ecx, eax
add ecx, ecx
add esi, eax
sub esi, ecx
add esi, 0x988ffe29
or esi, 0x9ddccc63
sub rsp, 0x20
call fcn.14021adc0
add rsp, 0x20
mov r8, qword [0x1415ab008]
sub rsp, 0x20
mov rcx, rax
mov rdx, rdi
call r8
add rsp, 0x20
cmp esi, 0x5005ddfe
jae 0x1401ace10
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
mov r8, qword [0x1415ab008]
sub rsp, 0x20
mov rcx, rax
mov rdx, rdi
call r8
add rsp, 0x20
jmp 0x1401acd8c
mov ecx, dword [0x1415c9e7c]
mov eax, ecx
xor eax, ecx
not eax
and eax, dword [0x1415c9e78]
xor eax, ecx
mov ecx, eax
and ecx, 0x9261a64c
or eax, 0x9261a64c
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xa7eb3a8d
mov edx, eax
and edx, 0x5814c572
imul edx, ecx
mov ecx, eax
and ecx, 0xa7eb3a8d
or eax, 0xa7eb3a8d
imul eax, ecx
add eax, edx
xor eax, 0x9187c3d3
cmp eax, 0xaaccb59
jb 0x1401ace10
test rbx, rbx
je 0x1401acfd0
mov rsi, qword [0x1415d3918]
mov eax, dword [0x1415c9e80]
mov ecx, dword [0x1415c9e84]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
not eax
and eax, 0xef0b92ec
mov edx, ecx
and edx, 0x10f46d13
imul edx, eax
mov eax, ecx
and eax, 0xef0b92ec
or ecx, 0xef0b92ec
imul ecx, eax
add ecx, edx
xor ecx, 0xeffdd225
add ecx, 0x43cfe328
cmp ecx, 0x28b42fca
jae 0x1401aced7
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rdi
call fcn.140219910
add rsp, 0x20
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov r14d, dword [0x1415c9e88]
add r14d, dword [0x1415c9e8c]
and r14d, 0xae82ba9c
xor r14d, 0x2000aa94
add r14d, 0xb8543dea
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rdi
call rbx
add rsp, 0x20
cmp r14d, 0x568da559
jbe 0x1401acee0
jmp 0x1401acfd0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401acf30
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1415c9f10]
and eax, dword [0x1415c9f14]
add eax, 0x608347ae
and eax, 0x2742f0a2
mov rcx, qword [0x1415d3918]
cmp eax, 0xba8f5ec6
jbe 0x1401acf6e
mov rax, qword [0x1415d3918]
jmp 0x1401acf41
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call fcn.140219910
add rsp, 0x20
mov eax, dword [0x1415c9f18]
mov ecx, dword [0x1415c9f1c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
or ecx, 0x54955eb6
mov eax, ecx
xor eax, 0x6076a81b
and ecx, 0x1f8957e4
add ecx, ecx
sub ecx, eax
imul rax, rcx, 0x169120f1
shr rax, 0x3b
cmp eax, 0x3d453cc1
ja 0x1401acf80
nop word cs:[rax + rax]
mov eax, dword [0x1415c9f20]
and eax, dword [0x1415c9f24]
xor eax, 0x3222f86a
add eax, 0xedb43a5c
imul rax, rax, 0x13c9438f
shr rax, 0x38
cmp eax, 0x589b2430
ja 0x1401acfd0
nop dword [rax + rax]
mov eax, dword [0x1415c9f28]
sub eax, dword [0x1415c9f2c]
imul eax, eax, 0xc179585
mov ecx, eax
and ecx, 0x6b7388fb
add ecx, ecx
sub eax, ecx
cmp eax, 0x80920728
je 0x1401ad000
jmp 0x1401acf23