Function at 0x1800272d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rax, rdx
mov rbp, rcx
mov rdx, qword [rdx]
mov r10, qword [rax + 8]
mov r15, qword [r8]
mov r13, qword [r8 + 8]
cmp rdx, r15
jne 0x18002730e
cmp r13, r10
jne 0x18002730e
movups xmm0, xmmword [r9]
movups xmmword [rbp], xmm0
mov rax, rbp
jmp 0x18002852d
mov qword [rsp + 0x30], r8
mov rax, r15
sub rax, rdx
mov rdi, qword [r9]
mov rcx, r13
sub rcx, r10
lea rax, [rcx + rax*8]
movups xmm0, xmmword [r9]
movups xmmword [rbp], xmm0
mov rcx, qword [rbp + 8]
mov rbx, rax
neg rbx
lea r11, [rcx + rax]
mov r14, r11
shr r14, 5
movabs rsi, 0x3800000000000000
or rsi, r14
cmp rcx, rbx
cmovae rsi, r14
test rax, rax
cmovns rsi, r14
shl rsi, 2
add rsi, qword [rbp]
mov qword [rbp], rsi
and r11d, 0x1f
mov qword [rbp + 8], r11
mov ebx, 0xffffffff
mov r12d, 0xffffffff
mov ecx, r10d
shl r12d, cl
mov rax, qword [r9 + 8]
mov ecx, eax
neg cl
mov r14d, 0xffffffff
shr r14d, cl
xor r9d, r9d
test rax, rax
cmove r14d, r9d
mov ecx, r13d
neg cl
mov r8d, 0xffffffff
shr r8d, cl
mov ecx, r11d
shl ebx, cl
cmp r11, 1
sbb r9, r9
lea rsi, [rsi + r9*4]
cmp r15, rdx
mov qword [rsp + 0x50], rbp
je 0x1800275b9
cmp rdi, rsi
je 0x18002760d
mov r9d, r10d
and r9d, 7
mov ecx, eax
and ecx, 7
cmp r9, rcx
jne 0x180027627
mov r14, r13
and r14, 0xfffffffffffffff8
or r14, 4
xor r14, r13
xor r14, 0xfffffffffffffffb
shr r10, 3
add rdx, r10
lea rcx, [r14 + r13]
inc rcx
shr rcx, 3
add r15, rcx
shr rax, 3
add rdi, rax
test r9, r9
je 0x18002744d
movzx eax, byte [rdi]
mov cl, 8
sub cl, r9b
mov r8d, 0xff
shr r8d, cl
mov r10d, 0xff
and r8d, eax
movzx eax, byte [rdx]
mov ecx, r9d
shl r10d, cl
and r10d, eax
or r10d, r8d
mov byte [rdi], r10b
inc rdx
inc rdi
mov rbx, r15
sub rbx, rdx
mov rcx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
cmp r14, 0xffffffffffffffff
je 0x180028528
mov ecx, r14d
not cl
mov eax, 0xff
shl eax, cl
movzx ecx, byte [rdi + rbx]
mov edx, 0xff
and eax, ecx
add r14b, 9
mov ecx, r14d
shr edx, cl
movzx r8d, byte [r15]
mov r9d, r8d
not r9d
mov ecx, r9d
and ecx, 0x18
mov r10d, r8d
and r10d, 1
and r8d, 0xffffffe6
xor r8d, edx
add ecx, r10d
add ecx, 6
xor ecx, r8d
xor ecx, 0x1e
or ecx, r9d
mov edx, ecx
not edx
mov r8d, edx
and r8d, 4
mov r9d, ecx
and r9d, 0x2d244bc0
mov r10d, ecx
and r10d, 0x50093003
and edx, 0x38
add r8d, r9d
add r8d, 0x50093003
add edx, r10d
add edx, 0x82508404
xor edx, r8d
mov r8d, edx
xor r8d, 0x508b303b
mov r9d, edx
xor r9d, 0x97f405ca
and r9d, r8d
mov r11d, eax
mov ebp, eax
mov r14d, eax
mov r10d, eax
xor r8d, eax
xor edx, 0xc4
or edx, eax
and eax, 0xe
or r11d, 0x1000420e
xor eax, 0xb9e6fe6f
and eax, r11d
and ebp, 0xffffff90
or ebp, eax
xor r14d, 0xc77f35f1
xor r10d, 0x2880880e
or r10d, r14d
not r10d
or r10d, ebp
mov eax, r9d
not eax
mov r11d, r9d
xor r11d, 0xa000010
mov esi, ecx
or eax, ecx
and ecx, 0xa000010
or ecx, 0x910899a1
and esi, 0x810811e1
xor esi, ecx
mov ecx, esi
xor ecx, 0x34b3cc44
xor r9d, 0x810811e1
and r9d, ecx
xor esi, 0xcb4c33bb
and esi, r11d
or esi, r9d
mov ecx, eax
not ecx
or eax, 0x2880ca06
and eax, 0xeffffff7
xor eax, esi
xor eax, 0xf7
and ecx, esi
and ecx, 0xfffffff1
or ecx, eax
xor ecx, r10d
and edx, r8d
or edx, ecx
mov byte [rdi + rbx], dl
jmp 0x180028528
mov ecx, r12d
xor ecx, 0x537a13be
and r8d, 0xfffffffe
mov r9d, r8d
xor r9d, 0x2c85ec40
mov r15d, r12d
xor r15d, 0xac85ec41
and r15d, r9d
xor r8d, 0x537a13bf
and r8d, ecx
or r8d, r15d
and r8d, r12d
cmp rax, r10
jae 0x1800278d1
sub r10d, eax
mov r9d, dword [rdx]
mov r12d, r8d
and r9d, r8d
mov ecx, r10d
shr r9d, cl
jmp 0x1800278e2
cmp rax, r10
jae 0x180027ab5
sub r10d, eax
and r12d, dword [rdx]
mov ecx, r10d
shr r12d, cl
jmp 0x180027b37
cmp rax, r10
mov dword [rsp + 0x2c], r8d
jae 0x180027d05
movabs r9, 0x5e65762e6b4d63ad
add r10, r9
sub r10, rax
movabs rcx, 0xa19a89d194b29c53
add rcx, r10
sub r9, r10
mov r10d, 0xffffffff
shr r10d, cl
mov eax, dword [rdx]
mov r11d, eax
xor r11d, 0x3f25491f
and r12d, 0x7fffffff
mov esi, r12d
xor esi, 0x40dab6e0
mov r13d, eax
xor r13d, 0x40dab6e0
and r13d, esi
xor r12d, 0xbf25491f
and r12d, r11d
or r12d, r13d
and r12d, eax
mov qword [rsp + 0x40], rcx
shr r12d, cl
add r9, 0x20
mov qword [rsp + 0x48], r9
and r14d, dword [rdi]
mov ecx, r12d
not ecx
mov r11d, r12d
xor r11d, 0xc148012
and r11d, r12d
mov esi, r12d
and esi, 0xc148012
xor esi, 0xecb5fb1e
and r11d, 0x1c1c8432
or r11d, esi
mov esi, ecx
and esi, 0x80a01804
mov r13d, r12d
and r13d, 0x60016308
mov eax, r12d
and eax, 0x420001
and ecx, 0x30000c0
add esi, r13d
add esi, 0x5e0021
add eax, ecx
add eax, 0x8ca89836
xor eax, esi
xor eax, r11d
mov ecx, r12d
xor ecx, 0x1c1c8432
mov r11d, r12d
xor r11d, 0xe3e37bcd
or r11d, ecx
not r11d
or r11d, eax
mov r13d, r14d
xor r13d, 0x1c1c8432
and r12d, r14d
xor r14d, r11d
xor r14d, 0xe3e37bcd
and r14d, r11d
or r13d, r11d
not r13d
or r13d, r12d
or r13d, r14d
mov dword [rdi], r13d
add rdx, 4
cmp rdx, r15
mov dword [rsp + 0x3c], ebx
je 0x1800281f6
mov r8d, r10d
mov ecx, r10d
and ecx, 0xfffffffe
mov r11d, ecx
xor r11d, 0xfffffffe
mov r14d, r10d
xor r14d, 0x14eef4f6
and r14d, r11d
and r11d, 0xfc12ce06
mov eax, r10d
and eax, 0x3ed31f8
or eax, r11d
mov r11d, r10d
and r11d, 0x7fb739da
mov esi, r10d
not esi
mov r12d, esi
and r12d, 0x8048c624
or r12d, r11d
xor r12d, 0x8048c625
or esi, r12d
xor eax, esi
xor eax, 0xfc12ce06
and r12d, r10d
or r12d, eax
and esi, 0xfffffffe
xor ecx, 0x14eef4f7
and ecx, r10d
or r14d, ecx
xor r14d, esi
xor r14d, 0xeb110b08
and r14d, r12d
mov eax, r14d
and eax, 0xb2dfc1b2
or eax, 0x5200a4c
and r14d, 0x4d203e4d
xor r14d, eax
mov r12d, r14d
xor r12d, 0xb7ffcbfe
xor r14d, 0x48003401
mov rbp, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov eax, dword [rdx]
mov ecx, r10d
shl eax, cl
and r13d, r8d
or r13d, eax
mov dword [rdi], r13d
lea r11, [rdi + 4]
mov esi, dword [rdx]
mov ecx, ebp
shr esi, cl
mov eax, dword [rdi + 4]
mov r13d, eax
xor r13d, 0xb2dfc1b2
and r13d, r14d
mov ecx, eax
xor ecx, 0x4d203e4d
and ecx, r12d
or ecx, r13d
and ecx, eax
mov eax, ecx
xor eax, 0x1e6b6c9c
mov r9d, esi
xor r9d, 0x1e6b6c9c
mov r13d, ecx
and r13d, 0x8c80f59c
mov rbx, r15
mov r15, rbp
mov ebp, r8d
mov r8d, ecx
xor r8d, 0x92eb9900
and r8d, eax
mov eax, esi
xor eax, 0xe1949363
or eax, r9d
and ecx, esi
xor esi, 0x92eb9900
and esi, eax
xor r13d, 0x80809100
or r13d, r8d
mov r8d, ebp
mov rbp, r15
mov r15, rbx
xor r13d, esi
or r13d, ecx
mov dword [rdi + 4], r13d
add rdx, 4
mov rdi, r11
cmp rdx, rbx
jne 0x180027820
jmp 0x180028201
sub eax, r10d
mov r9d, dword [rdx]
mov r12d, r8d
and r9d, r8d
mov ecx, eax
shl r9d, cl
mov r8, qword [rsp + 0x30]
cmp rdi, rsi
je 0x1800279f4
mov ecx, dword [rdi]
mov eax, dword [rdi + 4]
mov r10d, ecx
xor r10d, 0x237f3a58
mov esi, r14d
xor esi, 0xdc80c5a7
mov r15d, ecx
xor r15d, 0xdc80c5a7
and r15d, esi
xor r14d, 0x237f3a58
and r14d, r10d
or r14d, r15d
and r14d, ecx
mov ecx, r14d
and ecx, r9d
mov r10d, r14d
xor r10d, 0xb047d558
mov esi, r9d
xor esi, 0xb047d558
xor r14d, 0x4fb82aa7
and r14d, esi
xor r9d, 0x4fb82aa7
and r9d, r10d
or r9d, ecx
or r9d, r14d
mov dword [rdi], r9d
mov ecx, dword [r8 + 8]
sub ecx, r11d
and r12d, dword [rdx]
shr r12d, cl
mov ecx, eax
xor ecx, 0x5c73b06
mov edx, ebx
and edx, 0x5c73b06
and ebx, 0x7a38c4f9
or ebx, 0x5473002
xor ebx, edx
mov edx, ebx
xor edx, 0x7f7ff4fb
mov r8d, eax
xor r8d, 0x7a38c4f9
and r8d, edx
xor ebx, 0x80800b04
and ebx, ecx
or ebx, r8d
and ebx, eax
mov ecx, ebx
not ecx
mov eax, ebx
xor eax, ecx
and eax, r12d
xor eax, ecx
not eax
or eax, ecx
xor ebx, r12d
mov ecx, eax
xor ecx, 0xbcf8c595
mov edx, ebx
xor edx, 0x43073a6a
mov r8d, eax
xor r8d, 0x43073a6a
and r8d, edx
mov edx, ebx
xor edx, 0xbcf8c595
and edx, ecx
not eax
and eax, ebx
or eax, edx
or eax, r8d
mov dword [rdi + 4], eax
jmp 0x180028528
xor eax, eax
test r11, r11
cmove ebx, eax
mov eax, r14d
and eax, ebx
mov ecx, r14d
xor ecx, 0x5ee19c2c
mov edx, ebx
xor edx, 0x5ee19c2c
xor r14d, 0xa11e63d3
and r14d, edx
xor ebx, 0xa11e63d3
and ebx, ecx
or ebx, r14d
mov ecx, ebx
mov r8d, eax
mov edx, eax
mov r10d, ebx
mov r11d, ebx
xor ebx, eax
not eax
not ecx
and r8d, 0x1a015101
mov esi, ecx
and ecx, eax
and eax, 0xc084a032
add eax, r8d
add eax, 0x5720ec0
and edx, 0x257a0ecc
xor edx, eax
mov eax, edx
xor eax, 0x1f735fc1
and r10d, 0x5205c023
and esi, 0x88803110
lea r8d, [rsi + r10]
add r8d, 0x215a0240
and r11d, 0x257a0ecc
xor r11d, r8d
mov r8d, r11d
xor r8d, 0x735fc263
xor edx, 0xe08ca03e
and edx, r8d
xor r11d, 0x8ca03d9c
and r11d, eax
or ebx, ecx
not ebx
or ebx, r11d
or ebx, edx
and ebx, dword [rdi]
or ebx, r9d
mov dword [rdi], ebx
jmp 0x180028528
sub eax, r10d
mov edx, dword [rdx]
mov ecx, r12d
mov ebp, r8d
mov r8d, edx
mov r9d, r12d
mov r10d, edx
or edx, r12d
mov esi, r12d
not esi
xor ecx, 0x5a58c067
and ecx, esi
and ecx, 0x7fffffff
xor r8d, 0x5a58c067
and esi, 0x5011810
and r9d, 0xa0a62788
add r9d, esi
add r9d, 0x2184026
xor r9d, ecx
mov ecx, r9d
xor ecx, 0x7195836
xor r10d, 0xa5a73f98
and r10d, ecx
xor r9d, 0xf8e6a7c9
and r9d, r8d
mov r8d, ebp
or r9d, r10d
not edx
and edx, 0x7fffffff
or edx, r9d
not edx
mov ecx, eax
shl edx, cl
mov r12d, edx
xor eax, eax
test r11, r11
cmove ebx, eax
mov eax, r14d
and eax, ebx
mov ecx, r14d
and ecx, 0x3a9b953e
or ecx, 0x45406ac1
and r14d, 0xc5646ac1
xor r14d, ecx
mov ecx, r14d
xor ecx, 0x7fdbffff
mov edx, ebx
and edx, 0x3a9b953e
or edx, 0xc12042c0
and ebx, 0xc5646ac1
xor ebx, edx
mov edx, ebx
xor edx, 0xfbbbd7fe
xor r14d, 0x80240000
and r14d, edx
xor ebx, 0x4442801
and ebx, ecx
or ebx, eax
or ebx, r14d
test r13, r13
je 0x18002800f
sub r11d, r13d
mov ecx, dword [r15]
mov eax, r8d
not eax
mov edx, r8d
xor edx, 0x9a3567f2
and edx, eax
and r8d, 0x65888008
and eax, 0x421804
or eax, r8d
and edx, 0xfffffffe
xor eax, 0x421804
or eax, edx
xor eax, ecx
xor eax, 0x65ca980c
and eax, ecx
mov ecx, r11d
shl eax, cl
and ebx, dword [rdi]
mov ecx, ebx
not ecx
mov edx, ebx
or edx, 0x83e425ac
or ecx, 0x7c1bda53
xor edx, ecx
and ecx, 0x876a22e0
mov r8d, ebx
and r8d, 0x84050c
or r8d, ecx
mov ecx, ebx
or ecx, 0x80400080
and ecx, 0xfc5bdad3
xor ecx, r8d
xor ecx, 0x7b31f833
mov r8d, ebx
xor r8d, 0x83e425ac
or r8d, edx
not r8d
or r8d, ecx
mov ecx, r12d
xor ecx, 0x83e425ac
or ecx, r8d
not r8d
mov edx, r12d
xor edx, 0x7c1bda53
or edx, r8d
xor edx, ecx
mov r8d, ebx
xor r8d, 0x3a9fc90c
mov r9d, r12d
and r9d, 0xc56036f3
mov ecx, r12d
and ecx, 0x3a9fc90c
or ecx, 0x844004f2
xor ecx, r9d
mov r9d, ecx
xor r9d, 0xbedfcdfe
mov r10d, ebx
xor r10d, 0xc56036f3
and r10d, r9d
xor ecx, 0x41203201
and ecx, r8d
or ecx, r10d
or ebx, r12d
not ecx
and ecx, ebx
or ecx, edx
mov edx, ecx
and edx, eax
mov r8d, ecx
xor r8d, 0x688842b7
mov r9d, eax
xor r9d, 0x688842b7
xor ecx, 0x9777bd48
and ecx, r9d
xor eax, 0x9777bd48
and eax, r8d
or eax, ecx
mov ecx, eax
mov r8d, edx
mov r9d, eax
and eax, edx
xor edx, 0x9390adb6
xor ecx, 0x9390adb6
xor r8d, 0x6c6f5249
and r8d, ecx
xor r9d, 0x6c6f5249
and r9d, edx
or eax, r9d
or eax, r8d
mov dword [rdi], eax
jmp 0x180028528
movabs rbp, 0x1599c1c865a37942
add rax, rbp
sub rax, r10
sub rbp, rax
mov ecx, dword [rdx]
mov r10d, ecx
not r10d
mov r8d, r12d
not r8d
and r8d, ecx
or ecx, r12d
and r8d, 0x7fffffff
and r10d, r12d
or r10d, r8d
xor r10d, ecx
add eax, 0x9a5c86be
mov ecx, eax
shl r10d, cl
lea r11, [rbp + 0x20]
and r14d, dword [rdi]
mov ecx, r10d
or ecx, 0x839c681e
mov r9d, ecx
not r9d
mov r12d, r10d
and r12d, 0x839c681e
mov esi, r10d
xor esi, 0x208201e
and esi, r12d
mov r8d, r10d
and r8d, 0x50418500
mov r13d, r9d
and r13d, 0x8221000
or r13d, r8d
mov r8d, r10d
or r8d, 0x2002008
and r8d, 0x260022e9
or r8d, r13d
mov r13d, r10d
and r13d, 0x208201e
xor r13d, esi
xor r13d, 0x260822ff
and esi, 0x208201e
or esi, r13d
xor esi, r8d
xor esi, 0x50498516
and r9d, 0x286115c1
and ecx, 0x570ae234
or ecx, r9d
xor ecx, r12d
xor ecx, 0x570ae234
mov r8d, r10d
xor r8d, 0x839c681e
or r8d, ecx
not r8d
or r8d, esi
xor r8d, r14d
xor r8d, 0x7c6397e1
and r14d, r10d
or r14d, r8d
mov dword [rdi], r14d
lea r10, [rdi + 4]
mov r14d, dword [rdx]
add rdx, 4
mov ecx, ebp
shr r14d, cl
cmp rdx, r15
je 0x180027e78
nop word [rax + rax]
mov r8d, dword [rdx]
mov ecx, eax
shl r8d, cl
mov ecx, r8d
and ecx, r14d
mov r9d, r14d
xor r9d, 0x8df0ec96
mov esi, r8d
xor esi, 0x8df0ec96
xor r14d, 0x720f1369
and r14d, esi
xor r8d, 0x720f1369
and r8d, r9d
or r8d, ecx
or r8d, r14d
mov dword [r10], r8d
add r10, 4
mov r14d, dword [rdx]
add rdx, 4
mov ecx, r11d
shr r14d, cl
cmp rdx, r15
jne 0x180027e20
lea rdi, [r10 - 4]
mov r12, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x2c]
mov rcx, qword [r12 + 8]
cmp rcx, r11
jae 0x180028047
test rcx, rcx
je 0x18002846f
mov edx, dword [r15]
xor edx, 1
and edx, r8d
mov ecx, edx
xor ecx, 0xfffffffe
mov r8d, edx
and r8d, 0xf78e5b7f
xor r8d, 1
xor edx, 0x871a481
and edx, ecx
or edx, r8d
xor edx, 0x871a480
mov ecx, eax
shl edx, cl
mov eax, dword [r10]
mov ecx, eax
not ecx
mov r8d, ecx
and r8d, 0x80c04054
mov r9d, eax
and r9d, 0x100b0682
mov r11d, ebx
or r11d, eax
and eax, 0x66009108
and ecx, 0x9342821
add r8d, r9d
add r8d, 0x66009108
add eax, ecx
add eax, 0x80c04054
xor eax, r8d
xor eax, ebx
xor eax, 0x90cb46d6
and eax, r11d
mov r8d, eax
not r8d
mov r9d, r14d
not r9d
mov r11d, eax
or r11d, 0x9ebdebf1
mov ecx, r11d
not ecx
and r8d, 0x6142140e
mov esi, eax
xor esi, 0x9ebdebf1
or esi, r8d
mov edi, r9d
and edi, 0x6142140e
mov r8d, r14d
xor r8d, 0x9ebdebf1
or r8d, edi
mov edi, esi
not edi
and edi, ecx
and r11d, 0x442ea51f
and ecx, 0x21401000
or ecx, r11d
xor ecx, esi
xor ecx, 0xbbd15ae0
or ecx, edi
mov r11d, r14d
and r11d, 0x6042100a
mov esi, r9d
and esi, 0x1000404
or esi, r11d
mov r11d, esi
xor r11d, 0x1a00475
and esi, 0x4140140c
and r9d, 0x20020002
or r9d, esi
mov esi, r9d
xor esi, 0x83848794
mov edi, r8d
xor edi, 0x3c3b6863
xor r9d, 0x7c7b786b
and r9d, edi
mov edi, r8d
xor edi, 0xc3c4979c
and edi, esi
or edi, r9d
and r8d, 0x6142140e
or r8d, r11d
mov r9d, r8d
and r9d, 0x6142140e
xor r9d, edi
xor r9d, 0x6142140e
xor r8d, 0x61e2147f
and r8d, edi
or r8d, r9d
xor r8d, ecx
and eax, r14d
or eax, edx
or eax, r8d
mov dword [r10], eax
jmp 0x180028528
and ebx, dword [rdi]
mov eax, ebx
and eax, r12d
mov ecx, ebx
xor ecx, 0xf0af293
mov edx, r12d
xor edx, 0xf0af293
xor ebx, 0xf0f50d6c
and ebx, edx
xor r12d, 0xf0f50d6c
and r12d, ecx
or r12d, eax
or r12d, ebx
mov dword [rdi], r12d
jmp 0x180028528
mov edx, dword [r15]
mov ecx, eax
shl edx, cl
mov ecx, edx
and ecx, 0x821dfaa1
mov r8d, r14d
xor r8d, 0x7de2055e
mov eax, edx
and eax, 0x7de2055e
mov r9d, eax
xor r9d, 0x1219635c
lea esi, [rcx + 0x6de20402]
xor eax, 0xede69ca3
and eax, esi
xor ecx, 0x900499fd
and ecx, r9d
or ecx, eax
mov eax, r14d
and eax, 0x6ebdfc1
mov r9d, r14d
xor r9d, 0x7b09da9f
and r9d, r8d
xor eax, 0x209da81
or eax, r9d
xor eax, ecx
mov ecx, r14d
xor ecx, 0x3c91bb3d
mov r8d, edx
xor r8d, 0x3c91bb3d
mov r9d, r14d
xor r9d, 0xc36e44c2
and r9d, r8d
mov r8d, edx
xor r8d, 0xc36e44c2
and r8d, ecx
or edx, r14d
not edx
or edx, r8d
or edx, r9d
mov ecx, eax
xor ecx, 0xf914203e
mov r8d, ecx
and r8d, 0x29824201
mov r9d, eax
and r9d, 0x900c2128
and eax, 0x46719cd6
add r8d, r9d
add r8d, 0x402198d0
xor r8d, eax
mov eax, r8d
xor eax, 0x29bbdbc7
mov r9d, edx
xor r9d, 0xb98e6329
xor r8d, 0xd6442438
and r8d, r9d
or ecx, edx
xor edx, 0x46719cd6
and edx, eax
or edx, r8d
not ecx
or ecx, edx
mov dword [r10], ecx
cmp qword [r12 + 8], r11
je 0x180028528
mov eax, dword [r15]
mov ecx, r11d
shr eax, cl
mov edx, ebx
not edx
mov ecx, ebx
xor ecx, 0x1221fa97
and ecx, edx
mov r8d, edx
and r8d, 0x4c840060
mov r9d, ebx
and r9d, 0x215a0508
add r8d, r9d
add r8d, 0x2002a94
and ecx, 0x7fffffff
xor ecx, r8d
and edx, 0x1565d0f4
mov r8d, ebx
and r8d, 0x6a9a2f0b
or r8d, edx
xor r8d, 0x6a9a2f0b
or r8d, ebx
and ebx, dword [rdi + 8]
xor ecx, 0xdca5d063
and ecx, r8d
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xd2050460
mov r9d, edx
and r9d, 0x483b08
and edx, 0x8008013
and ecx, 0x25b24084
add r8d, r9d
add r8d, 0x8008013
add ecx, edx
add ecx, 0x483b08
xor ecx, r8d
not ecx
and ecx, eax
or ecx, ebx
mov dword [rdi + 8], ecx
jmp 0x180028528
mov r11, rdi
mov rbp, qword [rsp + 0x40]
mov r8d, r10d
mov r9, qword [rsp + 0x30]
mov rsi, qword [r9 + 8]
test rsi, rsi
mov ebx, dword [rsp + 0x3c]
je 0x180028528
mov r10d, r8d
mov eax, dword [r15]
mov ecx, eax
xor ecx, 0x631cdd0e
mov edi, dword [rsp + 0x2c]
mov edx, edi
xor edx, 0x9ce322f0
mov r8d, eax
xor r8d, 0x9ce322f0
and r8d, edx
mov edx, edi
xor edx, 0x631cdd0f
and edx, ecx
or edx, r8d
and edx, eax
mov rcx, qword [rsp + 0x48]
shl edx, cl
cmp rsi, rbp
jae 0x1800282a1
mov r9d, r10d
mov eax, r10d
and eax, ebx
mov ecx, r10d
xor ecx, 0x7b91d4a7
xor r9d, 0x7b91d4a6
and r9d, ecx
mov ecx, ebx
xor ecx, 0x7b91d4a7
mov r8d, r9d
not r8d
and r8d, ecx
xor ebx, 0x846e2b58
and ebx, r9d
or ebx, eax
or ebx, r8d
and r13d, ebx
or r13d, edx
mov dword [r11], r13d
jmp 0x180028528
mov eax, r13d
or eax, r10d
and eax, 0xfffffffe
xor r10d, r13d
xor r10d, eax
mov eax, r10d
xor eax, 0xfffffffe
xor r10d, 1
mov ecx, r10d
or ecx, edx
mov r8d, eax
xor r8d, edx
and r8d, ecx
mov ecx, eax
and ecx, 0xdb07f8b2
and r10d, 0x24f8074d
or r10d, ecx
xor r10d, 0x24f8074d
and r10d, edx
or eax, edx
not eax
or eax, r8d
or eax, r10d
mov dword [r11], eax
cmp qword [r9 + 8], rbp
je 0x180028528
mov eax, dword [r15]
mov ecx, eax
xor ecx, 0x8dd8bd10
mov edx, edi
xor edx, 0x722742ee
mov r8d, eax
xor r8d, 0x722742ee
and r8d, edx
xor edi, 0x8dd8bd11
and edi, ecx
or edi, r8d
and edi, eax
mov ecx, ebp
shr edi, cl
mov eax, dword [r11 + 4]
mov ecx, eax
xor ecx, 0x18d90016
mov edx, ebx
xor edx, 0x18d90016
mov r8d, eax
xor r8d, 0xe726ffe9
and r8d, edx
or eax, ebx
xor ebx, 0xe726ffe9
and ebx, ecx
or ebx, r8d
not ebx
and ebx, eax
mov eax, ebx
or eax, 0x35861a24
mov edx, eax
not edx
mov ecx, ebx
and ecx, 0x35861a24
mov r9d, ebx
xor r9d, 0x10820024
and r9d, ecx
mov r8d, edx
and r8d, 0x100090
mov r10d, eax
and r10d, 0x41a02c
or r10d, r8d
mov esi, ebx
and esi, 0xca284543
xor esi, 0xdaaa4567
mov r8d, ebx
and r8d, 0x10820024
xor r8d, r9d
mov r9d, r8d
xor r9d, 0x51a0bc
xor r10d, 0x2545ba2c
and r10d, r9d
xor r8d, 0xef2c5f43
and r8d, esi
or r8d, r10d
and edx, 0x4a68a1db
and eax, 0x94914604
or eax, edx
xor eax, ecx
xor eax, 0x94914604
mov ecx, ebx
xor ecx, 0x35861a24
or ecx, eax
not ecx
or ecx, r8d
mov eax, edi
xor eax, 0x35861a24
mov edx, edi
xor edx, 0xc3bf93ff
and edx, eax
mov eax, edi
and eax, 0xf63989db
xor eax, 0xc23981db
or eax, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0x9c67624
mov edx, ebx
and edx, 0xf1375da4
mov r8d, ebx
and r8d, 0xec8a25b
or r8d, 0x502241a4
xor edx, edi
xor edx, r8d
or ebx, edi
mov r8d, edx
xor r8d, 0xafddbe5b
or r8d, ebx
xor ebx, edx
xor ebx, 0x502241a4
and ebx, r8d
mov edx, ecx
and edx, ebx
xor eax, ecx
xor eax, 0xf63989db
and eax, ebx
xor edx, ecx
xor edx, eax
mov dword [r11 + 4], edx
jmp 0x180028528
mov eax, dword [r10]
mov ecx, ebx
and ecx, 0x6c07bea1
and ebx, 0x13f8415e
or ebx, 0x28039421
xor ebx, ecx
mov ecx, ebx
xor ecx, eax
xor ecx, 0x57fc6bde
or ecx, eax
xor ebx, 0xa8039421
and ebx, ecx
mov ecx, r14d
not ecx
or ecx, 0xa94f5d36
mov edx, ecx
and edx, 0x40a02041
mov eax, r14d
and eax, 0x2000000
or eax, edx
mov edx, r14d
and edx, 0xa94f5d36
mov r8d, edx
xor r8d, 0x63ef6163
and ecx, 0x846090e
mov r9d, r14d
and r9d, 0x14108280
or r9d, ecx
xor r9d, 0x8046151a
xor edx, 0x9c109e9c
and edx, r9d
xor eax, 0x61ef6163
and eax, r8d
or eax, edx
mov ecx, ebx
xor ecx, 0xf9ecca02
mov edx, eax
xor edx, 0x50a39734
mov r8d, ebx
xor r8d, 0x61335fd
and r8d, edx
xor eax, 0xaf5c68cb
and eax, ecx
and ebx, r14d
or ebx, eax
or ebx, r8d
mov dword [r10], ebx
mov rax, qword [rsp + 0x50]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret