Function at 0x20223230
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa0], 0xfffffffffffffffe
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x50], rcx
call fcn.20225690
mov rcx, qword [0x203e3fa8]
mov edx, dword [0x203e3f80]
mov r8d, 0xf5a
sub r8d, eax
mov dword [rbp + 0x9c], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
call qword [case.0x200b73a7.0]
mov esi, eax
mov r11d, eax
mov r13, r11
shl r13, 0x1c
xor r13, r11
movabs rax, 0x9865261ca011d9df
xor rax, r13
mov r8, r11
shl r8, 0x1e
xor r8, r11
movabs rcx, 0x438d8f6bcfee2620
xor rcx, r8
lea rbx, [rax + rcx]
add rbx, 2
movabs rax, 0xbfb11d76fb11d75
xor r13, rax
movabs r14, 0x2fec475fffb11d5d
xor r14, r8
movabs rax, 0x2fec475fffb11d72
xor rax, r8
mov qword [rbp + 0x88], rax
mov r9, r11
shl r9, 0x21
or r9, r11
movabs rax, 0x863a689c363b3dde
xor rax, r9
mov r10, r11
shl r10, 0x22
or r10, r11
movabs rcx, 0xf863d86dc9c4c221
xor rcx, r10
add rcx, rax
movabs rax, 0xe67b2b55b7526998
xor rax, r10
movabs rdx, 0x8878146dcc5ca101
xor rdx, r9
add rdx, rax
mov r12d, esi
xor r12d, 0xbb920e2d
add rdx, rcx
movabs rax, 0xf621a49c33a35efe
mov qword [rbp + 0x68], r10
xor rax, r10
add rax, rdx
movabs rcx, 0xc8ace60108ad9667
xor rcx, r8
add rax, rcx
add rax, 3
mov qword [rbp + 0x70], rax
mov rax, r11
shl rax, 0x23
mov qword [rbp + 0x60], r11
or rax, r11
movabs rcx, 0xfd88ebe8bfb11d55
mov qword [rbp + 0x20], rax
xor rcx, rax
mov qword [rbp + 0x78], rcx
movabs rax, 0x2fec475fffb11d7b
mov qword [rbp + 0x38], r8
xor rax, r8
mov qword [rbp + 0x58], rax
movabs rax, 0x7f623afabfb11d7a
mov qword [rbp + 0x28], r9
xor rax, r9
mov qword [rbp + 0x80], rax
mov al, 1
mov qword [rbp + 0x30], rsi
mov ecx, esi
mov dword [rbp + 0x1c], esi
xor edi, edi
nop word cs:[rax + rax]
mov byte [rbp + 0x9b], al
lea rax, [rdi + rdi*2]
mov rdx, qword [rbp + 0x50]
lea rcx, [rdx + rax*8]
add rcx, 0xb0
mov qword [rbp + 0x48], rcx
mov r15, qword [rdx + rax*8 + 0xb0]
cmp r15, qword [rdx + rax*8 + 0xb8]
je 0x202234a0
xor esi, esi
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x88]
cmp qword [r15 + r14], rax
jbe 0x20223450
mov rdx, qword [r15 + r13]
jmp 0x20223454
lea rdx, [r15 + r13]
mov rcx, qword [0x203e3fd0]
mov eax, dword [0x203e3f98]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x90]
mov r8d, r12d
call qword [case.0x200b73a7.0]
test rax, rax
je 0x202234a2
add r15, 0x28
add rsi, rbx
mov rax, qword [rbp + 0x48]
cmp r15, qword [rax + 8]
jne 0x20223430
jmp 0x202234a2
xor esi, esi
mov rcx, qword [rbp + 0x48]
mov rax, qword [rcx + 8]
add rax, qword [rbp + 0x70]
sub rax, qword [rcx]
cqo
idiv qword [rbp + 0x78]
cmp rsi, rax
je 0x202234dc
cmp rdi, qword [rbp + 0x58]
lea rcx, [rdi + 1]
setb al
mov rdi, rcx
cmp rcx, qword [rbp + 0x80]
jne 0x202233f0
jmp 0x20224533
mov rax, qword [0x203e3d08]
mov qword [rbp + 8], rax
movsxd rax, dword [rax]
mov qword [rbp + 0x10], rax
cmp qword [0x20403bd8], 0
mov edi, dword [0x2030f5a8]
mov r13, qword [rbp + 0x60]
jne 0x20223566
mov rax, r13
shl rax, 0x1f
movabs rcx, 0x5fd88ebe3fb11d4d
xor rcx, r13
xor rcx, rax
mov rdx, qword [0x203e3fb0]
mov eax, dword [0x203e3f90]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, rdx
call qword [case.0x200b73a7.0]
mov rcx, qword [rbp + 0x88]
mov qword [rax + 0x28], rcx
lea rcx, [0x202f2f78]
mov qword [rax + 8], rcx
mov dword [rax], 0
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x20403bd8], rax
mov rcx, qword [0x20403bd8]
mov rax, qword [rbp + 0x30]
xor eax, 0xbfb11d69
mov qword [rbp], rcx
mov dword [rcx], eax
mov r9, r13
shl r9, 0x1c
xor r9, r13
movabs r14, 0xbfb11d76fb11d75
xor r14, r9
movabs rcx, 0xfec475f4bfb11d75
mov r8, qword [rbp + 0x68]
xor rcx, r8
mov r10, r13
shl r10, 0x1f
xor r10, r13
mov qword [rbp + 0x90], r10
movabs rax, 0x5fd88ebe3fb11d65
xor rax, r10
xorps xmm0, xmm0
movups xmmword [rbp + rax - 0x58], xmm0
movabs rdx, 0xfec475f4bfb11d65
xor rdx, r8
mov r11, qword [rbp + 0x40]
mov rsi, qword [r11 + rdx]
movabs rdx, 0x5fd88ebe3fb11d5d
xor rdx, r10
movabs r8, 0xfd88ebe8bfb11d72
mov r15, qword [rbp + 0x20]
xor r8, r15
mov qword [rbp + 0x50], rdx
mov qword [rbp - 8], r8
cmp qword [r11 + rdx], r8
mov rbx, qword [rbp + 0x28]
mov dword [rbp + 0x80], edi
jbe 0x2022361b
mov r11, qword [r11 + rcx]
jmp 0x2022361e
add r11, rcx
lea rcx, [r14 + rbp]
add rcx, 0xffffffffffffffa8
add rax, rbp
add rax, 0xffffffffffffffa8
mov qword [rbp + 0x78], rax
mov rdi, r13
shl rdi, 0x20
or rdi, r13
movabs rax, 0xbfb11d7dbfb11d6d
xor rax, rdi
movabs r8, 0x17f623af1fb11d72
cmp rsi, rax
mov qword [rbp + 0x58], r9
mov qword [rbp + 0x88], rdi
mov qword [rbp + 0x70], rcx
jae 0x20223678
movups xmm0, xmmword [r11]
movups xmmword [rcx], xmm0
mov r14d, 0xf
jmp 0x20223869
mov qword [rbp + 0x40], r11
mov rdx, rdi
mov rdi, r13
shl rdi, 0x24
or rdi, r13
movabs rax, 0xfb11d7d0bfb11d72
xor rax, rdi
movabs r14, 0x2771417404ee28d
xor r14, r15
or r14, rax
mov rcx, r13
shl rcx, 0x1d
xor rcx, r13
mov rax, rcx
xor rax, r8
xor r14, rax
and r14, rsi
xor r14, rax
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
movabs rax, 0xbfb11d7dbfb11283
xor rax, rdx
cmp r14, rax
jbe 0x20223787
movabs rax, 0x17f623af1fb11d55
xor rcx, rax
add rcx, r14
mov rdx, qword [0x203e3fb0]
mov eax, dword [0x203e3f90]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, rdx
call qword [case.0x200b73a7.0]
movabs rcx, 0x681fd8443a955b94
xor rcx, r15
movabs rdx, 0x6193dd84156aa46b
mov r9, qword [rbp + 0x58]
xor rdx, r9
movabs r8, 0xbfb11d76fb11d5a
xor r8, r9
add r8, rdx
movabs rdx, 0x88fe06dd57f524da
xor rdx, rbx
movabs r9, 0xf3721408a80adb25
xor rdi, r9
add rdi, rcx
add rdi, r8
add rdi, rdx
lea rdx, [rax + rdi]
add rdx, 2
movabs rcx, 0xd013b8a0004ee29d
mov r9, qword [rbp + 0x38]
xor rcx, r9
and rcx, rdx
mov qword [rcx - 8], rax
jmp 0x202237ba
mov rax, qword [0x20401900]
lea rcx, [r14 + rax]
inc rcx
mov rdx, qword [0x203e3fb0]
mov eax, dword [0x203e3f90]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, rdx
call qword [case.0x200b73a7.0]
mov rcx, rax
mov r9, qword [rbp + 0x38]
mov r12, qword [rbp + 0x70]
mov qword [r12], rcx
movabs rdx, 0x65367c4eeebd9513
xor rdx, r9
movabs r8, 0x2ec2be2d238a98b3
xor r8, r15
movabs rax, 0x9304b747dc75674c
mov rdi, qword [rbp + 0x88]
xor rax, rdi
add rax, rdx
movabs rdx, 0xcf7bd2296b5ba5a3
xor rdx, r9
add rdx, r8
movabs r8, 0xe1a66c5a7c625306
xor r8, qword [rbp + 0x68]
add r8, rdx
movabs rdx, 0xa0d977f4d4a45a5c
xor rdx, rdi
movabs r9, 0x48ad2f0651426aec
xor r9, r15
add r9, r8
mov r8, r13
shl r8, 0x1b
movabs r10, 0xe5606eba6b9dacf9
xor r10, r13
xor r10, r8
add r10, rdx
add r10, rax
add r10, r9
lea r8, [rsi + r10]
add r8, 5
mov rdx, qword [rbp + 0x40]
call fcn.202d5100
mov rcx, r12
mov r9, qword [rbp + 0x58]
mov rax, qword [rbp + 0x78]
mov qword [rax], rsi
mov rax, qword [rbp + 0x50]
mov qword [rbp + rax - 0x58], r14
lea rax, [0x202f2f78]
mov qword [rbp - 0x58], rax
mov rax, r14
sub rax, rsi
movabs rdx, 0xfd88ebe8bfb11d7e
xor rdx, r15
cmp rax, rdx
jae 0x202238eb
movzx eax, byte [0x203e3ba4]
mov r10d, dword [rbp + 0x1c]
mov edx, r10d
xor dl, 0x8f
cmp al, dl
mov rbx, qword [rbp + 0x30]
je 0x20223b4b
mov r8d, r10d
xor r8b, 0xc5
xor r10b, 0xd0
nop word cs:[rax + rax]
mov eax, r8d
lock cmpxchg byte [0x203e3ba4], r10b
je 0x202239f5
cmp al, dl
jne 0x202238d0
jmp 0x20223b4b
mov rax, r13
shl rax, 0x24
or rax, r13
mov r8, r13
shl r8, 0x1b
movabs rdx, 0x92c0901f1e1fd23d
xor rdx, r13
xor rdx, r8
mov r10, r13
shl r10, 0x1d
movabs r8, 0xe809dc50e04ee281
xor r8, r13
xor r8, r10
movabs r10, 0xfb11d7d0bfb11d65
xor r10, rax
add r8, rdx
movabs rdx, 0x6affdbf0f5861be1
xor rdx, r9
add rdx, r8
movabs r8, 0x93d330db09e02dc2
xor r8, rax
movabs rax, 0x214a28a5da79e41e
xor rax, rdi
add rdx, rax
mov rax, rsi
neg rax
add rdx, r8
add rdx, 3
lea r8, [rsi - 1]
xor r8, rax
and r8, rdx
xor r8, rax
and rax, rdx
add rax, rax
mov rdx, r8
xor rdx, rax
and rax, r8
lea rdx, [rdx + rax*2]
neg rdx
mov qword [rbp + r10 - 0x58], rdx
movabs rax, 0x7f623afabfb11d72
xor rax, rbx
mov r8, rcx
cmp r14, rax
jbe 0x202239ad
mov r8, qword [rcx]
add rsi, r8
movzx eax, byte [0x203e3ba4]
mov r11d, dword [rbp + 0x1c]
mov r9d, r11d
xor r9b, 0x8f
cmp al, r9b
mov rbx, qword [rbp + 0x30]
je 0x20223a65
mov r10d, r11d
xor r10b, 0xc5
xor r11b, 0xd0
nop word [rax + rax]
mov eax, r10d
lock cmpxchg byte [0x203e3ba4], r11b
je 0x20223a18
cmp al, r9b
jne 0x202239e0
jmp 0x20223a65
mov r8d, ebx
xor r8d, 0xbfb11d79
cmp r8d, 2
mov eax, 1
cmovge eax, r8d
cmp eax, 8
jae 0x20223a86
xor esi, esi
jmp 0x20223b1a
mov eax, ebx
xor eax, 0xbfb11d79
xor r11d, r11d
lea rcx, [0x203e3ba0]
lea r10, [0x2030f5a0]
movsxd r11, r11d
movzx ebx, byte [r11 + r10]
xor byte [r11 + rcx], bl
mov edi, r11d
xor edi, 1
and r11d, 1
lea r11d, [rdi + r11*2]
cmp r11d, eax
jl 0x20223a30
xchg byte [0x203e3ba4], r9b
mov rdi, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x70]
mov rbx, qword [rbp + 0x30]
movzx eax, byte [0x203e3ba2]
mov byte [rsi + 2], al
movzx eax, word [0x203e3ba0]
mov word [rsi], ax
mov byte [r8 + rdx], 0
mov r15, rcx
jmp 0x20223b8e
cmp eax, 0x20
jae 0x20223a8f
xor esi, esi
jmp 0x20223ae3
mov esi, eax
and esi, 0x7fffffe0
xor r8d, r8d
lea r9, [0x203e3ba0]
lea r10, [0x2030f5a0]
nop dword [rax + rax]
movaps xmm0, xmmword [r8 + r10]
movaps xmm1, xmmword [r8 + r10 + 0x10]
xorps xmm0, xmmword [r8 + r9]
xorps xmm1, xmmword [r8 + r9 + 0x10]
movaps xmmword [r8 + r9], xmm0
movaps xmmword [r8 + r9 + 0x10], xmm1
add r8, 0x20
cmp rsi, r8
jne 0x20223ab0
cmp rsi, rax
je 0x20223b41
test al, 0x18
je 0x20223b1a
mov r8, rsi
mov esi, eax
and esi, 0x7ffffff8
lea r9, [0x203e3ba0]
lea r10, [0x2030f5a0]
nop dword [rax]
mov r11, qword [r8 + r10]
xor qword [r8 + r9], r11
add r8, 8
cmp rsi, r8
jne 0x20223b00
cmp rsi, rax
mov rcx, qword [rbp + 0x70]
je 0x20223b41
lea r8, [0x203e3ba0]
lea r9, [0x2030f5a0]
nop dword [rax + rax]
movzx r10d, byte [rsi + r9]
xor byte [rsi + r8], r10b
inc rsi
cmp rax, rsi
jne 0x20223b30
xchg byte [0x203e3ba4], dl
mov r9, qword [rbp + 0x58]
mov rax, r13
shl rax, 0x24
or rax, r13
movabs rdx, 0xfb11d7d0bfb11d7e
xor rdx, rax
movabs rax, 0xbfb11d76fb11d7e
xor rax, r9
mov qword [rsp + 0x20], rax
lea r9, [0x203e3ba0]
call fcn.2006ff40
mov r15, rax
mov r13, qword [rbp + 0x60]
mov rdi, qword [rbp + 0x88]
mov rax, qword [rbp + 0x48]
mov r12, qword [rax]
mov rax, r13
shl rax, 0x24
or rax, r13
mov r13, rax
movabs rax, 0xfb11d7d0bfb11d75
xor rax, r13
movabs rdx, 0xbfb11d7dbfb11d5d
xor rdx, rdi
mov rcx, qword [rbp - 8]
cmp qword [r12 + rdx], rcx
mov qword [rbp + 0x40], rdx
jbe 0x20223bd0
mov r12, qword [r12 + rax]
jmp 0x20223bd3
add r12, rax
mov r14, qword [rbp + 0x38]
mov rsi, qword [rbp + 0x90]
mov edi, dword [rbp + 0x80]
mov edx, ebx
xor edx, 0x1884ba20
mov rcx, qword [0x203e3fc8]
mov eax, dword [0x203e3f94]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, rcx
mov rcx, r12
call qword [case.0x200b73a7.0]
mov rcx, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
movabs r8, 0x9829f3ca37fe4e00
mov qword [rbp + 0x48], r13
xor r8, r13
movabs r9, 0xc31f555b4801b1ff
xor r9, rsi
add r9, r8
sub r9, rcx
lea r8, [r9 + rdx]
inc r8
movabs r13, 0xfec475f4bfb11d72
cmp r8, rax
jae 0x20223c6b
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rax
mov r9, r12
call fcn.2006ff40
mov rsi, qword [rbp + 0x10]
jmp 0x20223df1
movabs r9, 0xef65b63bff769803
xor r9, r14
mov r11, qword [rbp + 0x60]
mov r8, r11
shl r8, 0x1d
xor r8, r11
movabs r10, 0x1914727e5e75d80a
xor r10, r8
movabs rdi, 0xc5bd4fc2403cf38b
xor rdi, r14
mov rbx, r11
shl rbx, 0x1b
xor rbx, r11
movabs r11, 0x10537f8917c30c74
xor r11, rbx
add r11, r10
movabs r10, 0xdef1e971418a27f5
xor r10, r14
add r11, r9
movabs r14, 0x901ed810e875eb52
mov r13, qword [rbp + 0x88]
xor r14, r13
add r14, r10
add r14, rdi
movabs r10, 0x6f49fccc7f373475
xor r10, qword [rbp + 0x58]
movabs rdi, 0xd5adb279ff8a14ad
xor rdi, rbx
movabs r9, 0x33df5c47e516f7db
xor r9, rsi
add r9, r10
add r9, rdi
movabs r10, 0x80c713e6408967fc
xor r10, r13
add r9, r14
add r9, r11
movabs r11, 0x17e94427a27dcee8
xor r11, qword [rbp + 0x28]
movabs rdi, 0x3b6a63a52f373475
xor rdi, rsi
add rdi, r11
movabs r11, 0xc2b8dfec15028292
xor r11, rsi
add rdi, r11
movabs r11, 0x8082a28dfd823117
xor r11, r8
add r11, rdi
add r11, 3
movabs rbx, 0x8a9672fd35028292
xor rbx, r8
movabs rdi, 0x6e70c6ee9ae90824
xor rdi, qword [rbp + 0x20]
add rdi, r10
add rdi, r9
xor rbx, r11
add rdi, rbx
movabs r8, 0x5d2eb3d06afd7d6d
xor r8, r13
movabs r13, 0xfec475f4bfb11d72
and r8, r11
add r8, r8
sub rdi, r8
add rdi, rax
lea r8, [rcx + rdi]
add r8, 7
add rdi, rcx
mov qword [r15 + 0x10], r8
mov r8, qword [rbp + 0x68]
xor r8, r13
cmp rdx, r8
jbe 0x20223dcf
mov r15, qword [r15]
mov rsi, qword [rbp + 0x10]
add rcx, r15
mov rdx, r12
mov r8, rax
call fcn.202d5100
mov byte [r15 + rdi + 7], 0
mov rbx, qword [rbp + 0x30]
mov edi, dword [rbp + 0x80]
mov r11, r13
mov eax, ebx
xor eax, 0x27465d72
mov r14d, dword [0x203e3ce0]
cmp dword [0x203e3cfc], eax
jne 0x20223e55
lea eax, [rbx + rbx]
xor eax, 0x16174782
sub eax, r14d
lea eax, [rax + rax*2]
neg eax
mov edx, r14d
not edx
mov ecx, edx
sub ecx, r14d
xor ecx, edx
mov edx, eax
shl edx, cl
mov dword [0x203e3cf0], 0x113ed027
xor edx, eax
shl edx, cl
mov r8d, edx
mov ecx, eax
shl r8d, cl
mov dword [0x203e3d14], 0xbfb11d7d
mov r14d, r8d
sub r14d, edx
and r14d, r8d
jmp 0x20223e70
mov eax, ebx
xor eax, 0x8b0ba3c1
lea ecx, [r14 + rax]
mov edx, ecx
xor edx, 1
and ecx, 1
sub edx, eax
lea eax, [rdx + rcx*2]
and r14d, eax
mov r13, qword [rbp + 0x60]
mov r10, qword [rbp + 0x70]
mov dword [0x203e3ce0], eax
test r14d, r14d
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp + 0x88]
je 0x20223e93
xor r12d, r12d
jmp 0x20223ee1
mov eax, ebx
xor eax, 0x47125d78
cmp dword [0x203e3d10], eax
jne 0x20223eb3
mov dword [0x203e3d14], 0xe8fe6a25
mov eax, 7
jmp 0x20223eb5
xor eax, eax
xor ecx, ecx
test edi, edi
jle 0x20223e8e
add rsi, qword [rbp + 8]
xor ebx, 0xbfb11d75
xor r12d, r12d
nop dword [rax + rax]
movsxd rcx, ecx
lea rdx, [rsi + rcx]
xor r12, qword [rdx + rax*8]
add ecx, ebx
cmp ecx, edi
jl 0x20223ed0
movabs rax, 0xbfb11d7dbfb11d75
xor rax, r9
movabs rcx, 0xfd88ebe8bfb11d65
xor rcx, r8
xorps xmm0, xmm0
movups xmmword [rbp + rcx - 0x30], xmm0
mov rdx, qword [rbp + 0x78]
mov rbx, qword [rdx]
xor r11, qword [rbp + 0x68]
mov rdi, r10
mov rdx, qword [rbp + 0x50]
cmp qword [rbp + rdx - 0x58], r11
jbe 0x20223f1f
mov rdi, qword [r10]
lea rdx, [rax + rbp]
add rdx, 0xffffffffffffffd0
lea r8, [rcx + rbp]
add r8, 0xffffffffffffffd0
movabs rax, 0xfb11d7d0bfb11d6d
xor rax, qword [rbp + 0x48]
movabs rcx, 0x5fd88eb57b11d72
cmp rbx, rax
mov qword [rbp + 0x78], rdx
jae 0x20223f8b
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
mov qword [r8], rbx
mov rcx, qword [rbp + 0x40]
lea rdi, [rcx + rbp]
add rdi, 0xffffffffffffffd0
movabs rax, 0x5fd88ebe3fb11d72
xor rax, qword [rbp + 0x90]
mov qword [rbp + rcx - 0x30], rax
lea rax, [0x202f2f78]
mov qword [rbp - 0x30], rax
jmp 0x202240f0
mov r15, r13
shl r15, 0x1b
xor r15, r13
mov rax, r15
xor rax, rcx
and rax, rbx
mov rcx, qword [rbp + 0x28]
xor rcx, rbx
mov rdx, r13
movabs r13, 0x7f623afabfb11d72
xor r13, rcx
or r13, rax
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
movabs rax, 0x5fd88ebe3fb11283
xor rax, qword [rbp + 0x90]
cmp r13, rax
jbe 0x20224035
mov qword [rbp + 0x80], r8
mov rax, rdx
shl rax, 0x1d
xor rax, rdx
movabs rcx, 0x17f623af1fb11d55
xor rcx, rax
add rcx, r13
call fcn.20080910
movabs rcx, 0x5fd88ebe3fb11d5a
mov r8, qword [rbp + 0x90]
xor rcx, r8
add rcx, rax
movabs rdx, 0x5fd88eb57b11d62
xor r15, rdx
xor r15, rcx
and r15, rcx
mov qword [r15 - 8], rax
jmp 0x2022404f
mov qword [rbp + 0x80], r8
lea rcx, [r13 + 1]
call fcn.20080910
mov r15, rax
mov r8, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x78]
mov qword [rsi], r15
movabs rax, 0x79a4e2e9ac09d03a
mov rdx, qword [rbp + 0x28]
xor rax, rdx
movabs rcx, 0xe76595641e467d56
xor rcx, rdx
movabs rdx, 0x4b1cc0453f62fc5
xor rdx, qword [rbp + 0x20]
add rdx, rcx
add rdx, rax
lea rax, [rbx + rdx]
add rax, 2
mov rcx, rax
xor rcx, 1
and eax, 1
movabs rdx, 0x3820dedf61b982a9
xor rdx, r8
add rdx, rcx
lea r8, [rdx + rax*2]
mov rcx, r15
mov rdx, rdi
call fcn.202d5100
mov rax, qword [rbp + 0x80]
mov qword [rax], rbx
movabs rax, 0xfec475f4bfb11d5d
xor rax, qword [rbp + 0x68]
lea rdi, [rax + rbp]
add rdi, 0xffffffffffffffd0
mov qword [rbp + rax - 0x30], r13
lea rax, [0x202f2f78]
mov qword [rbp - 0x30], rax
mov rdx, qword [rsi]
mov r13, qword [rbp + 0x60]
mov rcx, qword [rbp]
add rcx, 8
call fcn.200a60a0
mov rax, qword [rdi]
mov rsi, r13
shl rsi, 0x1b
xor rsi, r13
movabs rdx, 0x5fd88eb57b11d72
xor rdx, rsi
xor r8d, r8d
xor ecx, ecx
mov qword [rbp + 0x80], rdx
cmp rax, rdx
setbe r8b
seta cl
movzx edx, byte [0x2040181d]
movabs r9, 0x669a7827de869100
mov r15, qword [rbp + 0x28]
xor r9, r15
movabs r10, 0x1b8f56ca21796eff
mov r13, qword [rbp + 0x20]
xor r10, r13
add r10, r9
mov r9, qword [0x2030f5b8]
cmp r14d, 1
sbb r10, 0xffffffffffffffff
sub r9, r12
mov r11, r9
not r11
xor r9, r11
mov rbx, r9
and rbx, r10
xor rbx, r9
and r11, r10
or r11, rbx
cmp r11, 0xffffffffffffffff
setne r9b
or r9b, dl
mov r10d, edx
mov r11d, ecx
and r11b, dl
test dl, dl
mov ebx, r8d
cmovne ebx, ecx
mov r14d, edx
xor r14b, r8b
and dl, r8b
not r10b
and cl, r10b
or cl, r14b
xor bl, 1
and cl, bl
or dl, cl
mov byte [0x2040181d], r9b
and bl, r11b
xor bl, dl
cmp r11b, bl
mov rbx, qword [rbp + 0x38]
je 0x202242b0
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
movabs r8, 0xfd88ebe8bfb11282
xor r8, r13
cmp rdx, r8
jbe 0x20224292
mov r8, qword [rcx - 8]
movabs rdx, 0x4ee282f404ee285
xor rdx, qword [rbp + 0x48]
add rdx, rcx
sub rdx, r8
movabs rcx, 0xfec475f4bfb11d5d
xor rcx, qword [rbp + 0x68]
cmp rdx, rcx
jae 0x20224549
movabs rcx, 0x5fd88ebe3fb11d55
mov r10, qword [rbp + 0x90]
xor rcx, r10
movabs rdx, 0x3e8123de131ff897
xor rdx, r13
movabs r9, 0x630b9cead350956e
xor r9, r10
add r9, rdx
movabs rdx, 0x3ea40643acaf6a91
xor rdx, r13
add rdx, rcx
add rdx, r9
movabs rcx, 0x83472ab4ece00768
xor rcx, qword [rbp + 0x88]
add rcx, rdx
lea rdx, [rax + rcx]
add rdx, 2
mov rcx, r8
mov r8, qword [0x203e3fb8]
mov eax, dword [0x203e3f84]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, r8
call qword [case.0x200b73a7.0]
mov rax, qword [rbp + 0x60]
mov r9, rax
shl r9, 0x1d
xor r9, rax
movabs rax, 0x17f623af1fb11d72
xor rax, r9
mov qword [rdi], rax
mov rax, qword [rbp + 0x50]
mov r8, qword [rbp + rax - 0x58]
cmp r8, qword [rbp + 0x80]
mov rax, qword [rbp + 0x70]
jbe 0x2022452c
mov rcx, qword [rax]
lea rdx, [r8 + 1]
movabs rax, 0x17f623af1fb11282
xor rax, r9
cmp rdx, rax
jbe 0x2022450e
mov rax, qword [rcx - 8]
mov qword [rbp + 0x50], rax
movabs rdx, 0x72076c1ffbb27266
mov r14, qword [rbp + 0x58]
xor rdx, r14
movabs r10, 0x5527651c0cbf8bb2
xor r10, qword [rbp + 0x90]
movabs r11, 0xd013b8a0004ee285
xor r11, rbx
add r11, rdx
movabs rdx, 0x387cc8a432b06973
xor rdx, r15
add rdx, r11
movabs r11, 0x4ab109207340744d
xor r11, qword [rbp + 0x88]
movabs rdi, 0x43f0da71cd4f968c
mov r12, qword [rbp + 0x48]
xor rdi, r12
add rdi, r10
movabs r10, 0x7cfeeaa43a5d106c
xor r10, r15
add r10, r11
movabs r11, 0x7d1255e7d44d8d99
xor r11, r12
mov rax, rbx
movabs rbx, 0x772f871c5a2ef93
xor rbx, r12
add rbx, r11
mov r11, qword [rbp + 0x50]
add rbx, rdi
add rbx, rdx
add rbx, r10
add rbx, rcx
sub rbx, r11
add rbx, 4
movabs rcx, 0xbfb11d76fb11d5d
xor rcx, r14
cmp rbx, rcx
jae 0x2022454e
movabs rcx, 0x1d0eaf84fc8e6269
mov r10, qword [rbp + 0x68]
xor r10, rcx
movabs rdx, 0x7538e1bcca77665a
xor rdx, r13
movabs rcx, 0xe82387836ef3c22a
xor rcx, r12
add rcx, rdx
movabs rdx, 0x19c8ad64eb719d96
xor rdx, rsi
add rcx, rdx
movabs rdx, 0x72b27d40dd8899a5
xor rdx, rsi
add rcx, rdx
movabs rdx, 0xfb3b8c03310c3dd5
xor r9, rdx
movabs rdx, 0x507e446cd9648756
mov rbx, qword [rbp + 0x90]
xor rbx, rdx
movabs rdx, 0xfba224fa769b78a9
xor rdx, r14
add rdx, r10
movabs r10, 0xf1279bcc111c118a
xor r10, r12
add r10, rbx
add r10, r9
movabs r9, 0x2fec475fffb11d55
xor rax, r9
add rax, rdx
movabs rdx, 0x8aab8919eee3ee75
xor r15, rdx
add r15, rax
movabs rdx, 0x6d6dfe729323cb22
xor rdx, r14
sub r10, rdx
add r10, rcx
add r10, r15
add r8, r10
add r8, 5
mov rcx, r8
xor rcx, rdx
or rdx, r8
xor r8, r13
movabs r9, 0x64e1fbb2bcdc34dd
xor r9, r8
and r9, rdx
movabs rdx, 0x98fc4af3978ccea9
xor rdx, r14
movabs r8, 0x574b7916586ed215
xor r8, r13
add r8, rdx
movabs rdx, 0xd349b9a6b8733156
mov rax, qword [rbp + 0x88]
xor rax, rdx
movabs rdx, 0x50c1e5ea4f912dea
xor rdx, rsi
add rdx, r8
add rdx, rax
add rdx, rcx
lea rdx, [rdx + r9*2]
add rdx, 2
mov rcx, r11
mov r8, qword [0x203e3fb8]
mov eax, dword [0x203e3f84]
sub eax, dword [rbp + 0x9c]
cdqe
add rax, r8
call qword [case.0x200b73a7.0]
movzx eax, byte [rbp + 0x9b]
and al, 1
add rsp, 0x128
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.20080930
call fcn.20080930
int3