Function at 0x20242370
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x268
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1d0], xmm6
mov qword [rbp + 0x1c8], 0xfffffffffffffffe
mov qword [rbp + 0x1b0], r9
mov r15, rdx
mov qword [rbp + 0x1b8], rcx
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x178], rax
mov dword [rbp + 0x1c4], r8d
mov eax, r8d
and eax, 0xf
cmp eax, 4
jbe 0x20242444
cmp eax, 7
jae 0x202424eb
cmp eax, 5
jne 0x2024262d
nop
mov rax, qword [rbp + 0x258]
mov rsi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x2024240b
mov rax, qword [rax]
mov qword [rbp + 0x1a0], rax
cmp rsi, 0x10
jae 0x2024296d
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, qword [rbp + 0x1a0]
call fcn.202455d0
mov edi, 0xf
jmp 0x20242cb6
cmp eax, 1
jbe 0x202425b1
cmp eax, 2
mov qword [rbp + 0x1a8], r15
je 0x20242826
cmp eax, 4
jne 0x2024285b
nop
mov eax, dword [0x2053273c]
mov qword [rbp + 0x1b8], rax
mov rcx, qword [rbp + 0x1b0]
call fcn.200786f0
mov rdi, rax
mov rax, qword [r15]
movsxd rcx, dword [rax + 4]
mov rcx, qword [r15 + rcx + 0x28]
xor edx, edx
mov r14, rcx
sub r14, rdi
mov ebx, 0
cmovg rbx, r14
test rcx, rcx
cmovle rbx, rdx
mov qword [rbp + 0x190], r15
movsxd rax, dword [rax + 4]
mov rcx, qword [r15 + rax + 0x48]
test rcx, rcx
je 0x202424ca
nop
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x200c7fcc.0]
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
cmp dword [r15 + rax + 0x10], 0
je 0x20242c51
nop
mov byte [rbp + 0x198], 0
jmp 0x20242f71
cmp eax, 8
jbe 0x20242708
cmp eax, 9
jne 0x202429ae
nop
mov rcx, qword [rbp + 0x1b8]
mov rsi, qword [rcx]
mov r10, qword [rcx + 8]
sub r10, rsi
sar r10, 3
movabs rax, 0xcccccccccccccccd
imul r10, rax
inc r10
mov rcx, qword [rcx + 0x10]
sub rcx, rsi
sar rcx, 3
imul rcx, rax
mov r8, rcx
shr r8, 1
movabs rax, 0x666666666666666
mov rdx, rax
sub rdx, r8
add r8, rcx
cmp r8, r10
mov r9, r10
mov qword [rbp + 0xd0], r10
cmovbe r8, r10
cmp rcx, rdx
cmova r8, rax
cmp r8, rax
nop
mov qword [rbp + 0x108], r8
ja 0x20243e61
mov rdx, r8
lea rcx, [r8*8]
lea rcx, [rcx + rcx*4]
cmp r8, 0x67
jb 0x20242dbf
cmp rdx, rax
je 0x20243e75
add rcx, 0x27
call fcn.20077cb0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x202432b9
test eax, eax
je 0x202427a0
nop
mov rdi, qword [r15 + 0x10]
movabs rax, 0x7fffffffffffffff
xor rax, rdi
cmp rax, qword [rbp + 0x250]
jb 0x20243c93
lea r14, [r15 + 0x10]
nop
mov rax, qword [rbp + 0x250]
add rax, rdi
lea r13, [r15 + 0x18]
mov r12, qword [r15 + 0x18]
mov qword [rbp + 0x178], rax
test rax, rax
js 0x20242914
mov rax, r12
shr rax, 1
movabs rbx, 0x7fffffffffffffff
mov rcx, rax
xor rcx, rbx
cmp rcx, r12
jae 0x20242aaf
movabs rcx, 0x8000000000000000
jmp 0x20242ae3
nop
mov eax, dword [0x2053273c]
mov edx, 0x8ffd1624
xor rdx, rax
mov dword [rsp + 0x28], 0x4c93d111
xor ecx, ecx
mov rsi, qword [rbp + 0x1b8]
mov r8, rsi
call fcn.202455d0
lea rcx, [rsi + 8]
mov qword [rsi + 8], 0
mov byte [rsi + 0x10], 0
lea r12, [rsi + 0x18]
mov qword [rsi + 0x18], 0
mov byte [rsi + 0x20], 0
lea r8, [rsi + 0x28]
mov qword [rsi + 0x28], 0
mov word [rsi + 0x30], 0
lea r9, [rsi + 0x38]
mov qword [rsi + 0x38], 0
mov word [rsi + 0x40], 0
lea r10, [rsi + 0x48]
mov qword [rsi + 0x48], 0
mov byte [rsi + 0x50], 0
lea r11, [rsi + 0x58]
mov qword [rsi + 0x58], 0
mov byte [rsi + 0x60], 0
mov rdx, qword [rbp + 0x258]
test rdx, rdx
je 0x20243c98
nop
mov qword [rbp + 0x100], r11
mov qword [rbp + 0xf8], r10
mov qword [rbp + 0xf0], r9
mov qword [rbp + 0xe8], r8
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xd8], rcx
mov rcx, rsi
call fcn.20077dd0
mov rax, qword [rbp + 0x1b8]
jmp 0x20243c57
cmp eax, 7
jne 0x20242a54
nop
mov rcx, qword [rbp + 0x1b8]
mov rdi, qword [rcx + 0x10]
movabs rsi, 0x7fffffffffffffff
mov rax, rdi
xor rax, rsi
mov r12, qword [rbp + 0x1b0]
cmp rax, r12
jb 0x20243e57
add r12, rdi
mov r8, qword [rcx + 0x18]
movabs rcx, 0x8000000000000000
js 0x20242e9f
mov rax, r8
shr rax, 1
mov rdx, rax
xor rdx, rsi
mov r14, r8
cmp rdx, r8
jb 0x20242ea2
mov rcx, r12
or rcx, 0xf
add rax, r14
cmp rcx, rax
mov rsi, rax
cmova rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x20243ab3
cmp rcx, 0xffffffffffffffd9
jb 0x20242ea2
call fcn.20067d20
nop
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rcx]
movsxd rdi, dword [rax + 4]
mov rax, qword [rcx + rdi + 0x40]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x40], rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x200c7fcc.0]
lea rcx, [rbp - 0x48]
call fcn.2006d390
nop
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov rcx, rax
mov dl, 0xa
mov rax, r8
call qword [case.0x200c7fcc.0]
mov r14d, eax
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x20243be3
lea r8, [rbp + 0x148]
lea r13, [rbp + 0x110]
xor ecx, ecx
xor ebx, ebx
mov r12, qword [rbp + 0x1b0]
test byte [rbp + 0x1c4], 0x20
je 0x20242946
mov r14, r8
jmp 0x20242ae3
nop
mov rax, qword [rbp + 0x1b0]
mov rbx, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
je 0x20242c2f
xorps xmm0, xmm0
movups xmmword [rbx + 0x18], xmm0
mov rsi, qword [r15 + 0x18]
cmp qword [r15 + 0x20], 0x10
jb 0x20242deb
mov rdi, qword [r15 + 8]
jmp 0x20242def
lea rbx, [rbp - 0x48]
mov rcx, rbx
mov edx, 1
call fcn.201103f0
movzx edx, byte [rbp + 0x1b8]
nop
mov qword [rsp + 0x28], rbx
mov r8d, 0x5ba117b8
call fcn.20242370
lea rcx, [rbp - 0x40]
lea r14, [rbp + 0x110]
mov rdx, r14
call fcn.200a96e0
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
mov rdi, qword [rbp + 0x120]
cmp qword [rbp + 0x128], 0x10
jb 0x202428b9
mov r14, qword [rbp + 0x110]
lea r12, [rbp + 0x150]
cmp rdi, 0x10
jae 0x20242bd8
nop
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, r14
call fcn.202455d0
mov qword [rbp + 0x160], rdi
lea r14, [rbp + 0x168]
mov qword [rbp + 0x168], 0xf
lea rax, [0x20411008]
mov qword [rbp + 0x148], rax
mov rax, r12
jmp 0x2024395b
mov r8, r14
lea rdx, [rbp - 0x48]
movabs rbx, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
mov rax, qword [rbp + 0x1b0]
mov r14d, eax
test byte [rbp + 0x1c4], 0x20
jne 0x2024281e
nop
mov rax, qword [rdx]
mov rax, qword [rax + 0x10]
mov rcx, rdx
call qword [case.0x200c7fcc.0]
test rax, rax
nop
mov r15, qword [rbp + 0x258]
jne 0x2024322a
jmp 0x20243be3
mov rax, rsi
or rax, 0xf
movabs rdi, 0x7fffffffffffffff
cmp rax, rdi
cmovb rdi, rax
cmp rax, 0xfff
jb 0x20242c88
lea rcx, [rdi + 0x28]
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x20242c91
movabs rax, 0x666666666666666
mov r8, qword [rbp + 0x250]
cmp r8, rax
ja 0x20243e66
nop
mov rcx, qword [rbp + 0x1b0]
lea rdi, [rcx + 8]
lea rdx, [rcx + 0x10]
mov qword [rbp + 0x138], rdx
mov rbx, qword [rcx]
mov rcx, qword [rcx + 0x10]
sub rcx, rbx
sar rcx, 3
movabs rdx, 0xcccccccccccccccd
imul rdx, rcx
mov r14, rdx
shr r14, 1
mov rcx, rax
sub rcx, r14
add r14, rdx
cmp r14, r8
cmovbe r14, r8
cmp rdx, rcx
cmova r14, rax
test rbx, rbx
je 0x20243b53
nop
mov r12, qword [rdi]
cmp rbx, r12
jne 0x20243ae0
test byte [rbp + 0x1c4], 0x20
je 0x20243afb
mov esi, dword [0x20532740]
lea rcx, [rbp + 0x148]
mov rax, qword [rbp + 0x258]
jmp 0x20243fad
nop
mov esi, dword [0x20532744]
mov rcx, qword [rbp + 0x258]
mov qword [rbp + 0x190], rcx
mov rax, qword [rcx]
movsxd rax, dword [rax + 4]
mov rcx, qword [rcx + rax + 0x48]
test rcx, rcx
je 0x20242a88
nop
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x200c7fcc.0]
nop
mov rdx, qword [rbp + 0x258]
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
cmp dword [rdx + rax + 0x10], 0
je 0x20242e62
nop
mov byte [rbp + 0x198], 0
jmp 0x20243163
nop
mov rcx, qword [rbp + 0x178]
or rcx, 0xf
add rax, r12
cmp rcx, rax
mov rbx, rax
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x20242dd5
cmp rcx, 0xffffffffffffffd9
jae 0x20243f27
add rcx, 0x27
call fcn.20077cb0
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
nop
mov rax, qword [rbp + 0x178]
mov qword [r14], rax
mov qword [r13], rbx
cmp r12, 0x10
jb 0x20242b8c
nop
mov rbx, qword [r15]
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0xc1e30693
mov rcx, rdi
mov rdx, rbx
call fcn.202455d0
add rdi, rsi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0xc1e30693
mov r14, qword [rbp + 0x258]
mov rcx, r14
mov rdx, qword [rbp + 0x1b8]
call fcn.202455d0
mov byte [r14 + rdi], 0
lea rdx, [r12 + 1]
cmp rdx, 0x1000
jb 0x20242b82
nop
mov rax, qword [rbx - 8]
add rbx, 0xfffffffffffffff8
sub rbx, rax
cmp rbx, 0x20
jae 0x20243e6b
add r12, 0x28
mov rdx, r12
mov rbx, rax
mov rcx, rbx
call fcn.2007bac0
jmp 0x20242bcf
nop
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0xc1e30693
mov rcx, rdi
mov rdx, r15
call fcn.202455d0
add rdi, rsi
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0xc1e30693
mov rbx, qword [rbp + 0x258]
mov rcx, rbx
mov rdx, qword [rbp + 0x1b8]
call fcn.202455d0
mov byte [rbx + rdi], 0
nop
mov qword [r15], rsi
jmp 0x202438ff
cmp byte [rbp + 0x1c4], 0
js 0x20242c2f
mov rax, rdi
or rax, 0xf
movabs rsi, 0x7fffffffffffffff
cmp rax, rsi
cmovb rsi, rax
cmp rax, 0xffe
jbe 0x20243907
test byte [rbp + 0x1c4], 0x40
jne 0x20243c72
lea rcx, [rsi + 0x28]
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x20243910
nop
mov qword [rsp + 0x20], rbx
mov rcx, qword [rbp + 0x1b0]
mov r8d, 0x4ad40689
mov r9, r15
call fcn.20242370
xor eax, eax
jmp 0x20243c57
nop
mov rcx, qword [r15 + rax + 0x50]
test rcx, rcx
je 0x20242f69
cmp rcx, r15
je 0x20242f69
call fcn.200a63d0
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
cmp dword [r15 + rax + 0x10], 0
sete byte [rbp + 0x198]
jmp 0x20242f71
lea rcx, [rdi + 1]
call fcn.20077cb0
nop
mov qword [rbp + 0xb0], rax
lea rcx, [rsi + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, qword [rbp + 0x1a0]
call fcn.202455d0
nop
mov qword [rbp + 0xc0], rsi
mov qword [rbp + 0xc8], rdi
lea rdi, [rbp + 0xa0]
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, r15
call fcn.202455d0
lea rsi, [rbp - 0x48]
lea r8, [rbp + 0xb0]
mov rcx, rsi
mov rdx, rdi
call fcn.20069790
cmp qword [rbp - 0x30], 0x10
jb 0x20242d07
mov rsi, qword [rbp - 0x48]
lea rax, [0x20411218]
mov rdi, qword [rbp + 0x250]
mov qword [rdi], rax
lea rdx, [rdi + 8]
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
mov qword [rbp + 0x148], rsi
mov byte [rbp + 0x150], 1
lea rcx, [rbp + 0x148]
call fcn.20077d00
lea rax, [0x204118c8]
mov qword [rdi], rax
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x20242d88
nop
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x20242d83
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x20243e7a
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2007bac0
lea rax, [0x20411888]
mov rsi, qword [rbp + 0x250]
mov qword [rsi], rax
lea rax, [rsi + 0x18]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, r15
call fcn.202455d0
mov rax, rsi
jmp 0x20243c57
test rdx, rdx
je 0x202432b7
call fcn.20077cb0
mov rcx, rax
jmp 0x202432b9
test rcx, rcx
je 0x20243aa5
call fcn.20077cb0
mov rsi, rax
jmp 0x20242af8
lea rdi, [r15 + 8]
lea r15, [rbx + 8]
cmp rsi, 0xf
ja 0x20242e1f
nop
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, rdi
call fcn.202455d0
mov r14d, 0xf
jmp 0x20243c36
test dword [rbp + 0x1c4], 0x100
jne 0x2024311a
lea r12, [rbp + 0x190]
lea rbx, [rbp + 0xb0]
lea rsi, [rbp + 0x190]
lea r14, [rbp + 0x148]
xor edx, edx
mov rdi, qword [rbp + 0x258]
xor ecx, ecx
mov r15, qword [rbp + 0x1a8]
jmp 0x20243a1c
nop
mov rcx, qword [rdx + rax + 0x50]
test rcx, rcx
je 0x2024315b
cmp rcx, rdx
je 0x2024315b
call fcn.200a63d0
nop
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx]
movsxd rax, dword [rax + 4]
cmp dword [rcx + rax + 0x10], 0
sete byte [rbp + 0x198]
jmp 0x20243163
mov r14, r8
add rcx, 0x27
call fcn.20077cb0
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
nop
mov rax, qword [rbp + 0x1b8]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rsi
cmp r14, 0x10
jb 0x20242f2b
nop
mov rsi, qword [rax]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0xc1e30693
mov rcx, rdi
mov rdx, rsi
call fcn.202455d0
mov byte [rbx + rdi], r15b
mov byte [rbx + rdi + 1], 0
lea rdx, [r14 + 1]
cmp rdx, 0x1000
jb 0x20243264
nop
mov rax, qword [rsi - 8]
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x178], rax
sub rsi, rax
cmp rsi, 0x20
jae 0x20243f3b
mov r15, r14
xor r14d, r14d
jmp 0x20243249
test byte [rbp + 0x1c4], 0x10
jne 0x20243e7f
nop
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0xc1e30693
mov rcx, rdi
mov rsi, qword [rbp + 0x1b8]
mov rdx, rsi
call fcn.202455d0
mov rax, rsi
mov byte [rbx + rdi], r15b
mov byte [rbx + rdi + 1], 0
jmp 0x20243274
nop
mov byte [rbp + 0x198], 1
nop
cmp byte [rbp + 0x198], 0
je 0x20243110
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov ecx, 0x1c0
and ecx, dword [r15 + rax + 0x18]
cmp ecx, 0x40
je 0x2024302c
test rbx, rbx
jle 0x2024302c
xor ebx, ebx
jmp 0x20242fd3
dec r8d
mov dword [rdx], r8d
mov rcx, qword [rcx + 0x40]
mov rdx, qword [rcx]
lea r8, [rdx + 1]
mov qword [rcx], r8
mov byte [rdx], al
lea rax, [r14 - 1]
cmp r14, 1
mov r14, rax
jle 0x2024302c
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov rcx, qword [r15 + rax + 0x48]
movzx eax, byte [r15 + rax + 0x58]
mov rdx, qword [rcx + 0x40]
cmp qword [rdx], 0
je 0x20242ffd
nop
mov rdx, qword [rcx + 0x58]
mov r8d, dword [rdx]
test r8d, r8d
jg 0x20242fb0
movzx edx, al
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8, qword [case.0x200c7fcc.0]
mov dword [rbp + 0x184], 0
call r8
cmp eax, 0xffffffff
mov r15, qword [rbp + 0x1a8]
jne 0x20242fc6
jmp 0x20243106
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov rcx, qword [0x20572ca0]
add rcx, r15
mov rcx, qword [rax + rcx + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
mov r9, qword [case.0x200c7fcc.0]
mov dword [rbp + 0x184], 0
nop
mov rdx, qword [rbp + 0x1b0]
mov r8, rdi
call r9
xor esi, esi
cmp rax, rdi
setne sil
shl esi, 2
cmp rax, rdi
jne 0x20243859
test rbx, rbx
mov r15, qword [rbp + 0x1a8]
jg 0x202430b6
jmp 0x20243860
dec r8d
mov dword [rdx], r8d
mov rcx, qword [rcx + 0x40]
mov rdx, qword [rcx]
lea r8, [rdx + 1]
mov qword [rcx], r8
mov byte [rdx], al
lea rax, [rbx - 1]
cmp rbx, 1
mov rbx, rax
jle 0x20243860
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov rcx, qword [r15 + rax + 0x48]
movzx eax, byte [r15 + rax + 0x58]
mov rdx, qword [rcx + 0x40]
cmp qword [rdx], 0
je 0x202430e0
nop
mov rdx, qword [rcx + 0x58]
mov r8d, dword [rdx]
test r8d, r8d
jg 0x2024308f
movzx edx, al
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8, qword [case.0x200c7fcc.0]
mov dword [rbp + 0x184], esi
call r8
cmp eax, 0xffffffff
mov r15, qword [rbp + 0x1a8]
jne 0x202430a5
mov esi, 4
jmp 0x20243860
mov esi, 4
jmp 0x20243871
mov rax, rsi
or rax, 0xf
movabs r14, 0x7fffffffffffffff
cmp rax, r14
cmovb r14, rax
cmp rax, 0xfff
jb 0x20243c03
lea rcx, [r14 + 0x28]
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x20243c19
nop
mov byte [rbp + 0x198], 1
nop
cmp byte [rbp + 0x198], 0
je 0x202431ad
nop
mov r8, qword [rbp + 0x258]
mov rax, qword [r8]
movsxd rax, dword [rax + 4]
mov rcx, qword [r8 + rax + 0x28]
lea rdx, [rcx - 1]
xor edi, edi
cmp rcx, 2
mov r14d, 0
cmovge r14, rdx
mov ecx, 0x1c0
and ecx, dword [r8 + rax + 0x18]
cmp ecx, 0x40
jne 0x20243f59
jmp 0x20243fdc
xor edi, edi
mov r15, qword [rbp + 0x258]
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov qword [r15 + rax + 0x28], 0
mov rax, qword [r15]
movsxd rcx, dword [rax + 4]
or edi, dword [r15 + rcx + 0x10]
xor eax, eax
cmp qword [r15 + rcx + 0x48], 0
sete al
shl eax, 2
and edi, 0x17
or edi, eax
mov dword [r15 + rcx + 0x10], edi
mov qword [rbp + 0x178], rcx
and edi, dword [r15 + rcx + 0x14]
jne 0x20243d93
xor esi, 0x1bbc18f5
mov dword [rsp + 0x28], 0x6e778d40
mov rcx, rsi
call fcn.202455d0
test al, 1
jne 0x2024328a
test byte [rbp + 0x1c4], 0x10
jne 0x2024327d
lea rax, [rbp + 0xb0]
mov r14d, r15d
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [case.0x200c7fcc.0]
lea rbx, [rbp + 0x148]
test byte [rbp + 0x1c4], 0x40
jne 0x20243be3
add r15, 0x28
mov rdx, r15
mov rsi, qword [rbp + 0x178]
mov rcx, rsi
call fcn.2007bac0
nop
mov rax, qword [rbp + 0x1b8]
nop
mov qword [rax], rbx
jmp 0x20243c57
nop
mov rcx, qword [rbp + 0x190]
call fcn.200a6660
nop
mov rax, qword [rbp + 0x190]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov rcx, qword [rax + rcx + 0x48]
test rcx, rcx
je 0x202432b2
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
nop
call qword [case.0x200c7fcc.0]
jmp 0x202438ff
xor ecx, ecx
nop
mov rax, qword [rbp + 0x250]
sub rax, rsi
xorps xmm0, xmm0
mov qword [rbp + 0x188], rcx
mov r15, rax
movups xmmword [rcx + rax + 0x18], xmm0
mov rax, qword [rbp + 0x1b0]
mov rsi, qword [rax + 0x18]
cmp qword [rax + 0x20], 0x10
jb 0x202432ee
mov rdi, qword [rax + 8]
jmp 0x202432f2
lea rdi, [rax + 8]
mov rax, qword [rbp + 0x188]
mov rcx, r15
lea rdx, [rax + r15]
add rdx, 0x28
mov qword [rbp + 0x140], rdx
lea r14, [rax + r15]
add r14, 8
cmp rsi, 0xf
ja 0x2024333b
nop
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, rdi
call fcn.202455d0
mov ebx, 0xf
jmp 0x202433b7
mov rax, rsi
or rax, 0xf
movabs rbx, 0x7fffffffffffffff
cmp rax, rbx
cmovb rbx, rax
cmp rax, 0xfff
jb 0x20243383
lea rcx, [rbx + 0x28]
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x170], rax
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x2024339a
lea rcx, [rbx + 1]
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x170], rax
call fcn.20077cb0
nop
mov qword [r14], rax
lea rcx, [rsi + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, rdi
call fcn.202455d0
nop
add r15, qword [rbp + 0x188]
mov qword [r15 + 0x18], rsi
mov qword [r15 + 0x20], rbx
lea rax, [0x20411008]
mov qword [rbp + 0x1a0], r15
mov qword [r15], rax
mov rax, qword [rbp + 0x1b8]
mov r12, qword [rax]
mov rbx, qword [rax + 8]
mov rax, qword [rbp + 0x250]
cmp rbx, rax
je 0x20243685
cmp r12, rax
je 0x20243533
xor ebx, ebx
xorps xmm6, xmm6
lea rax, [rbp + 0x110]
mov qword [rbp + 0x138], rax
xor eax, eax
mov rdi, r12
mov rsi, qword [rbp + 0x188]
jmp 0x20243478
nop
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, qword [rbp + 0x130]
call fcn.202455d0
mov r15d, 0xf
nop
mov qword [rsi + 0x18], r13
mov qword [rsi + 0x20], r15
lea rax, [0x20411008]
mov qword [rsi], rax
add rsi, 0x28
add rdi, 0x28
mov rax, qword [rbp + 0x1a8]
add rax, 0xffffffffffffffd8
cmp rdi, qword [rbp + 0x250]
je 0x20243533
nop
movups xmmword [rsi + 0x18], xmm6
cmp qword [rdi + 0x20], 0x10
mov qword [rbp + 0x1a8], rax
jb 0x202434a0
mov rax, qword [rdi + 8]
jmp 0x202434a4
lea rax, [rdi + 8]
mov qword [rbp + 0x130], rax
lea r14, [rsi + 8]
mov r13, qword [rdi + 0x18]
cmp r13, 0xf
jbe 0x20243420
test byte [rbp + 0x1c4], 0x10
jne 0x20243ac9
mov rax, r13
or rax, 0xf
movabs r15, 0x7fffffffffffffff
cmp rax, r15
cmovb r15, rax
cmp rax, 0xfff
jb 0x20243504
lea rcx, [r15 + 0x28]
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x2024350d
lea rcx, [r15 + 1]
call fcn.20077cb0
nop
mov qword [r14], rax
lea rcx, [r13 + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, qword [rbp + 0x130]
call fcn.202455d0
jmp 0x20243445
nop
cmp byte [0x20572768], 0
nop
mov rcx, qword [rbp + 0x250]
jne 0x2024378d
nop
mov rax, qword [rbp + 0x1b8]
mov rdi, qword [rax + 8]
cmp rdi, rcx
je 0x2024378d
xor r13d, r13d
xorps xmm6, xmm6
movabs rbx, 0x7fffffffffffffff
jmp 0x202435cb
nop
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, rsi
call fcn.202455d0
mov r15d, 0xf
nop
mov rax, qword [rbp + 0x1a0]
mov qword [rax + r13 + 0x40], r14
mov qword [rax + r13 + 0x48], r15
lea rcx, [0x20411008]
mov qword [rax + r13 + 0x28], rcx
mov rcx, qword [rbp + 0x250]
lea rax, [rcx + r13]
add rax, 0x28
add r13, 0x28
cmp rax, rdi
je 0x2024378d
nop
mov rax, qword [rbp + 0x1a0]
movups xmmword [rax + r13 + 0x40], xmm6
cmp qword [rcx + r13 + 0x20], 0x10
jb 0x202435f0
mov rsi, qword [rcx + r13 + 8]
jmp 0x202435f8
lea rsi, [rcx + r13]
add rsi, 8
mov rax, qword [rbp + 0x1a0]
lea r12, [rax + r13]
add r12, 0x30
mov r14, qword [rcx + r13 + 0x18]
cmp r14, 0xf
jbe 0x20243570
nop
mov qword [rbp + 0x1b0], r13
mov rax, r14
or rax, 0xf
cmp rax, rbx
mov r15, rbx
cmovb r15, rax
cmp rax, 0xfff
jb 0x20243651
lea rcx, [r15 + 0x28]
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x2024365a
lea rcx, [r15 + 1]
call fcn.20077cb0
nop
mov qword [r12], rax
lea rcx, [r14 + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, rsi
call fcn.202455d0
nop
mov r13, qword [rbp + 0x1b0]
jmp 0x20243591
cmp r12, rbx
je 0x20243798
xor eax, eax
xorps xmm6, xmm6
mov r14, qword [rbp + 0x188]
jmp 0x202436f0
nop
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, rsi
call fcn.202455d0
mov r13d, 0xf
nop
mov qword [r14 + 0x18], r15
mov qword [r14 + 0x20], r13
lea rax, [0x20411008]
mov qword [r14], rax
add r14, 0x28
add r12, 0x28
mov rax, qword [rbp + 0x1b0]
add rax, 0xffffffffffffffd8
cmp r12, rbx
je 0x2024378d
nop
movups xmmword [r14 + 0x18], xmm6
cmp qword [r12 + 0x20], 0x10
mov qword [rbp + 0x1b0], rax
jb 0x20243710
mov rsi, qword [r12 + 8]
jmp 0x20243715
lea rsi, [r12 + 8]
lea rdi, [r14 + 8]
mov r15, qword [r12 + 0x18]
cmp r15, 0xf
jbe 0x202436a0
mov rax, r15
or rax, 0xf
movabs r13, 0x7fffffffffffffff
cmp rax, r13
cmovb r13, rax
cmp rax, 0xfff
jb 0x20243762
lea rcx, [r13 + 0x28]
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x2024376b
lea rcx, [r13 + 1]
call fcn.20077cb0
nop
mov qword [rdi], rax
lea rcx, [r15 + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, rsi
call fcn.202455d0
jmp 0x202436c1
nop
mov rax, qword [rbp + 0x1b8]
mov r12, qword [rax]
test r12, r12
je 0x20243814
nop
mov rax, qword [rbp + 0x1b8]
mov rsi, qword [rax + 8]
cmp r12, rsi
je 0x202437cc
nop
nop
mov rax, qword [r12]
mov rax, qword [rax]
mov rcx, r12
xor edx, edx
call qword [case.0x200c7fcc.0]
add r12, 0x28
cmp r12, rsi
jne 0x202437b0
nop
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rax]
mov rdx, qword [rax + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x2024380f
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x20243f36
nop
mov rcx, qword [0x20572ca0]
add rdx, rcx
add rdx, 0x27
mov rcx, rax
call fcn.2007bac0
nop
mov rcx, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x188]
mov qword [rcx], rdx
mov rax, qword [rbp + 0xd0]
lea rax, [rax + rax*4]
lea rax, [rdx + rax*8]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x108]
lea rax, [rax + rax*4]
lea rax, [rdx + rax*8]
mov qword [rcx + 0x10], rax
nop
mov rax, qword [rbp + 0x1a0]
jmp 0x20243c57
mov r15, qword [rbp + 0x1a8]
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov qword [r15 + rax + 0x28], 0
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
or esi, dword [r15 + rax + 0x10]
xor ecx, ecx
cmp qword [r15 + rax + 0x48], 0
sete cl
shl ecx, 2
and esi, 0x17
or esi, ecx
mov dword [r15 + rax + 0x10], esi
and esi, dword [r15 + rax + 0x14]
jne 0x20243cc3
nop
mov rcx, qword [rbp + 0x1b8]
xor ecx, 0xf353cd66
mov dword [rsp + 0x28], 0xe6d84cc0
call fcn.202455d0
cmp byte [0x20572768], 0
jne 0x202438d7
and eax, 1
jne 0x202438d7
nop
mov rcx, qword [rbp + 0x190]
call fcn.200a6660
nop
mov rax, qword [rbp + 0x190]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov rcx, qword [rax + rcx + 0x48]
test rcx, rcx
je 0x202438ff
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
nop
call qword [case.0x200c7fcc.0]
mov rax, r15
jmp 0x20243c57
lea rcx, [rsi + 1]
call fcn.20077cb0
nop
mov qword [rbp + 0x150], rax
lea rcx, [rdi + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, r14
call fcn.202455d0
mov qword [rbp + 0x160], rdi
lea r14, [rbp + 0x168]
mov qword [rbp + 0x168], rsi
lea rax, [0x20411008]
mov qword [rbp + 0x148], rax
mov rax, qword [rbp + 0x150]
nop
mov r8, qword [rbp + 0x258]
lea rbx, [r8 + 8]
mov r9, qword [r8 + 0x18]
mov rcx, qword [r8 + 0x20]
mov rdx, rcx
sub rdx, r9
cmp rdx, rdi
jae 0x20243990
nop
mov qword [rsp + 0x20], rdi
mov rcx, rbx
mov rdx, rdi
mov r9, rax
call fcn.200ca6c0
jmp 0x202439c3
lea rsi, [r9 + rdi]
mov qword [r8 + 0x18], rsi
cmp rcx, 0x10
jb 0x202439a9
mov rcx, qword [rbp + 0x258]
mov rbx, qword [rcx + 8]
add r9, rbx
mov dword [rsp + 0x28], 0xb74b478d
mov rdx, rax
mov r8, rdi
call fcn.202455d0
mov byte [rbx + rsi], 0
lea rbx, [rbp + 0x160]
lea rsi, [rbp + 0x128]
mov rax, qword [rbp + 0x168]
cmp rax, 0x10
jb 0x20243a21
nop
mov rcx, qword [rbp + 0x150]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x20243a1c
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x20243f40
nop
mov rcx, qword [0x20572ca0]
lea rdx, [rax + rcx]
add rdx, 0x28
mov rcx, r8
call fcn.2007bac0
nop
mov qword [rbx], 0
mov qword [r14], 0xf
mov byte [r12], 0
mov rax, qword [rsi]
cmp rax, 0x10
jb 0x20243a7a
nop
mov rcx, qword [rbp + 0x110]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x20243a73
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x20243f31
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.2007bac0
jmp 0x20243a83
test byte [rbp + 0x1c4], 0x10
jne 0x20243a99
lea rcx, [rbp - 0x48]
call fcn.201109d0
nop
mov rax, qword [rbp + 0x258]
jmp 0x20243c57
lea r14, [rbp + 0x190]
jmp 0x202425dc
mov rbx, 0xffffffffffffffff
xor esi, esi
jmp 0x20242af8
test rcx, rcx
je 0x20243c85
call fcn.20077cb0
mov rbx, rax
jmp 0x20242eb7
mov r14, qword [rbp + 0x250]
lea rdi, [rbp + 0x110]
nop word [rax + rax]
nop
mov rax, qword [rbx]
mov rax, qword [rax]
mov rcx, rbx
xor edx, edx
call qword [case.0x200c7fcc.0]
add rbx, 0x28
cmp rbx, r12
jne 0x20243ae0
nop
mov rax, qword [rbp + 0x138]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x1b0]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x20243b39
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x20243f2c
add rdx, 0x27
mov rcx, rax
call fcn.2007bac0
xorps xmm0, xmm0
mov rax, qword [rbp + 0x1b0]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
movabs rax, 0x666666666666667
cmp r14, rax
jae 0x20243e5c
lea rax, [r14*8]
lea rcx, [rax + rax*4]
cmp r14, 0x67
jb 0x20243ba5
movabs rax, 0x666666666666666
cmp r14, rax
je 0x20243e70
add rcx, 0x27
call fcn.20077cb0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x20243bbc
test r14, r14
je 0x20243bba
cmp byte [rbp + 0x1c4], 0
js 0x20243be0
call fcn.20077cb0
jmp 0x20243bbc
xor eax, eax
nop
mov rcx, qword [rbp + 0x1b0]
mov qword [rcx], rax
mov qword [rdi], rax
lea rcx, [r14 + r14*4]
lea rax, [rax + rcx*8]
mov rcx, qword [rbp + 0x138]
mov qword [rcx], rax
xor eax, eax
jmp 0x20243c57
xor r14d, r14d
nop
mov rsi, qword [rbp + 0x1b8]
mov rcx, rsi
mov edx, r14d
call fcn.2022f440
mov rcx, rsi
call fcn.200a63d0
mov rax, rsi
jmp 0x20243c57
lea rcx, [r14 + 1]
call fcn.20077cb0
test byte [rbp + 0x1c4], 0x20
je 0x20243e57
nop
mov qword [r15], rax
lea rcx, [rsi + 1]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xc1e30693
mov rdx, rdi
call fcn.202455d0
nop
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], r14
lea rax, [0x20411008]
mov qword [rbx], rax
mov rax, qword [rbp + 0x1b0]
add qword [rax + 8], 0x28
xor eax, eax
movaps xmm6, xmmword [rbp + 0x1d0]
add rsp, 0x268
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rsi, [rbp + 0xa0]
mov r12, qword [rbp + 0x250]
jmp 0x20242b0d
mov rsi, 0xffffffffffffffff
xor ebx, ebx
jmp 0x20242eb7
call fcn.200688b0
nop
movzx eax, byte [0x20532140]
cmp al, 0x5e
je 0x20243ef7
mov bl, 0xa4
mov al, 6
lock cmpxchg byte [0x20532140], bl
je 0x20243ea3
cmp al, 0x5e
jne 0x20243caa
jmp 0x20243ef7
nop
mov rbx, qword [rbp + 0x1b8]
mov rdx, rbx
xor rdx, 0x425a1d6b
mov dword [rsp + 0x28], 0xf2955f1f
call fcn.202455d0
mov rdx, rbx
xor rdx, 0x45cd1c4
mov dword [rsp + 0x28], 0x43059609
call fcn.202455d0
test sil, 2
lea rax, [0x205320c0]
lea rdi, [0x205320a0]
cmove rdi, rax
xor ebx, 0x27125bb9
mov dword [rsp + 0x28], 0xd60d4197
mov rcx, rbx
call fcn.202455d0
test sil, 4
lea rsi, [0x20532080]
cmove rsi, rdi
lea rdi, [rbp + 0x110]
mov rcx, rdi
mov edx, 1
call fcn.200693e0
lea rbx, [rbp + 0x148]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, rdi
call fcn.202455d0
lea rcx, [rbp - 0x48]
mov rdx, rbx
mov r8, rsi
call fcn.2023fb30
lea rax, [0x204116e8]
mov qword [rbp - 0x48], rax
lea rdx, [0x2046c8b8]
lea rcx, [rbp - 0x48]
call fcn.20077ce0
mov edx, esi
xor edx, 0xaab5c8f8
mov dword [rsp + 0x28], 0xf2955f1f
call fcn.202455d0
mov edx, esi
xor edx, 0xecb30457
mov dword [rsp + 0x28], 0x43059609
call fcn.202455d0
test dil, 2
lea rax, [0x205320c0]
lea rbx, [0x205320a0]
cmove rbx, rax
xor esi, 0xcffd8e2a
mov dword [rsp + 0x28], 0x560fb997
mov rcx, rsi
call fcn.202455d0
test dil, 4
lea rsi, [0x20532080]
cmove rsi, rbx
lea rdi, [rbp + 0x110]
mov rcx, rdi
mov edx, 1
call fcn.200693e0
lea rbx, [rbp + 0x148]
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0xc1e30693
mov ecx, 0x10
mov rdx, rdi
call fcn.202455d0
lea rcx, [rbp - 0x48]
mov rdx, rbx
mov r8, rsi
call fcn.2023fb30
lea rax, [0x204116e8]
mov qword [rbp - 0x48], rax
lea rdx, [0x2046c8b8]
lea rcx, [rbp - 0x48]
call fcn.20077ce0
call fcn.200688b0
call fcn.20067d20
call fcn.20067d20
call fcn.2023fa80
call fcn.20077cd0
call fcn.20067d20
call fcn.20067d20
call fcn.20077cd0
lea rcx, [rbp - 0x48]
lea r12, [rbp - 0x48]
lea r8, [rbp + 0xa0]
lea r9, [rbp + 0x148]
lea r10, [rbp + 0x110]
lea r11, [rbp + 0x148]
xor eax, eax
lea rsi, [0x20532130]
lea rdi, [0x20420090]
mov ebx, eax
neg ebx
and ebx, 0xe
movzx r14d, byte [rax + rsi]
movzx r15d, byte [rax + rsi + 1]
xor r14b, byte [rbx + rdi]
xor r14b, 0xe6
mov byte [rax + rsi], r14b
mov rbx, rax
xor rbx, 0xf
xor r15b, byte [rbx + rdi]
xor r15b, 0xe6
mov byte [rax + rsi + 1], r15b
add rax, 2
cmp rax, 0x10
jne 0x20243eb3
mov al, 0x5e
xchg byte [0x20532140], al
nop
mov qword [rbp + 0x100], r11
mov qword [rbp + 0xf8], r10
mov qword [rbp + 0xf0], r9
mov qword [rbp + 0xe8], r8
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xd8], rcx
call fcn.20240e50
call fcn.20067d20
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
nop
mov esi, dword [rbp + 0x184]
nop
mov r15, qword [rbp + 0x1a8]
jmp 0x20243871
test edi, edi
jne 0x20243fd8
test r14, r14
je 0x20243fd8
nop
mov rdx, qword [rbp + 0x258]
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
mov rcx, qword [rdx + rax + 0x48]
movzx eax, byte [rdx + rax + 0x58]
mov rdx, qword [rcx + 0x40]
cmp qword [rdx], 0
je 0x20243fad
nop
mov rdx, qword [rcx + 0x58]
mov r8d, dword [rdx]
test r8d, r8d
jle 0x20243fad
movzx eax, al
dec r8d
mov dword [rdx], r8d
mov rcx, qword [rcx + 0x40]
mov rdx, qword [rcx]
lea r8, [rdx + 1]
mov qword [rcx], r8
mov byte [rdx], al
jmp 0x20243fc7
movzx edx, al
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8, qword [case.0x200c7fcc.0]
mov dword [rbp + 0x180], esi
call r8
xor edi, edi
cmp eax, 0xffffffff
sete dil
shl edi, 2
dec r14
jmp 0x20243f59
test edi, edi
jne 0x20244050
nop
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx]
movsxd rax, dword [rax + 4]
mov rcx, qword [rcx + rax + 0x48]
mov rax, qword [rcx + 0x40]
cmp qword [rax], 0
je 0x20244020
nop
mov rax, qword [rcx + 0x58]
mov edx, dword [rax]
test edx, edx
jle 0x20244020
dec edx
mov dword [rax], edx
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
mov byte [rcx], r15b
movzx eax, r15b
jmp 0x2024403b
movzx edx, r15b
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8, qword [case.0x200c7fcc.0]
mov dword [rbp + 0x180], esi
call r8
cmp eax, 0xffffffff
sete al
or al, byte [0x20572768]
movzx edi, al
and edi, 1
shl edi, 2
mov r15, qword [rbp + 0x258]
jmp 0x20244086
dec r9d
mov dword [r8], r9d
mov rcx, qword [rcx + 0x40]
mov r8, qword [rcx]
lea r9, [r8 + 1]
mov qword [rcx], r9
mov byte [r8], dl
xor edi, edi
cmp eax, 0xffffffff
sete dil
shl edi, 2
dec r14
test edi, edi
jne 0x202431b6
test r14, r14
jle 0x202431b6
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov rcx, qword [r15 + rax + 0x48]
movzx edx, byte [r15 + rax + 0x58]
movzx eax, dl
mov r8, qword [rcx + 0x40]
cmp qword [r8], 0
je 0x202440c4
nop
mov r8, qword [rcx + 0x58]
mov r9d, dword [r8]
test r9d, r9d
jg 0x20244060
nop
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x18]
mov r9, qword [case.0x200c7fcc.0]
mov dword [rbp + 0x180], esi
mov edx, eax
mov rax, r8
call r9
mov r15, qword [rbp + 0x258]
jmp 0x20244077