Function at 0x1400ac0c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
test rdx, rdx
je 0x1400ac48f
mov rdi, r8
mov rbx, rdx
mov eax, dword [0x14021c970]
mov ecx, eax
not ecx
or ecx, dword [0x14021c974]
add eax, ecx
inc eax
xor eax, 0x48cec90
or eax, 0x7b42136d
mov ecx, eax
not ecx
or ecx, 0x4652caaf
add eax, ecx
inc eax
cmp eax, 0x82c70696
ja 0x1400ac0e0
cmp qword [r9 + 8], 0
je 0x1400ac2c0
nop
mov eax, dword [0x14021c978]
xor edx, edx
div dword [0x14021c97c]
or eax, 0xf8648db5
mov ecx, eax
xor ecx, 0x80404880
and ecx, eax
not ecx
or ecx, 0x7f3bb07b
cmp ecx, 0xf1e1bb4c
jb 0x1400ac120
mov r14, qword [r9]
mov rax, qword [r9 + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x14021c980]
mov edx, dword [0x14021c984]
mov r9d, 0xd944fa87
sub r9d, ecx
sub r9d, edx
add ecx, edx
add ecx, 0x26bb0578
or r9d, 0x6b12dd1a
or ecx, 0x94ed22e5
and ecx, r9d
mov edx, ecx
not edx
and edx, 0xab929803
and ecx, 0x546d67fc
sub ecx, edx
cmp ecx, 0x61b4cbc6
ja 0x1400ac160
test rax, rax
je 0x1400ac49c
nop word cs:[rax + rax]
mov eax, dword [0x14021c9c8]
xor edx, edx
div dword [0x14021c9cc]
mov ecx, eax
and ecx, 0xf61f8f72
mov edx, ecx
not edx
and edx, 0x1af514e5
mov r8d, eax
and r8d, 0xe40a8b12
imul r8d, edx
and eax, 0x12150460
or ecx, 0x1af514e5
imul ecx, eax
add ecx, r8d
mov eax, ecx
not eax
or eax, 0x6488ee74
or ecx, 0x9b77118b
and ecx, eax
cmp ecx, 0x3e02383b
jb 0x1400ac1c0
mov r15, qword [0x14022cb48]
mov eax, dword [0x14021c9d0]
mov ecx, dword [0x14021c9d4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x791c1e01
imul rax, rax, 0x6884cbc3
shr rax, 0x3e
imul eax, eax, 0x1911e970
cmp eax, 0xf155cce9
jne 0x1400ac261
mov rcx, r15
xor edx, edx
mov r8, r14
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov r12, qword [sym.imp.KERNEL32.dll_HeapReAlloc]
nop dword [rax + rax]
mov eax, dword [0x14021c9d8]
xor edx, edx
div dword [0x14021c9dc]
mov ebp, eax
and eax, 0x9da0c42
xor eax, 0x820c40
and ebp, 0x820c40
or ebp, eax
or ebp, 0xf625f3bd
mov rcx, r15
xor edx, edx
mov r8, r14
mov r9, rdi
call r12
cmp ebp, 0xb33440e8
je 0x1400ac270
mov rcx, rax
jmp 0x1400ac6c4
mov eax, dword [0x14021c9e0]
xor eax, dword [0x14021c9e4]
mov ecx, eax
xor ecx, 0x483c0b1d
and ecx, eax
mov eax, ecx
not eax
and eax, 0xc008f73c
mov edx, ecx
and edx, 0x3ff708c3
imul edx, eax
mov eax, ecx
and eax, 0xc008f73c
or ecx, 0xc008f73c
imul ecx, eax
add ecx, edx
mov eax, ecx
not eax
and eax, 0x7c2833d6
and ecx, 0x83d7cc28
sub ecx, eax
cmp ecx, 0xc03090e3
ja 0x1400ac2c0
test rdi, rdi
je 0x1400ac450
mov eax, dword [0x14021c9f0]
add eax, dword [0x14021c9f4]
xor eax, 0x1fcd6260
shr eax, 1
imul rax, rax, 0x2202c35d
shr rax, 0x3c
cmp eax, 0x13876194
jne 0x1400ac350
movzx eax, byte [0x14022cb78]
nop word [rax + rax]
mov eax, dword [0x14021c9f8]
and eax, dword [0x14021c9fc]
xor eax, 0x104
and eax, 0x80808104
movzx ecx, byte [0x14022cb78]
cmp eax, 0x553ebe33
ja 0x1400ac350
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400ac380
cmp rbx, 0x11
jae 0x1400ac5e0
mov eax, dword [0x14021ca10]
sub eax, dword [0x14021ca14]
or eax, 0x144a3269
mov ecx, eax
not ecx
or ecx, 0xea7f968e
add eax, ecx
inc eax
imul rax, rax, 0xd84a4e5
shr rax, 0x3b
cmp eax, 0xc3a3e0cb
jbe 0x1400ac3d0
xor ecx, ecx
mov rdx, rdi
call fcn.14014ee50
nop dword [rax]
mov eax, dword [0x14021ca18]
add eax, dword [0x14021ca1c]
and eax, 0xdd363918
shr eax, 3
imul r14, rax, 0x814ad35
shr r14, 0x36
or r14d, 0xe11fe454
xor ecx, ecx
mov rdx, rdi
call fcn.140107940
cmp r14d, 0x6d4655aa
jb 0x1400ac3d0
mov rcx, rax
nop dword [rax]
mov eax, dword [0x14021ca20]
imul eax, dword [0x14021ca24]
mov edx, eax
xor edx, 0xcfbecbaa
and edx, eax
mov eax, edx
xor eax, 0x224bf68c
and edx, 0x5db40973
add edx, edx
sub edx, eax
xor edx, 0x52de20bb
cmp edx, 0x743d5795
ja 0x1400ac410
jmp 0x1400ac6c4
mov eax, dword [0x14021c9e8]
xor edx, edx
div dword [0x14021c9ec]
mov ecx, eax
xor ecx, 0xf76ad0c4
and eax, 0x8952f3b
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x215c9505
or eax, 0x215c9505
add eax, ecx
and eax, 0x9069c777
cmp eax, 0x3937c0f9
ja 0x1400ac450
jmp 0x1400ac5d8
mov qword [rsi + 8], 0
jmp 0x1400acae8
mov eax, dword [0x14021c988]
xor edx, edx
div dword [0x14021c98c]
nop word [rax + rax]
mov eax, dword [0x14021c990]
mov ecx, dword [0x14021c994]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
add ecx, 0xeba9caf2
mov eax, ecx
xor eax, 0x2104454c
xor ecx, 0x6565475d
and eax, 0x230665ee
add eax, eax
sub eax, ecx
cmp eax, 0xf993e638
je 0x1400ac4b0
test rdi, rdi
je 0x1400ac5a0
movzx eax, byte [0x14022cb78]
nop dword [rax + rax]
mov eax, dword [0x14021c9a0]
mov ecx, dword [0x14021c9a4]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
add eax, 0xf9868173
or eax, 0xa273346b
imul eax, eax, 0x529ec816
cmp eax, 0x6473f2b5
jb 0x1400ac500
nop dword [rax + rax]
mov eax, dword [0x14021c9a8]
add eax, dword [0x14021c9ac]
or eax, 0xae4a54ac
mov ecx, eax
xor ecx, 0xd2f866b8
and eax, 0x2d079947
add eax, eax
sub eax, ecx
add eax, 0x1c5c67c9
cmp eax, 0x66f698ba
ja 0x1400ac530
cmp rbx, 0x11
jae 0x1400ac61d
mov eax, dword [str._i_w_aD]
mov ecx, dword [0x14021c9bc]
xor ecx, eax
not ecx
and ecx, eax
mov eax, 0x9c4ae575
imul rax, rcx
shr rax, 0x3e
or eax, 0x87321311
cmp eax, 0x125c481f
je 0x1400ac6a8
jmp 0x1400ac67e
mov eax, dword [0x14021c998]
xor edx, edx
div dword [0x14021c99c]
mov ecx, eax
not ecx
and ecx, 0x186245f2
and eax, 0x279dba0d
sub eax, ecx
or eax, 0xd3e00010
mov ecx, eax
not ecx
or ecx, 0xf7fd1049
add ecx, eax
cmp ecx, 0x2ef9ff83
je 0x1400ac5a0
mov rcx, rbx
jmp 0x1400ac6c4
lea r14, [rbx + rdi]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400ac5f0
mov eax, dword [0x14021ca00]
xor edx, edx
div dword [0x14021ca04]
or eax, 0xfe3bd7fd
imul eax, eax, 0x859205f6
cmp eax, 0x92b6ace0
ja 0x1400ac784
jmp 0x1400ac73c
lea rdx, [rbx + rdi]
xor ecx, ecx
call fcn.140107940
mov r8, rax
nop dword [rax + rax]
mov eax, dword [0x14021c9b0]
imul eax, dword [0x14021c9b4]
imul eax, eax, 0xcdfc40a4
add eax, 0x544d5c88
xor eax, 0x838113f2
cmp eax, 0xb5dbd54f
jb 0x1400ac630
test r8, r8
je 0x1400ac931
lea rax, [rbx - 1]
mov rcx, rax
xor rcx, r8
not rcx
or rax, r8
and rax, rcx
sub rbx, rax
add rbx, r8
mov rcx, rbx
jmp 0x1400ac8d3
mov ebp, dword [0x14021c9c0]
and ebp, dword [0x14021c9c4]
or ebp, 0x7c4b849
and ebp, 0xb7d7bdd9
xor ecx, ecx
mov rdx, rdi
call fcn.140107940
cmp ebp, 0x9bb893f
jne 0x1400ac6b4
xor ecx, ecx
mov rdx, rdi
call fcn.14014ee50
jmp 0x1400ac67e
mov rcx, rax
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400ac6c0
lea r8, [rsi + 8]
lea rax, [rsi + 0x10]
nop dword [rax]
mov edx, dword [0x14021ca68]
or edx, dword [0x14021ca6c]
add edx, 0x987ace18
mov r9d, edx
xor r9d, 0x4256
xor edx, 0xc75fa9a1
mov r10d, edx
and r10d, 0xbaa8bd89
and r9d, 0x45574276
imul r9d, r10d
mov r10d, edx
and r10d, 0x45574276
or edx, 0x45574276
imul edx, r10d
add edx, r9d
cmp edx, 0x8ec557de
jb 0x1400ac6d0
test rcx, rcx
je 0x1400aca43
mov qword [r8], rcx
mov qword [rax], rdi
xor eax, eax
jmp 0x1400acaed
mov eax, dword [0x14021ca08]
add eax, dword [0x14021ca0c]
mov ecx, eax
xor ecx, 0x2080d49f
xor eax, 0x420040
and eax, 0x46462a40
and ecx, 0xb9b9d5bf
sub ecx, eax
mov eax, ecx
and eax, 0xadf5f07
xor ecx, 0xadf5f07
lea ebp, [rcx + rax*2]
xor ecx, ecx
mov rdx, r14
call fcn.14014ee50
cmp ebp, 0x29f16cc2
jbe 0x1400ac790
xor ecx, ecx
mov rdx, r14
call fcn.14014ee50
jmp 0x1400ac73c
mov r8, rax
test rax, rax
je 0x1400ac931
mov rax, rbx
not rax
lea rax, [rax + rbx*2]
nop word cs:[rax + rax]
mov ecx, dword [0x14021ca28]
mov edx, dword [0x14021ca2c]
not ecx
not edx
or edx, ecx
mov ecx, edx
or ecx, 0x202
not edx
and ecx, 0x20420283
and edx, 0x1001a104
or edx, ecx
cmp edx, 0x40d61728
je 0x1400ac7b0
mov rcx, rax
not rcx
or rcx, r8
add rcx, rax
inc rcx
mov rax, rbx
xor rax, rcx
not rcx
and rcx, rbx
add rcx, rcx
sub rcx, rax
add rcx, r8
nop word cs:[rax + rax]
mov eax, dword [str.653_]
imul eax, dword [0x14021ca34]
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x35bc28a
and edx, 0x1ca43d75
imul edx, r9d
mov r9d, eax
and r9d, 0x1ca43d75
or eax, 0x1ca43d75
imul eax, r9d
add eax, edx
imul eax, eax, 0xbd4fe525
and eax, 0x1d4939cf
cmp eax, 0xfe322b6c
ja 0x1400ac810
nop dword [rax]
mov eax, dword [0x14021ca38]
mov edx, dword [0x14021ca3c]
mov r9d, eax
not r9d
and r9d, edx
mov r10d, edx
not r10d
and r10d, eax
imul r10d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r10d
mov edx, eax
and edx, 0xa80f6e28
mov r9d, edx
not r9d
and r9d, 0xefe05d9b
mov r10d, eax
and r10d, 0xf2220
imul r10d, r9d
and eax, 0xa8004c08
or edx, 0xefe05d9b
imul edx, eax
add edx, r10d
xor edx, 0x214fd5f
cmp edx, 0x717a64d7
je 0x1400ac860
mov eax, dword [0x14021ca58]
mov edx, dword [0x14021ca5c]
not eax
not edx
or edx, eax
not edx
add edx, 0xb51d5837
mov eax, edx
not eax
mov r9d, edx
and r9d, 0xa2fba191
and eax, 0x5d045e6e
imul eax, r9d
mov r9d, edx
and r9d, 0x5d045e6e
or edx, 0x5d045e6e
imul edx, r9d
add edx, eax
and edx, 0xe1fed2cc
cmp edx, 0x2fc4af85
je 0x1400acb63
jmp 0x1400acb15
lea r8, [rsi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x14021ca40]
xor edx, edx
div dword [0x14021ca44]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x1c447ca2
mov r9d, edx
and r9d, 0xedab342d
and ecx, 0x2108350
imul ecx, r9d
and edx, 0x1254cbd2
or eax, 0x1e54fff2
imul eax, edx
add eax, ecx
cmp eax, 0x61bcf32a
je 0x1400ac940
lea rax, [rsi + 0x10]
nop dword [rax]
mov ecx, dword [0x14021ca48]
mov edx, dword [0x14021ca4c]
mov r9d, edx
not r9d
mov r10d, ecx
and r10d, r9d
or r9d, ecx
not r9d
imul r9d, r10d
mov r10d, ecx
and r10d, edx
or ecx, edx
imul ecx, r10d
add ecx, r9d
imul ecx, ecx, 0xf8b808d4
add ecx, 0x8327b910
and ecx, 0x20b990d4
cmp ecx, 0xc78bb0d1
ja 0x1400ac990
nop dword [rax + rax]
mov ecx, dword [0x14021ca50]
mov edx, dword [0x14021ca54]
mov r9d, ecx
not r9d
and r9d, edx
mov r10d, edx
not r10d
and r10d, ecx
imul r10d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r10d
mov edx, ecx
not edx
or ecx, 0x96157155
or edx, 0x69ea8eaa
and edx, ecx
not edx
mov ecx, edx
and ecx, 0xb5c49188
or edx, 0xb5c49188
add edx, ecx
imul ecx, edx, 0x17c927f6
cmp ecx, 0x78695f80
ja 0x1400ac9e0
mov ecx, dword [0x14021ca70]
mov edx, dword [str.D2z]
mov r9d, ecx
not r9d
and r9d, edx
mov r10d, edx
not r10d
and r10d, ecx
imul r10d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r10d
not ecx
or ecx, 0x8fde2a2c
mov edx, ecx
and edx, 0xffff7a3d
not ecx
xor edx, 0xb5ebf4c8
or ecx, 0x3021d4c0
and ecx, edx
cmp ecx, 0x5fe49c7e
jne 0x1400acab0
mov qword [r8], rbx
mov qword [rax], rdi
nop word cs:[rax + rax]
mov ecx, dword [0x14021ca78]
add ecx, dword [0x14021ca7c]
imul ecx, ecx, 0xc48e5f8
mov edx, ecx
not edx
and edx, 0x5b1b9fef
and ecx, 0x24e46010
sub ecx, edx
and ecx, 0x68159661
mov qword [r8], rbx
mov qword [rax], rdi
cmp ecx, 0x74d47701
je 0x1400acab0
mov eax, 1
mov ecx, dword [0x14021ca80]
xor ecx, dword [0x14021ca84]
add ecx, 0xdf982c89
not ecx
and ecx, 0x57041195
add ecx, 0xc6ad2856
jae 0x1400acbab
jmp 0x1400acb76
mov eax, dword [0x14021ca60]
xor edx, edx
div dword [0x14021ca64]
add eax, 0x6d3c0710
mov edx, eax
xor edx, 0xbb137d50
xor eax, 0x40608227
and eax, 0x6272ef37
mov r9d, edx
and r9d, 0x9d8d10c8
or r9d, eax
xor r9d, 0x44395986
and edx, 0x264bb6b1
or edx, r9d
mov qword [rcx - 8], r8
cmp edx, 0xcd6a8dd8
jae 0x1400acb69
mov qword [rcx - 8], r8
jmp 0x1400acb15
lea r8, [rsi + 8]
lea rax, [rsi + 0x10]
jmp 0x1400ac72f
mov ecx, dword [0x14021ca88]
add ecx, dword [0x14021ca8c]
mov edx, ecx
or edx, 0x41002
not ecx
or ecx, 0x40322040
and ecx, 0x4c32a270
and edx, 0x4598b
or edx, ecx
mov qword [rsi], rax
cmp edx, 0x86263397
jne 0x1400acbb0
mov qword [rsi], rax
jmp 0x1400acb76
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret