Function at 0x18001bde0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rax, rdx
mov qword [rsp + 0x30], rcx
mov rdx, qword [rdx]
mov r10, qword [rax + 8]
mov r15, qword [r8]
mov rsi, qword [r8 + 8]
cmp rdx, r15
jne 0x18001be21
cmp rsi, r10
jne 0x18001be21
movups xmm0, xmmword [r9]
mov rax, qword [rsp + 0x30]
movups xmmword [rax], xmm0
jmp 0x18001d470
mov rdi, qword [r9]
mov rax, r15
sub rax, rdx
mov rcx, rsi
sub rcx, r10
lea rcx, [rcx + rax*8]
movups xmm0, xmmword [r9]
mov rax, qword [rsp + 0x30]
movups xmmword [rax], xmm0
mov r11, qword [rax + 8]
lea rax, [r11 + rcx]
test rcx, rcx
jns 0x18001be77
neg rcx
cmp r11, rcx
jae 0x18001be77
mov rcx, rax
shr rcx, 5
shl rcx, 2
mov r11, qword [rsp + 0x30]
add rcx, qword [r11]
movabs r14, 0xe000000000000000
add r14, rcx
jmp 0x18001be8a
mov r14, rax
shr r14, 3
and r14, 0xfffffffffffffffc
mov rcx, qword [rsp + 0x30]
add r14, qword [rcx]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], r14
and eax, 0x1f
mov qword [rcx + 8], rax
mov ebx, 0xffffffff
mov r12d, 0xffffffff
mov ecx, r10d
shl r12d, cl
mov r11, qword [r9 + 8]
mov ecx, r11d
neg cl
mov ebp, 0xffffffff
shr ebp, cl
xor r9d, r9d
test r11, r11
cmove ebp, r9d
mov ecx, esi
neg cl
mov r13d, 0xffffffff
shr r13d, cl
mov ecx, eax
shl ebx, cl
cmp rax, 1
sbb r9, r9
lea r14, [r14 + r9*4]
cmp rdx, r15
je 0x18001c229
cmp rdi, r14
je 0x18001c4c5
mov qword [rsp + 0x40], r8
movabs rax, 0x61ec3de02db82de2
and rax, r10
movabs rcx, 0x8e1202059046d008
or rax, rcx
movabs r8, 0x9e13c21fd247d21d
and r8, r10
xor r8, rax
movabs r9, 0x71edfdfa6fb92ff0
xor r9, r8
movabs r14, 0x24e7407a4f4d6cd8
and r14, r8
movabs rax, 0x8a10020590029004
xor rax, r8
and r8, 0xfffffffffffffff8
or rcx, 7
xor rcx, r8
movabs r8, 0xdb18bf85b0b29324
and r8, rcx
or r14, r8
or r9, rcx
xor rax, r14
and rax, r9
mov ecx, r11d
and ecx, 7
cmp rax, rcx
jne 0x18001c539
mov ebx, esi
and ebx, 7
sub r10, rax
shr r10, 3
add rdx, r10
shr rsi, 3
add r15, rsi
shr r11, 3
add rdi, r11
test rax, rax
je 0x18001c1b0
movzx r10d, byte [rdi]
mov cl, 8
sub cl, al
mov r8d, 0xff000000
mov r9d, 0xff000000
shr r9d, cl
sar r9d, 0x18
mov ecx, r9d
mov esi, r9d
mov r11d, r10d
or r9d, r10d
xor r10d, 0xd9d33284
and ecx, 0xd9d3327b
and esi, 0x262ccd84
or esi, 0x8192207b
xor esi, ecx
mov ecx, esi
xor ecx, 0xa7beedff
xor r11d, 0x262ccd7b
and r11d, ecx
xor esi, 0x58411200
and esi, r10d
or esi, r11d
or r9d, 0xffffff00
not esi
and esi, r9d
mov ecx, eax
shl r8d, cl
movzx eax, byte [rdx]
sar r8d, 0x18
mov ecx, eax
xor ecx, 0x22
mov r9d, r8d
xor r9d, 0xdd
mov r10d, eax
xor r10d, 0xdd
and r10d, r9d
xor r8d, 0x22
and r8d, ecx
or r8d, r10d
and r8d, eax
mov ecx, esi
mov dword [rsp + 0x2c], r8d
mov eax, esi
mov r11d, esi
mov qword [rsp + 0x48], rbx
mov ebx, esi
mov ebp, esi
mov r12d, r8d
mov dword [rsp + 0x28], r8d
mov r14d, r8d
mov r9d, esi
mov qword [rsp + 0x50], r9
and r9d, 0x327d0717
xor r9d, r8d
or r8d, esi
not esi
or eax, 0x1c3dac7a
mov r10d, eax
and r10d, 0x939fde68
mov r13, r15
mov r15d, esi
and r15d, 0x60400185
or r15d, r10d
and ecx, 0x1c3dac7a
and r11d, 0x101d8c68
xor ebx, 0x101d8c68
and ebx, ecx
or r11d, 0x60400185
xor r11d, ebx
or ebx, 0x83825200
xor r11d, ebx
and r11d, r15d
mov r15, r13
xor r11d, ebx
mov rbx, qword [rsp + 0x48]
mov r10d, esi
and r10d, 0x1c25181
and eax, 0xee208a54
or eax, r10d
xor eax, ecx
xor eax, 0xee208a54
xor ebp, 0x1c3dac7a
or ebp, eax
mov ecx, dword [rsp + 0x2c]
and ecx, 0xffffff85
not ebp
or ebp, r11d
mov eax, ecx
xor eax, 0xe3c25385
xor ecx, 0x8053217e
and r12d, 0x7a
mov r10d, dword [rsp + 0x28]
and r10d, 0xffffff81
or r12d, 0x80420104
and r12d, ecx
or r12d, r10d
xor r12d, 0x63805281
mov r10d, eax
and r10d, 0xa2421101
and r14d, 0xffffff84
or r14d, r10d
xor r14d, 0xa2421101
and r14d, eax
or r14d, r12d
xor r14d, ebp
mov rax, qword [rsp + 0x50]
and eax, 0x8004880
and esi, 0xc582b068
add eax, esi
add eax, 0x22090616
xor r9d, eax
xor r9d, 0x18744981
mov eax, r9d
xor eax, r8d
or r9d, r8d
not r9d
or r9d, eax
mov eax, r9d
xor eax, 0xa1
mov ecx, r14d
mov r8d, r9d
not r9d
and r9d, r14d
xor r14d, 0x5e
xor ecx, 0xa1
and ecx, eax
xor r8d, 0x5e
and r8d, r14d
or r8d, ecx
or r9d, r8d
mov byte [rdi], r9b
inc rdx
inc rdi
mov r14, r15
sub r14, rdx
mov rcx, rdi
mov r8, r14
call sub.VCRUNTIME140.dll_memmove
test rbx, rbx
je 0x18001d46b
mov cl, 8
sub cl, bl
mov eax, 0xff
shr eax, cl
mov dl, 0xff
mov ecx, ebx
shl dl, cl
movzx ecx, byte [rdi + r14]
mov r8d, edx
and r8b, 0x7f
xor r8b, cl
or dl, cl
mov ecx, r8d
not cl
or cl, dl
xor dl, r8b
add dl, 0x80
and al, byte [r15]
and dl, cl
mov ecx, eax
xor cl, 0x16
mov r8d, edx
xor r8b, al
and al, dl
xor dl, 0xe9
and r8b, cl
or dl, cl
not dl
or r8b, dl
xor r8b, al
and al, dl
or al, r8b
mov byte [rdi + r14], al
jmp 0x18001d46b
and r12d, r13d
cmp r11, r10
jae 0x18001c947
sub r10d, r11d
mov r9d, dword [rdx]
mov ecx, r9d
xor ecx, 0x647b65f1
mov r11d, r12d
xor r11d, 0x647b65f1
mov esi, r9d
xor esi, 0x9b849a0e
and esi, r11d
mov r11d, r12d
xor r11d, 0x9b849a0e
and r11d, ecx
or r9d, r12d
not r9d
or r9d, r11d
or r9d, esi
not r9d
mov ecx, r10d
shr r9d, cl
cmp rdi, r14
je 0x18001c95f
and ebp, dword [rdi]
mov r11d, r9d
not r11d
mov esi, r9d
or esi, 0x23d5f085
mov r10d, esi
not r10d
and r11d, 0xdc2a0f7a
mov ecx, r9d
xor ecx, 0x23d5f085
or ecx, r11d
and esi, 0x1e5e6816
mov r11d, r10d
and r11d, 0xc0200768
or r11d, esi
mov r13d, r11d
xor r13d, 0xe1a197e9
mov qword [rsp + 0x40], r8
mov r14d, r11d
xor r14d, 0x8928da9e
and r14d, r13d
mov esi, r9d
or esi, 0xb7f7f28d
mov r15d, esi
and r15d, 0x31173aae
and r10d, 0x48080550
or r10d, r15d
not esi
and esi, r14d
and r14d, 0xde7eaf7a
xor r14d, r10d
xor r14d, 0x30172a2e
or esi, r14d
mov r10d, ecx
and r11d, 0xc4080a28
mov r14d, r13d
and r14d, 0x18f38556
or r14d, r11d
xor r14d, ecx
and r13d, ecx
and ecx, 0x9776b288
and r10d, 0x68894d77
or r10d, 0x93620280
xor r10d, ecx
xor r10d, esi
xor r14d, 0xe30472a9
or r13d, r14d
xor r10d, 0x414b008
mov ecx, r10d
xor ecx, r13d
or r10d, r13d
not r10d
or r10d, ecx
mov ecx, ebp
xor ecx, 0xeb17ba54
mov r8d, r10d
xor r8d, 0x373db52e
mov r11d, ebp
xor r11d, 0x14e845ab
and r11d, r8d
xor r10d, 0xc8c24ad1
and r10d, ecx
and ebp, r9d
or ebp, r10d
or ebp, r11d
mov dword [rdi], ebp
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 8]
sub ecx, eax
and r12d, dword [rdx]
shr r12d, cl
mov eax, dword [rdi + 4]
mov ecx, eax
xor ecx, 0x20c376df
and ebx, 0x7fffffff
mov edx, ebx
xor edx, 0x5f3c8920
mov r8d, eax
xor r8d, 0x5f3c8920
and r8d, edx
xor ebx, 0xa0c376df
and ebx, ecx
or ebx, r8d
and ebx, eax
mov eax, r12d
not eax
mov edx, r12d
xor edx, 0x40ab682
and edx, r12d
mov ecx, r12d
and ecx, 0x40ab682
mov r8d, r12d
and r8d, 0x31610000
mov r9d, eax
and r9d, 0x80104908
xor ecx, 0x356bb682
and edx, 0x4e8eb6f7
or edx, ecx
or r8d, r9d
or r9d, 0x40ab682
xor r8d, 0xfbf5497d
and r8d, edx
not edx
and edx, r9d
mov r9d, r12d
xor r9d, 0x4e8eb6f7
mov ecx, r12d
xor ecx, 0xb1714908
or ecx, r9d
not ecx
or ecx, r8d
or ecx, edx
mov edx, ebx
xor edx, 0x519a93a5
mov r8d, ecx
xor r8d, 0xe0ebdaad
mov r9d, ebx
xor r9d, 0xae656c5a
and r9d, r8d
xor ecx, 0x1f142552
and ecx, edx
or ecx, r9d
mov edx, r12d
and edx, 0x62150a50
and eax, 0x1227129
mov r8d, r12d
and r8d, 0x9cc88486
add eax, edx
add eax, 0x408080
xor r8d, ebx
xor r8d, eax
or ebx, r12d
mov eax, r8d
xor eax, 0xfe9d0e56
or eax, ebx
xor ebx, r8d
xor ebx, 0x162f1a9
and ebx, eax
or ebx, ecx
mov dword [rdi + 4], ebx
jmp 0x18001d46b
mov r8d, dword [rdx]
cmp r11, r10
jae 0x18001ca95
sub r10d, r11d
mov ecx, r8d
not ecx
mov edx, r12d
not edx
and edx, r8d
or r8d, r12d
and edx, 0x7fffffff
and ecx, r12d
or ecx, edx
and r8d, 0x7fffffff
xor r8d, ecx
mov edx, r8d
xor edx, 0x7fffffff
mov ecx, r8d
xor ecx, 0xa3b8dfc4
and edx, ecx
and ecx, 0x80032020
and r8d, 0x5c44001b
or r8d, ecx
xor r8d, edx
and edx, 0xdc47203b
or edx, r8d
xor edx, 0x23b8dfc4
mov ecx, r10d
shr edx, cl
jmp 0x18001caa4
cmp r11, r10
jae 0x18001cb48
movabs rsi, 0xd065c6d72c5ef2a0
add r10, rsi
sub r10, r11
movabs r14, 0x2f9a3928d3a10d60
add r14, r10
sub rsi, r10
add rsi, 0x20
mov r9d, 0xffffffff
mov ecx, r10d
shr r9d, cl
mov eax, dword [rdx]
mov ecx, r12d
and ecx, 0xd6a9e50c
or ecx, 0x28460a32
and r12d, 0x29561af3
xor r12d, ecx
mov ecx, r12d
xor ecx, 0x28460a32
xor r12d, 0xd7b9f5cd
mov r8d, r12d
xor r8d, eax
xor r8d, ecx
and r8d, eax
xor r8d, ecx
or r12d, eax
and r12d, r8d
mov ecx, r10d
shr r12d, cl
mov r10d, r9d
not r10d
and ebp, dword [rdi]
or ebp, r12d
mov dword [rdi], ebp
add rdx, 4
cmp rdx, r15
mov dword [rsp + 0x60], r13d
mov qword [rsp + 0x70], r9
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x3c], r10d
mov qword [rsp + 0x48], rsi
je 0x18001d026
mov eax, r10d
and eax, 0xd35e07da
mov r11d, r9d
and r11d, 0x2ca1f824
or r11d, eax
mov eax, r11d
and eax, 0x9160db86
xor eax, 0x20d804
xor r11d, 0xbdc123a3
or r11d, eax
mov eax, r11d
and eax, 0xfffffffe
mov ecx, r9d
or ecx, 0x6e9f2479
mov r8d, ecx
and r8d, 0xbc0b9b12
not ecx
not r11d
and r11d, ecx
and ecx, 0x1604084
or ecx, r8d
xor ecx, eax
mov eax, ecx
xor eax, 0x1604084
and eax, r11d
xor r11d, ecx
xor r11d, 0x43f464ec
or r11d, eax
mov ecx, r9d
xor ecx, 0xe1359384
and ecx, r10d
mov eax, r9d
and eax, 0x1eca6c7a
and ecx, 0xfffffffe
xor ecx, eax
mov dword [rsp + 0x28], ecx
not ecx
mov dword [rsp + 0x50], ecx
mov eax, r11d
xor eax, 0x9160db87
mov ecx, r11d
xor ecx, 0x42f1664d
and ecx, eax
and eax, 0xd1813542
mov r8d, r11d
and r8d, 0x2108888
add eax, r8d
add eax, 0xc480225
xor eax, ecx
mov ecx, eax
xor ecx, 0xdfd9376f
mov dword [rsp + 0x68], ecx
xor eax, 0x2026c890
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x2c], r11d
xor r11d, 0x6e9f2478
mov dword [rsp + 0x64], r11d
nop
mov r11d, dword [rdx]
mov rcx, qword [rsp + 0x48]
shl r11d, cl
mov ecx, ebp
xor ecx, 0x1eca6c7a
and ecx, dword [rsp + 0x50]
mov eax, ebp
xor eax, 0xe1359384
and eax, dword [rsp + 0x28]
or eax, ecx
and eax, ebp
mov r8d, r11d
mov ecx, r11d
xor r8d, 0x3c36a5eb
and ecx, 0xdf967fa5
mov r9d, r11d
xor r9d, 0xe3a0da4e
and r9d, r8d
xor ecx, 0xc3805a04
mov r8d, eax
xor r8d, 0x2590148e
or ecx, r9d
mov r9d, r11d
xor r9d, 0x2590148e
mov esi, eax
xor ecx, eax
xor esi, 0xda6feb71
or eax, r11d
xor r11d, 0xda6feb71
and esi, r9d
and r11d, r8d
or r11d, esi
not r11d
xor ecx, 0xe3a0da4e
and r11d, eax
or r11d, ecx
mov dword [rdi], r11d
mov esi, dword [rdx]
mov ecx, r14d
shr esi, cl
mov rbx, r14
mov r14d, dword [rdi + 4]
mov ecx, r14d
and ecx, 0xd391bdca
mov ebp, r14d
and ebp, 0x2c6e4235
or ebp, 0x4081bd48
xor ebp, ecx
mov r12d, ebp
mov ecx, dword [rsp + 0x2c]
xor ecx, r14d
xor ebp, 0x93100082
xor ecx, 0x6e9f2478
and r14d, dword [rsp + 0x64]
or r14d, ecx
xor r12d, 0x6cefff7d
not r14d
mov ecx, esi
not ecx
and ebp, dword [rsp + 0x68]
mov r9d, ecx
mov r8d, esi
or r8d, 0x1e81888f
and r12d, dword [rsp + 0x6c]
mov r10d, esi
and r10d, 0x1e81888f
mov r11d, r10d
or r14d, r12d
not r11d
mov r13, r15
mov r15d, esi
xor r15d, 0x20627640
or r14d, ebp
mov r12d, esi
and r12d, 0x89
mov ebp, r11d
and ebp, 0xcd100130
add ebp, r12d
add ebp, 0x818800
mov eax, esi
xor eax, 0xc000089
and r9d, 0xe17e7770
and eax, r10d
xor ebp, eax
and eax, 0xc000089
xor ebp, 0x8d8889
or eax, ebp
mov r12d, r8d
and r12d, 0xcd1c01b9
and r15d, r9d
xor r12d, r15d
mov r15, r13
mov ebp, ecx
and r8d, 0x2a400da5
and ebp, 0xc13e7250
or r8d, ebp
mov ebp, esi
and ebp, 0x1481800a
and r11d, 0x2a400da5
or r11d, ebp
xor r11d, r8d
or r10d, r9d
xor r12d, eax
not r11d
and r11d, r10d
mov eax, r14d
mov r8d, r14d
xor r8d, 0x1e81888f
xor eax, 0x86c3f1bc
and eax, r8d
mov ebp, r14d
and ebp, 0x98427933
xor ebp, 0x80427130
or ebp, eax
or r11d, r12d
xor ebp, r11d
mov eax, esi
xor eax, 0x9ca021cb
mov r8d, r14d
xor r8d, 0x9ca021cb
and r8d, eax
and ecx, r14d
xor r14d, 0x635fde34
xor esi, 0x635fde34
and esi, r14d
mov r14, rbx
mov eax, ebp
or ecx, esi
or ecx, r8d
mov r8d, ebp
xor eax, 0x98427933
xor r8d, 0x1405bfef
and r8d, eax
mov r9d, ebp
and eax, 0x8403c2c0
and r9d, 0x844041c
add eax, r9d
add eax, 0x53880023
mov r9d, ecx
xor ebp, 0x67bd86cc
or ebp, ecx
and r9d, 0x73b83923
and ecx, 0x8c47c6dc
or r9d, 0x84106d4
xor r9d, ecx
xor r9d, r8d
xor r9d, eax
xor r9d, 0xac76f918
not ebp
or ebp, r9d
lea r12, [rdi + 4]
mov dword [rdi + 4], ebp
add rdx, 4
mov rdi, r12
cmp rdx, r15
jne 0x18001c6d0
jmp 0x18001d029
sub r11d, r10d
mov r9d, dword [rdx]
and r9d, r12d
mov ecx, r11d
shl r9d, cl
cmp rdi, r14
jne 0x18001c285
xor ecx, ecx
test rax, rax
cmove ebx, ecx
mov eax, ebp
not eax
mov ecx, ebp
xor ecx, 0xa000200a
and ecx, eax
mov r8d, ebp
and r8d, 0x1fbcde75
mov edx, ebp
and edx, 0x80000002
and eax, 0x60432188
or eax, edx
mov edx, eax
xor edx, 0x7ffffffd
mov r10d, eax
mov r11d, ebp
xor r11d, 0x1010c860
and r11d, r8d
xor eax, 0x80000002
mov esi, eax
or eax, r8d
not r8d
xor r10d, 0xd053c9e2
and r10d, edx
and ecx, 0xe043218a
or ecx, r10d
mov r10d, r8d
and r10d, 0x5013c960
add r10d, r11d
add r10d, 0x400080
xor r10d, ecx
and esi, 0xa0002002
and edx, 0x4bcf8bdd
or edx, esi
mov ecx, ebp
and ecx, 0x14305420
and r8d, 0x4bcf8bdd
or r8d, ecx
xor r8d, edx
not r8d
and r8d, eax
or r8d, r10d
mov eax, ebx
xor eax, 0x1fbcde75
mov ecx, ebx
xor ecx, 0xf5622a14
and ecx, eax
and ebp, ebx
and ebx, 0xeadef461
xor ebx, 0xe0422000
or ebx, ecx
xor ebx, r8d
xor ebx, 0x15210b9e
or ebx, ebp
mov eax, dword [rdi]
mov ecx, eax
xor ecx, 0x79afa947
mov edx, ebx
xor edx, 0x79afa947
mov r8d, eax
xor r8d, 0x865056b8
and r8d, edx
or eax, ebx
xor ebx, 0x865056b8
and ebx, ecx
or ebx, r8d
not ebx
and ebx, eax
mov eax, ebx
and eax, r9d
xor ebx, r9d
mov ecx, eax
xor ecx, 0x74ce3fb4
mov edx, ebx
xor edx, 0x74ce3fb4
xor eax, 0x8b31c04b
and eax, edx
xor ebx, 0x8b31c04b
and ebx, ecx
or ebx, eax
mov dword [rdi], ebx
jmp 0x18001d46b
sub r11d, r10d
and r8d, r12d
mov ecx, r11d
shl r8d, cl
mov edx, r8d
xor ecx, ecx
test rax, rax
cmove ebx, ecx
or ebp, ebx
test rsi, rsi
je 0x18001cd1f
sub eax, esi
mov ecx, dword [r15]
and r13d, 0xfffffffe
xor r13d, ecx
mov r9d, r13d
xor r9d, 0xfffffffe
xor r13d, 1
mov r8d, r9d
xor r8d, r13d
and r8d, ecx
xor r8d, r13d
and r8d, r9d
mov ecx, eax
shl r8d, cl
mov eax, dword [rdi]
mov ecx, eax
xor ecx, 0xd34ecfad
mov r9d, ebp
xor r9d, 0x2cb13052
mov r10d, eax
xor r10d, 0x2cb13052
and r10d, r9d
xor ebp, 0xd34ecfad
and ebp, ecx
or ebp, r10d
and ebp, eax
or ebp, edx
mov eax, ebp
and eax, r8d
mov ecx, ebp
xor ecx, 0x858a31af
mov edx, r8d
xor edx, 0x858a31af
xor ebp, 0x7a75ce50
and ebp, edx
xor r8d, 0x7a75ce50
and r8d, ecx
or r8d, eax
or r8d, ebp
mov dword [rdi], r8d
jmp 0x18001d46b
movabs r9, 0x93c1c8c307a2f77f
add r11, r9
sub r11, r10
sub r9, r11
and r12d, dword [rdx]
add r11d, 0xf85d0881
mov ecx, r11d
shl r12d, cl
lea rax, [r9 + 0x20]
and ebp, dword [rdi]
mov ecx, r12d
and ecx, ebp
xor ebp, r12d
mov r8d, ecx
xor r8d, 0x5db9983c
mov r10d, ebp
xor r10d, 0x5db9983c
xor ecx, 0xa24667c3
and ecx, r10d
xor ebp, 0xa24667c3
and ebp, r8d
or ebp, ecx
mov dword [rdi], ebp
lea r10, [rdi + 4]
mov esi, dword [rdx]
add rdx, 4
mov ecx, r9d
shr esi, cl
cmp rdx, r15
mov r9, qword [rsp + 0x40]
je 0x18001cbe6
nop dword [rax]
mov r8d, dword [rdx]
mov ecx, r11d
shl r8d, cl
or r8d, esi
mov dword [r10], r8d
add r10, 4
mov esi, dword [rdx]
add rdx, 4
mov ecx, eax
shr esi, cl
cmp rdx, r15
jne 0x18001cbc0
lea rdi, [r10 - 4]
mov rcx, qword [r9 + 8]
cmp rcx, rax
jae 0x18001cd76
test rcx, rcx
je 0x18001d3d3
mov ecx, dword [r15]
mov edx, r13d
not edx
mov eax, r13d
xor eax, 0x19979cb0
and eax, edx
and r13d, 0x2805d220
and edx, 0xd7fa2dde
or edx, r13d
mov r8d, edx
xor r8d, 0xd7fa2ddf
xor edx, 0xce6db16f
and edx, r8d
and eax, 0xfffffffe
or eax, edx
mov edx, eax
xor edx, ecx
xor edx, 0xe668634f
or edx, ecx
xor eax, 0x19979cb0
and eax, edx
mov ecx, r11d
shl eax, cl
mov ecx, dword [r10]
mov edx, ebx
xor edx, 0xe88d7e4d
xor ebx, 0x688d7e4d
and ebx, edx
mov edx, ebx
xor edx, 0xe88d7e4d
mov r8d, ebx
xor r8d, 0xe5c0d206
and r8d, edx
mov r9d, ecx
mov r11d, ecx
or edx, ecx
not ecx
mov edi, ebx
xor edi, 0x177281b2
xor ebx, 0x65c0d206
and ebx, edi
or ebx, r8d
mov r8d, ecx
and r8d, 0x62205384
and r9d, 0x90920030
and r11d, 0x5480442
and ecx, 0x805a809
add r8d, r9d
add r8d, 0x5480442
add ecx, r11d
add ecx, 0x62205384
xor ecx, ebx
xor ecx, r8d
not ecx
and ecx, edx
mov edx, ecx
and edx, esi
xor ecx, esi
mov r8d, edx
and r8d, 0x72c56dbe
or r8d, 0x8289001
and edx, 0x8d3a9241
xor edx, r8d
mov r8d, edx
xor r8d, 0x7aedfdbf
mov r9d, ecx
xor r9d, 0x72c56dbe
xor edx, 0x85120240
and edx, r9d
xor ecx, 0x8d3a9241
and ecx, r8d
or ecx, eax
or ecx, edx
mov dword [r10], ecx
jmp 0x18001d46b
and ebp, dword [rdi]
mov eax, edx
xor eax, 0x93705f83
mov ecx, edx
xor ecx, 0x6c8fa07c
or ecx, eax
mov eax, edx
xor eax, 0xa0a1e892
and eax, ecx
xor eax, ebp
mov ecx, eax
xor ecx, 0xa0a1e892
and ebp, edx
mov edx, eax
xor edx, 0x969bea5c
mov r8d, ebp
xor r8d, 0x363a02ce
xor eax, 0x696415a3
and eax, r8d
and ecx, ebp
xor ebp, 0xc9c5fd31
and ebp, edx
or ebp, ecx
or ebp, eax
mov dword [rdi], ebp
jmp 0x18001d46b
mov edx, dword [r15]
mov ecx, r11d
shl edx, cl
or edx, esi
mov dword [r10], edx
cmp qword [r9 + 8], rax
je 0x18001d46b
mov edx, dword [r15]
mov ecx, eax
shr edx, cl
mov ecx, ebx
not ecx
mov r10d, ebx
xor r10d, 0x6bedc6d8
and r10d, ecx
mov r8d, ebx
and r8d, 0x724a9511
mov eax, ecx
and eax, 0xdb56aee
or eax, r8d
xor eax, 0x8db56aee
or eax, ecx
mov r9d, eax
not r9d
mov r8d, ebx
and r8d, 0x2fa8f7b5
and ecx, 0x5057084a
or ecx, r8d
mov r8d, ecx
xor r8d, 0x5057084a
and ecx, 0x14123927
and r10d, 0x7fffffff
mov r11d, ecx
xor r11d, r10d
xor r11d, 0x90120802
xor ecx, 0x10120802
and ecx, r10d
or ecx, r11d
mov r10d, r9d
and r10d, 0x10101125
mov r11d, eax
and r11d, 0x4022802
or r8d, eax
and eax, 0x4941c210
and r9d, 0x22ac04c8
or r9d, eax
lea eax, [r11 + r10]
add eax, 0x4941c210
xor eax, r9d
xor eax, ecx
mov ecx, dword [rdi + 8]
mov r9d, ecx
xor r9d, 0x7318c489
mov r10d, ebx
xor r10d, 0x8ce73b76
mov r11d, ecx
xor r11d, 0xce73b76
and r11d, r10d
xor ebx, 0x7318c489
and ebx, r9d
or ebx, r11d
and ebx, ecx
xor eax, 0x6fefeeda
and eax, r8d
mov ecx, edx
mov r8d, eax
mov r9d, eax
not eax
or eax, edx
and edx, 0xf6fceaa0
and ecx, 0x903155f
or ecx, 0x20380280
and r8d, 0xf6fceaa0
or r8d, 0x9000501
and r9d, 0x903155f
xor r9d, edx
xor r9d, r8d
xor r9d, ecx
mov ecx, r9d
xor ecx, 0x29380781
or ecx, eax
xor eax, r9d
xor eax, 0xd6c7f87e
and eax, ecx
mov edx, ebx
and edx, 0x1587c2e2
mov ecx, eax
xor ecx, 0x3c282
and ecx, eax
mov r8d, ebx
or r8d, 0x1587c2e2
mov r9d, ebx
xor r9d, 0x11818202
and r9d, edx
not edx
xor r8d, edx
and edx, 0x11818212
or r9d, edx
mov edx, ebx
or edx, 0x818202
and edx, 0xeaf9bf1f
xor edx, r9d
mov r9d, ebx
xor r9d, 0x1587c2e2
or r9d, r8d
xor edx, 0x487c2f2
mov r8d, edx
xor r8d, r9d
or edx, r9d
not edx
or edx, r8d
mov r8d, eax
and r8d, 0x3c282
and ecx, 0x1587c2e2
mov r9d, eax
and r9d, 0xea783d1d
or r9d, 0x3c000
xor r9d, r8d
xor r9d, ecx
mov r8d, eax
xor r8d, 0x1587c2e2
mov ecx, eax
xor ecx, 0xea783d1d
or ecx, r8d
mov r8d, r9d
xor r8d, 0x158402e2
or r8d, ecx
xor ecx, r9d
xor ecx, 0xea7bfd1d
and ecx, r8d
mov r8d, edx
xor r8d, 0x5bf4c853
mov r9d, ecx
xor r9d, 0xa40b37ac
xor edx, 0xa40b37ac
and edx, r9d
xor ecx, 0x5bf4c853
and ecx, r8d
or ecx, edx
and eax, ebx
mov edx, eax
and edx, 0xbefd93c7
and eax, 0x41026c38
or eax, 0x389c0007
xor eax, edx
mov edx, eax
xor edx, 0x389c0007
mov r8d, eax
xor r8d, 0xb0a0f60e
and r8d, edx
mov r9d, edx
mov r10d, ecx
and edx, ecx
xor ecx, 0x883cf609
and r9d, 0x800b201
and eax, 0x803c4408
add eax, r9d
add eax, 0x2430152
xor eax, r8d
mov r8d, eax
xor r8d, 0x8a63f75b
xor r10d, 0x77c309f6
and r10d, r8d
xor eax, 0x759c08a4
and eax, ecx
or edx, eax
or edx, r10d
mov dword [rdi + 8], edx
jmp 0x18001d46b
mov r12, rdi
mov rcx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov rdx, qword [r11 + 8]
test rdx, rdx
mov esi, dword [rsp + 0x60]
mov edi, dword [rsp + 0x5c]
je 0x18001d46b
mov eax, dword [r15]
mov r9d, eax
not r9d
mov r8d, esi
not r8d
and r8d, eax
and r8d, 0xfffffffe
and r9d, esi
or r9d, r8d
or eax, esi
xor eax, r9d
shl eax, cl
cmp rdx, r14
jae 0x18001d29d
mov rsi, qword [rsp + 0x70]
mov edx, esi
xor edx, 0x4860d7dc
mov ebx, dword [rsp + 0x3c]
and edx, ebx
mov ecx, edi
not ecx
mov r8d, esi
and r8d, 0x33458f44
and ebx, 0xccba70ba
or ebx, r8d
mov r8d, ebx
and r8d, 0x72002320
xor r8d, 0x40002020
xor ebx, 0xbeba539b
or ebx, r8d
mov r8d, esi
and r8d, 0x72002320
mov r9d, ecx
and r9d, 0x3897e033
mov r10d, edi
and r10d, 0xc7681fcc
or r10d, r9d
xor r10d, 0x4a97c313
mov r9d, edi
and r9d, 0x72002320
or r9d, r10d
not ebx
or ebx, r8d
mov r10d, ecx
or r10d, 0x8dffdcdf
mov r8d, r10d
and r8d, 0xf41a6704
mov r11d, edi
and r11d, 0x2000020
or r11d, r8d
xor r11d, r9d
or r10d, r9d
mov r8d, r11d
xor r8d, 0x70002300
or r8d, r10d
and r10d, 0xf7db7fe7
xor r10d, r11d
xor r10d, 0xfc3ee71c
not r8d
or r8d, r10d
mov r9d, ebx
xor r9d, 0x4d19c623
mov r10d, r8d
xor r10d, 0x4d19c623
xor ebx, 0xb2e639dc
and ebx, r10d
xor r8d, 0xb2e639dc
and r8d, r9d
and edx, 0xfffffffe
mov r9d, esi
and r9d, 0xb79f2822
xor r9d, edx
and ecx, 0x26160820
mov edx, edi
and edx, 0x91892002
add ecx, edx
add ecx, 0x96dc
or esi, edi
and edi, 0x4860d7dd
xor edi, ecx
xor edi, r9d
xor edi, 0x9189b6de
and edi, esi
or edi, r8d
or edi, ebx
mov ecx, ebp
and ecx, 0xf298673a
mov edx, ebp
and edx, 0xd6798c5
or edx, 0x70986728
xor edx, ecx
mov ecx, edx
xor ecx, 0x7dffffed
mov r8d, edi
xor r8d, 0xd6798c5
xor edx, 0x82000012
and edx, r8d
or ebp, edi
xor edi, 0xf298673a
and edi, ecx
or edi, edx
not edi
and edi, ebp
mov edx, eax
or edx, 0xcc24c2e8
mov r8d, eax
not r8d
or r8d, 0x33db3d17
mov r9d, r8d
and r9d, 0xef10c200
mov ecx, eax
and ecx, 0x2400e8
or ecx, r9d
xor ecx, edx
mov r9d, eax
and r9d, 0xc20c000
and r8d, 0xe15f3afc
or r8d, r9d
xor r8d, edx
xor r8d, 0x1ea0c503
mov edx, eax
xor edx, 0xcc24c2e8
or edx, r8d
xor ecx, 0xef10c200
mov r8d, ecx
xor r8d, edx
or ecx, edx
not ecx
or ecx, r8d
xor ecx, edi
and edi, eax
mov eax, ecx
xor eax, 0x33db3d17
mov edx, edi
mov r8d, ecx
mov r9d, edi
or eax, edi
xor edi, ecx
xor ecx, 0xbc8ff5c4
xor edx, 0x8f54c8d3
xor r8d, 0x43700a3b
and r8d, edx
xor r9d, 0x70ab372c
and r9d, ecx
or r9d, r8d
xor edi, 0xcc24c2e8
and edi, eax
or edi, r9d
mov dword [r12], edi
jmp 0x18001d46b
mov ecx, ebp
not ecx
mov edx, dword [rsp + 0x3c]
and edx, 0x27018b44
mov r10, qword [rsp + 0x70]
and r10d, 0xd8fe74ba
or r10d, edx
mov edx, r10d
xor edx, 0xd8fe74ba
and edx, ecx
xor r10d, ebp
xor r10d, 0x27018b45
or r10d, edx
mov edx, r10d
not edx
mov ecx, eax
not ecx
or ecx, r10d
mov r8d, edx
and r8d, 0x10421611
mov r9d, r10d
and r9d, 0x825002c
and r10d, 0xa3188980
and edx, 0x44806042
add r8d, r9d
add r8d, 0xa3188980
add edx, r10d
add edx, 0x10421611
xor edx, r8d
xor edx, eax
mov eax, edx
xor eax, 0x1867163d
mov r8d, ecx
xor r8d, 0x540d417a
mov r9d, edx
xor r9d, 0xb395a8b8
mov r10d, ecx
xor r10d, 0xabf2be85
and r10d, r9d
xor edx, 0x4c6a5747
and edx, r8d
not ecx
and ecx, eax
or ecx, edx
or ecx, r10d
mov dword [r12], ecx
cmp qword [r11 + 8], r14
je 0x18001d46b
mov ecx, dword [r15]
mov eax, ecx
or eax, esi
and esi, ecx
and eax, 0xfffffffe
xor eax, esi
mov edx, eax
xor edx, 0xfffffffe
or edx, ecx
xor eax, ecx
xor eax, 1
and eax, edx
mov ecx, r14d
shr eax, cl
mov ecx, dword [r12 + 4]
mov edx, edi
and edx, 0x555d3254
or edx, 0x2a028ca2
and edi, 0x2aa2cdab
xor edi, edx
mov edx, ecx
xor edx, 0x13f62833
mov r8d, edi
xor r8d, 0x460b5b6e
mov r9d, ecx
xor r9d, 0x6c09d7cc
and r9d, r8d
xor edi, 0xb9f4a491
and edi, edx
or edi, r9d
and edi, ecx
or edi, eax
mov dword [r12 + 4], edi
jmp 0x18001d46b
mov eax, dword [r10]
mov ecx, eax
and ecx, 0xd07f6731
or ecx, 0x2180000e
mov edx, eax
and edx, 0x2f8098ce
xor edx, ecx
mov ecx, edx
xor ecx, 0x71ff673f
mov r8d, ebx
and r8d, 0xd07f6731
and ebx, 0x2f8098ce
or ebx, 0x246500
xor ebx, r8d
mov r8d, ebx
xor r8d, 0x2fa4fdce
xor edx, 0xe0098c0
and edx, r8d
xor ebx, 0xd05b0231
and ebx, ecx
or ebx, edx
and ebx, eax
mov eax, ebx
xor eax, esi
and ebx, esi
mov ecx, ebx
and ecx, 0x7cd54606
and ebx, 0x832ab9f9
or ebx, 0x4c00606
xor ebx, ecx
mov ecx, ebx
xor ecx, 0x4c00606
xor ebx, eax
mov edx, ebx
xor edx, 0x4c00606
or ecx, eax
xor ebx, 0xfb3ff9f9
and ebx, ecx
or ebx, edx
mov dword [r10], ebx
mov rax, qword [rsp + 0x30]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret