Function at 0x201bc540
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], 0xfffffffffffffffe
mov r13, r9
mov rdi, rdx
mov qword [rbp + 0xe8], rcx
mov rsi, qword [rbp + 0x160]
mov eax, r8d
and eax, 0xf
cmp eax, 4
jbe 0x201bc5d6
cmp eax, 8
jbe 0x201bc7a4
mov ebx, r8d
cmp eax, 0xb
jae 0x201bc97a
cmp eax, 9
jne 0x201bcc63
mov rax, qword [rbp + 0x168]
test eax, eax
je 0x201bd144
lea r15, [rbp + 0xd0]
lea r12, [rbp + 0x30]
lea r14, [rbp + 0xb8]
mov dword [rbp + 0xe8], 0
mov rdi, r15
jmp 0x201bd320
test eax, eax
je 0x201bc8b1
cmp eax, 1
jne 0x201bc90d
nop
cmp dword [rbp + 0xe8], 0
nop
mov r15, qword [rbp + 0x168]
je 0x201bc634
lea rax, [0x2046de1c]
mov qword [r15], rax
mov qword [r15 + 0xb8], 0
pxor xmm0, xmm0
movdqu xmmword [r15 + 0xe0], xmm0
mov qword [r15 + 0xf0], 0
lea rax, [0x2046df78]
mov qword [r15 + 0xb0], rax
nop
mov r14d, dword [0x2058d7d8]
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea rbx, [0x2046de30]
mov qword [r15 + rax], rbx
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [r15 + rax - 4], ecx
lea r12, [r15 + 0x10]
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea rcx, [0x2046dfa0]
mov qword [r15 + rax], rcx
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x18]
mov dword [r15 + rax - 4], ecx
mov qword [r15 + 8], 0
mov rax, qword [r15]
movsxd rcx, dword [rax + 4]
add rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.2006f400
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov qword [r15 + rax], rbx
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [r15 + rax - 4], ecx
lea rax, [0x2046e1c8]
mov qword [r15 + 0x10], rax
mov ecx, 0x10
call fcn.200782b0
mov rbx, rax
call fcn.20078390
nop
mov qword [rbx + 8], rax
mov qword [r15 + 0x70], rbx
lea rax, [r15 + 0x18]
lea rcx, [r15 + 0x20]
lea rdx, [r15 + 0x38]
lea r8, [r15 + 0x40]
lea r9, [r15 + 0x58]
lea r10, [r15 + 0x5c]
lea r11, [0x2046e0a8]
mov qword [r15 + 0x10], r11
mov byte [r15 + 0x8c], 0
mov byte [r15 + 0x81], 0
mov qword [r15 + 0x28], rax
mov qword [r15 + 0x30], rcx
mov qword [r15 + 0x48], rdx
mov qword [r15 + 0x50], r8
mov qword [r15 + 0x60], r9
mov qword [r15 + 0x68], r10
mov qword [r15 + 0x58], 0
pxor xmm0, xmm0
movdqu xmmword [r15 + 0x18], xmm0
movdqu xmmword [r15 + 0x38], xmm0
mov qword [r15 + 0x90], 0
mov rax, qword [0x205ebdb0]
mov qword [r15 + 0x84], rax
mov qword [r15 + 0x78], 0
or edi, 1
mov eax, esi
nop
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov edx, 0x9bc9578f
mov r8, r13
mov qword [rbp + 0xe0], r12
mov r9, r12
call fcn.201be6f0
test rax, rax
je 0x201bcda9
mov rsi, qword [rbp + 0x168]
jmp 0x201bdc29
cmp eax, 6
jbe 0x201bc9bc
cmp eax, 8
jne 0x201bcc84
nop
mov rdi, qword [rsi + 0x10]
movabs r14, 0x7fffffffffffffff
mov rax, rdi
xor rax, r14
mov r12, qword [rbp + 0x168]
cmp rax, r12
jb 0x201bdd0f
add r12, rdi
mov r15, qword [rsi + 0x18]
movabs rcx, 0x8000000000000000
js 0x201bc82e
mov rax, r15
shr rax, 1
mov rdx, rax
xor rdx, r14
cmp rdx, r15
jb 0x201bc82e
mov rcx, r12
or rcx, 0xf
add rax, r15
cmp rcx, rax
mov r14, rax
cmova r14, rcx
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x201bd76c
cmp rcx, 0xffffffffffffffd9
jae 0x201bdfa8
add rcx, 0x27
call fcn.200782b0
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
nop
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r14
cmp r15, 0x10
jb 0x201bd11e
nop
mov r14, qword [rsi]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
mov byte [rbx + rdi], r13b
mov byte [rbx + rdi + 1], 0
lea rdx, [r15 + 1]
cmp rdx, 0x1000
jb 0x201bc8a4
nop
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x201bdeda
add r15, 0x28
mov rdx, r15
mov r14, rax
mov rcx, r14
call fcn.20078f20
jmp 0x201bd13b
nop
mov edi, dword [0x2058d7e4]
mov rsi, qword [rbp + 0xe8]
mov qword [rbp + 0xd0], rsi
mov rax, qword [rsi]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsi + rax + 0x48]
test rcx, rcx
nop
mov qword [rbp + 0xc8], rdi
je 0x201bc8ed
nop
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x200c66ec.0]
nop
mov rax, qword [rsi]
movsxd rax, dword [rax + 4]
cmp dword [rsi + rax + 0x10], 0
je 0x201bcc2d
nop
mov byte [rbp + 0xd8], 0
jmp 0x201bce7b
cmp eax, 2
ja 0x201bca64
mov eax, 0xffffffff
test byte [rsi + 0x70], 2
jne 0x201bdae8
cmp dword [rbp + 0xe8], 0xffffffff
je 0x201bd258
nop
mov rcx, qword [rsi + 0x40]
mov r8, qword [rsi + 0x58]
mov rcx, qword [rcx]
mov edx, dword [r8]
test rcx, rcx
je 0x201bd5d9
test edx, edx
jle 0x201bd5d9
dec edx
mov dword [r8], edx
mov rax, qword [rsi + 0x40]
mov rdx, qword [rax]
lea r8, [rdx + 1]
mov qword [rax], r8
mov rax, qword [rbp + 0xe8]
mov byte [rdx], al
inc rcx
mov qword [rsi + 0x68], rcx
jmp 0x201bdae8
jne 0x201bcd17
nop
mov rbx, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x201bc98f
mov rdi, qword [rdi]
cmp rbx, 0x10
jae 0x201bcfdb
lea rdx, [rbp + 0x30]
mov r8d, 0x10
mov rcx, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
mov r14d, 0xf
jmp 0x201bd174
cmp eax, 5
jne 0x201bcd67
nop
mov edx, dword [0x2058d7d8]
xor rdx, 0x1542f3a2
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov r9d, 0xe413fcd7
call fcn.201c1b00
mov qword [r13 + 8], 0
mov byte [r13 + 0x10], 0
mov qword [r13 + 0x18], 0
mov byte [r13 + 0x20], 0
mov qword [r13 + 0x28], 0
mov word [r13 + 0x30], 0
mov qword [r13 + 0x38], 0
mov word [r13 + 0x40], 0
mov qword [r13 + 0x48], 0
mov byte [r13 + 0x50], 0
mov qword [r13 + 0x58], 0
mov byte [r13 + 0x60], 0
mov rdx, qword [rbp + 0x168]
test rdx, rdx
nop
mov qword [rbp + 0xe0], r13
je 0x201bdd14
mov rcx, r13
call fcn.200783d0
mov rsi, qword [rbp + 0xe0]
jmp 0x201bdc29
mov r8d, r13d
cmp eax, 4
jne 0x201bcdea
nop
mov qword [rbp + 0xe0], r8
test r8, r8
nop
mov r15, qword [rbp + 0xe8]
je 0x201bcac0
lea rax, [0x204762f0]
mov qword [r15], rax
mov qword [r15 + 0xb0], 0
pxor xmm0, xmm0
movdqu xmmword [r15 + 0xd8], xmm0
mov qword [r15 + 0xe8], 0
lea rax, [0x2046df78]
mov qword [r15 + 0xa8], rax
nop
mov r14d, dword [0x2058d7d8]
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea rbx, [0x20476300]
mov qword [r15 + rax], rbx
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [r15 + rax - 4], ecx
lea r12, [r15 + 8]
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea rcx, [0x2046f2f8]
mov qword [r15 + rax], rcx
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x10]
mov dword [r15 + rax - 4], ecx
mov rax, qword [r15]
movsxd rcx, dword [rax + 4]
add rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.2006f400
nop
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
mov qword [r15 + rax], rbx
mov rax, qword [r15]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [r15 + rax - 4], ecx
lea rax, [0x2046e1c8]
mov qword [r15 + 8], rax
mov ecx, 0x10
call fcn.200782b0
mov rbx, rax
call fcn.20078390
nop
mov qword [rbx + 8], rax
mov r15, qword [rbp + 0xe8]
mov qword [r15 + 0x68], rbx
lea rax, [r15 + 0x10]
lea rcx, [r15 + 0x18]
lea rdx, [r15 + 0x30]
lea r8, [r15 + 0x38]
lea r9, [r15 + 0x50]
lea r10, [r15 + 0x54]
lea r11, [0x2046e0a8]
mov qword [r15 + 8], r11
mov byte [r15 + 0x84], 0
mov byte [r15 + 0x79], 0
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rcx
mov qword [r15 + 0x40], rdx
mov qword [r15 + 0x48], r8
mov qword [r15 + 0x58], r9
mov qword [r15 + 0x60], r10
mov qword [r15 + 0x50], 0
pxor xmm0, xmm0
movdqu xmmword [r15 + 0x10], xmm0
movdqu xmmword [r15 + 0x30], xmm0
mov qword [r15 + 0x88], 0
mov rax, qword [0x205ebdb0]
mov qword [r15 + 0x7c], rax
mov qword [r15 + 0x70], 0
or esi, 2
mov eax, edi
nop
mov qword [rsp + 0x30], rax
mov rcx, rsi
mov edx, 0x9bc9578f
mov r8, qword [rbp + 0x168]
mov qword [rbp + 0xc8], r12
mov r9, r12
call fcn.201be6f0
test rax, rax
je 0x201bd559
mov rsi, qword [rbp + 0xe8]
jmp 0x201bdc29
nop
mov rcx, qword [rsi + rax + 0x50]
test rcx, rcx
je 0x201bce73
cmp rcx, rsi
je 0x201bce73
call fcn.200a4650
nop
mov rax, qword [rsi]
movsxd rax, dword [rax + 4]
cmp dword [rsi + rax + 0x10], 0
sete byte [rbp + 0xd8]
jmp 0x201bce7b
mov rax, qword [rbp + 0x168]
test rax, rax
je 0x201bcc7a
nop
cmp qword [rax], 0
je 0x201bd59f
mov esi, 4
jmp 0x201bdc29
nop
mov r14, qword [rdi]
mov r15, qword [rdi + 8]
sub r15, r14
sar r15, 2
inc r15
mov rax, qword [rdi + 0x10]
sub rax, r14
sar rax, 2
mov r12, rax
shr r12, 1
movabs rcx, 0x3fffffffffffffff
mov rdx, rcx
sub rdx, r12
add r12, rax
cmp r12, r15
cmovbe r12, r15
cmp rax, rdx
cmova r12, rcx
mov rax, r12
shr rax, 0x3e
jne 0x201bdd3f
lea rcx, [r12*4]
cmp r12, 0x400
jb 0x201bd108
movabs rax, 0x3ffffffffffffff7
cmp r12, rax
jae 0x201bde17
add rcx, 0x27
call fcn.200782b0
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x201bd69c
cmp eax, 0xc
jbe 0x201bd019
call fcn.200d8930
mov rdi, rax
lea rcx, [rbp + 0x50]
call fcn.20078440
mov qword [r13 + 0x10], 0
pxor xmm0, xmm0
movdqu xmmword [r13 + 0x20], xmm0
mov qword [rbp + 0xb8], r13
lea rcx, [rbp - 0x10]
call fcn.20078440
test sil, 1
jne 0x201bd2a3
nop
mov r14, qword [rdi + 0x10]
jmp 0x201bd2aa
nop
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov rsi, qword [rbp + 0x168]
mov rcx, rsi
call fcn.20078e20
cmp rax, 0xf
jbe 0x201bd05c
lea rcx, [rbp + 0x50]
mov rdx, rax
mov r9, rsi
call fcn.2006bd40
jmp 0x201bd07e
nop
mov rdx, qword [rbp + 0x168]
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
mov esi, dword [rdx + rax + 0x10]
xor ecx, ecx
cmp qword [rdx + rax + 0x48], 0
sete cl
shl ecx, 2
and esi, 0x15
or esi, ecx
or esi, 2
mov dword [rdx + rax + 0x10], esi
mov edi, dword [rdx + rax + 0x14]
and esi, edi
jne 0x201bdd44
mov rsi, rdx
jmp 0x201bdc29
lea rax, [rbp + 0x50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x1300
mov ecx, 0x400
mov edx, 0xca23d7c8
xor r9d, r9d
call fcn.201c2790
test eax, eax
je 0x201bd25f
nop
mov rdi, qword [rbp + 0x50]
mov rcx, rdi
call fcn.20078e20
mov r8, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
mov rdx, rcx
sub rdx, r8
cmp rdx, rax
jae 0x201bd610
nop
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], 0
mov rcx, rax
mov edx, 0x67507743
mov r8, rsi
mov r9, rax
call fcn.201be6f0
jmp 0x201bd641
nop
mov byte [rbp + 0xd8], 1
nop
cmp byte [rbp + 0xd8], 0
je 0x201bcf4c
nop
mov rax, qword [rsi]
movsxd rax, dword [rax + 4]
mov rax, qword [rsi + rax + 0x40]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x58], rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x200c66ec.0]
lea rcx, [rbp + 0x50]
call fcn.200a4a30
mov rsi, rax
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x201bceeb
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x200c66ec.0]
test rax, rax
je 0x201bceeb
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [case.0x200c66ec.0]
nop
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
lea r9, [rdx + rax]
movzx ecx, byte [rdx + rax + 0x58]
mov rax, qword [rdx + rax + 0x48]
mov byte [rbp + 0x20], 0
mov qword [rbp + 0x28], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x40]
mov r10, qword [case.0x200c66ec.0]
nop
mov rdx, qword [rbp + 0x168]
mov dword [rsp + 0x28], edx
mov byte [rsp + 0x20], cl
lea rdx, [rbp - 0x20]
lea r8, [rbp + 0x20]
mov rcx, rsi
call r10
nop
movzx eax, byte [rbp - 0x20]
shl eax, 2
mov dword [rbp + 0xe0], eax
jmp 0x201bcf56
mov dword [rbp + 0xe0], 0
nop
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
mov esi, dword [rdx + rax + 0x10]
xor ecx, ecx
cmp qword [rdx + rax + 0x48], 0
sete cl
shl ecx, 2
and esi, 0x17
or esi, dword [rbp + 0xe0]
or esi, ecx
mov dword [rdx + rax + 0x10], esi
and esi, dword [rdx + rax + 0x14]
jne 0x201bdc40
call fcn.200a7bb0
test al, al
jne 0x201bcfa6
nop
mov rcx, qword [rbp + 0xd0]
call fcn.200a48d0
nop
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov rcx, qword [rax + rcx + 0x48]
test rcx, rcx
nop
mov rsi, qword [rbp + 0xe8]
je 0x201bcfd6
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
nop
call qword [case.0x200c66ec.0]
jmp 0x201bdc29
mov rax, rbx
or rax, 0xf
movabs r14, 0x7fffffffffffffff
cmp rax, r14
cmovb r14, rax
cmp rax, 0xfff
jb 0x201bd151
lea rcx, [r14 + 0x28]
call fcn.200782b0
lea rdx, [rax + 0x27]
and rdx, 0xffffffffffffffe0
mov qword [rdx - 8], rax
jmp 0x201bd15d
test r13, r13
js 0x201bde12
nop
mov rax, qword [rbp + 0x168]
mov rdi, qword [rax + 0x18]
mov rax, rdi
shr rax, 1
movabs rbx, 0x7fffffffffffffff
mov rcx, rax
xor rcx, rbx
cmp rcx, rdi
jae 0x201bd4e7
movabs rcx, 0x8000000000000000
jmp 0x201bd516
nop
mov qword [rbp + 0x60], rax
lea rdx, [rbp + 0x50]
mov rcx, rsi
mov r8, rax
mov r9d, 0x35d4700d
mov rsi, rax
call fcn.201c1b00
mov byte [rbp + rsi + 0x50], 0
lea rsi, [rbp - 0x40]
mov r8d, 0x10
mov rcx, rdi
mov rdx, rsi
mov r9d, 0x35d4700d
call fcn.201c1b00
nop
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r13
lea rdx, [rbp + 0x50]
mov r8d, 0x63e3a1cb
call fcn.201bc540
nop
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x201bd0f5
nop
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x201bd0f0
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x201bded0
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.20078f20
lea rax, [0x2046d728]
mov qword [r13], rax
mov rsi, r13
jmp 0x201bdc29
test r12, r12
je 0x201bd69a
call fcn.200782b0
mov rbx, rax
jmp 0x201bd69c
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
mov byte [rbx + rdi], r13b
mov byte [rbx + rdi + 1], 0
nop
mov qword [rsi], rbx
jmp 0x201bdc29
mov al, 1
mov dword [rbp + 0xe8], eax
jmp 0x201bd370
lea rcx, [r14 + 1]
call fcn.200782b0
mov rdx, rax
nop
mov qword [rbp + 0x30], rdx
lea r8, [rbx + 1]
mov rcx, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
nop
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], r14
lea rbx, [rbp - 0x30]
mov r8d, 0x10
mov rcx, qword [rbp + 0x168]
mov rdx, rbx
mov r9d, 0x35d4700d
call fcn.201c1b00
lea rdi, [rbp + 0x50]
lea r8, [rbp + 0x30]
mov rcx, rdi
mov rdx, rbx
call fcn.2006be80
cmp qword [rbp + 0x68], 0x10
jb 0x201bd1ba
mov rdi, qword [rbp + 0x50]
lea rax, [0x2046d0f8]
mov qword [rsi], rax
lea rdx, [rsi + 8]
pxor xmm0, xmm0
movdqu xmmword [rsi + 8], xmm0
mov qword [rbp - 0x10], rdi
mov byte [rbp - 8], 1
lea rcx, [rbp - 0x10]
call fcn.20078300
lea rax, [0x2046d7a8]
mov qword [rsi], rax
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x201bd22d
nop
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x201bd228
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x201bded5
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.20078f20
lea rax, [0x2046d768]
mov qword [rsi], rax
lea rdx, [rsi + 0x18]
mov r8d, 0x10
mov rcx, qword [rbp + 0x168]
mov r9d, 0x35d4700d
call fcn.201c1b00
jmp 0x201bdc29
xor eax, eax
jmp 0x201bdae8
nop
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
mov rcx, rax
sub rcx, rdx
cmp rcx, 0x23
jae 0x201bd886
nop
movzx eax, byte [0x2058cc84]
cmp al, 0xc
je 0x201bdb66
mov cl, 0x6e
mov al, 0x3f
lock cmpxchg byte [0x2058cc84], cl
je 0x201bdaef
cmp al, 0xc
jne 0x201bd28a
jmp 0x201bdb66
lea r14, [0x2046d7dc]
mov rcx, r14
call fcn.20078e20
mov r15, rax
inc r15
mov rcx, r15
call fcn.200a7ad0
test rax, rax
je 0x201bde1c
mov r12, rax
test r15, r15
sete al
mov dword [rbp + 0xe8], eax
je 0x201bd2ee
mov rcx, r14
mov rdx, r12
mov r8, r15
mov r9d, 0x35d4700d
call fcn.201c1b00
nop
mov qword [r13 + 0x10], r12
mov ecx, 6
call fcn.200a7ad0
test rax, rax
je 0x201bde21
mov r14, rax
lea r12, [r13 + 0x20]
lea r15, [r13 + 0x28]
movzx eax, byte [0x2058c8d6]
cmp al, 0x3a
jne 0x201bd530
test bl, 0x10
jne 0x201bd7b1
lea rax, [0x2046f040]
mov qword [r13], rax
lea rax, [0x2046f048]
mov qword [r13 + 0x10], rax
mov qword [r13 + 0xa0], 0
pxor xmm0, xmm0
movdqu xmmword [r13 + 0xc8], xmm0
mov qword [r13 + 0xd8], 0
lea rax, [0x2046df78]
mov qword [r13 + 0x98], rax
nop
mov rax, qword [r13]
movsxd rax, dword [rax + 4]
lea rsi, [0x2046f038]
mov qword [r13 + rax], rsi
mov rax, qword [r13]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x98]
mov dword [r13 + rax - 4], ecx
lea rdx, [r13 + 0x18]
mov rax, qword [r13]
movsxd rax, dword [rax + 4]
lea rcx, [0x2046dfa0]
mov qword [r13 + rax], rcx
mov rax, qword [r13]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x18]
mov dword [r13 + rax - 4], ecx
mov qword [r13 + 8], 0
mov rax, qword [r13]
movsxd rcx, dword [rax + 4]
add rcx, r13
xor r8d, r8d
mov qword [rbp + 0xe0], r13
call fcn.2006f400
nop
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rdx + 0x10]
movsxd rax, dword [rax + 4]
lea rcx, [0x2046f2f8]
mov qword [rdx + rax + 0x10], rcx
mov rax, qword [rdx + 0x10]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x10]
mov dword [rdx + rax + 0xc], ecx
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
lea rcx, [0x2046f2a8]
mov qword [rdx + rax], rcx
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x20]
mov dword [rdx + rax - 4], ecx
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
mov qword [rdx + rax], rsi
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x98]
mov dword [rdx + rax - 4], ecx
lea rax, [0x2046e1c8]
mov qword [rdx + 0x18], rax
mov ecx, 0x10
call fcn.200782b0
mov rsi, rax
mov rdi, qword [rbp + 0xe0]
call fcn.20078390
nop
mov qword [rsi + 8], rax
mov rcx, rdi
mov qword [rdi + 0x78], rsi
lea rax, [rdi + 0x20]
mov qword [rdi + 0x30], rax
lea rax, [rdi + 0x28]
mov qword [rdi + 0x38], rax
lea rax, [rdi + 0x40]
mov qword [rdi + 0x50], rax
lea rax, [rdi + 0x48]
mov qword [rdi + 0x58], rax
lea rax, [rdi + 0x60]
mov qword [rdi + 0x68], rax
lea rax, [rdi + 0x64]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x60], 0
pxor xmm0, xmm0
movdqu xmmword [rdi + 0x20], xmm0
movdqu xmmword [rdi + 0x40], xmm0
lea rax, [0x2046f1b8]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x80], 0
mov dword [rdi + 0x88], 0
mov rsi, rdi
jmp 0x201bdc29
mov rcx, r13
or rcx, 0xf
add rax, rdi
cmp rcx, rax
mov rbx, rax
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rbx, 0xfff
jb 0x201bd8c4
cmp rbx, 0xffffffffffffffd8
jae 0x201bdfad
add rcx, 0x27
call fcn.200782b0
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x201bd8cc
mov cl, 0x8a
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x2058c8d6], cl
je 0x201bd782
cmp al, 0x3a
jne 0x201bd540
jmp 0x201bd7b1
nop
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rdx]
movsxd rax, dword [rax + 4]
mov esi, dword [rdx + rax + 0x10]
xor ecx, ecx
cmp qword [rdx + rax + 0x48], 0
sete cl
shl ecx, 2
and esi, 0x15
or esi, ecx
or esi, 2
mov dword [rdx + rax + 0x10], esi
mov edi, dword [rdx + rax + 0x14]
and esi, edi
jne 0x201bdedf
nop
mov rsi, qword [rbp + 0xe8]
jmp 0x201bdc29
mov ecx, 0x30
call fcn.200782b0
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 8]
test rax, rax
je 0x201bd95d
nop
mov rcx, qword [rax + 0x28]
add rax, 0x30
test rcx, rcx
cmovne rax, rcx
jmp 0x201bd964
movsxd rdi, edx
add rdi, rcx
mov rdx, qword [rsi + 0x18]
mov rbx, qword [rdx]
sub rdi, rbx
test rcx, rcx
cmove rdi, rcx
mov r14d, 0x20
cmp rdi, 0x20
jae 0x201bd93a
mov rcx, r14
call fcn.200782b0
mov r15, rax
jmp 0x201bda08
mov rbx, rax
add rbx, r8
mov qword [rsi + 0x10], rbx
mov r14, rsi
cmp rcx, 0x10
jb 0x201bd626
mov r14, qword [rsi]
add r8, r14
mov qword [rsp + 0x28], rax
mov rdx, rdi
mov r9d, 0x506979d6
call fcn.201c1b00
mov byte [r14 + rbx], 0
nop
mov r9, qword [rbp + 0x50]
mov edx, 0x28ab3d18
call fcn.201c2790
mov rax, qword [rsi + 0x10]
test rax, rax
jne 0x201bd678
jmp 0x201bdc27
dec rax
mov qword [rsi + 0x10], rax
mov byte [rcx + rax], 0
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x201bdc27
nop
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x201bd686
mov rcx, qword [rsi]
movzx edx, byte [rcx + rax - 1]
cmp edx, 0xd
je 0x201bd660
cmp edx, 0xa
je 0x201bd660
jmp 0x201bdc27
xor ebx, ebx
mov rax, rsi
sub rax, r14
lea r13, [rbx + rax]
mov rcx, qword [rbp + 0xe8]
mov ecx, dword [rcx]
mov dword [rbx + rax], ecx
mov rax, qword [rdi + 8]
cmp rax, rsi
je 0x201bd6fa
lea r14, [r13 + 4]
mov rdx, qword [rdi]
mov rax, rsi
sub rax, rdx
mov qword [rsp + 0x28], rax
mov r8, rbx
mov r9d, 0x506979d6
call fcn.201c1b00
mov rax, qword [rdi + 8]
sub rax, rsi
mov qword [rsp + 0x28], rax
mov rdx, rsi
mov r8, r14
mov r9d, 0x506979d6
call fcn.201c1b00
jmp 0x201bd714
nop
mov rdx, qword [rdi]
sub rax, rdx
mov qword [rsp + 0x28], rax
mov r8, rbx
mov r9d, 0x506979d6
call fcn.201c1b00
nop
mov rcx, qword [rdi]
test rcx, rcx
je 0x201bd750
nop
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x201bd74b
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x201bde26
add rdx, 0x27
mov rcx, rax
call fcn.20078f20
nop
mov qword [rdi], rbx
lea rax, [rbx + r15*4]
mov qword [rdi + 8], rax
lea rax, [rbx + r12*4]
mov qword [rdi + 0x10], rax
mov rsi, r13
jmp 0x201bdc29
test rcx, rcx
je 0x201bd9d2
call fcn.200782b0
mov rbx, rax
jmp 0x201bc843
nop
movdqa xmm0, xmmword [0x2058c8d0]
paddb xmm0, xmmword [0x20475470]
movd dword [0x2058c8d0], xmm0
add byte [0x2058c8d4], 0xa2
add byte [0x2058c8d5], 0x95
mov al, 0x3a
xchg byte [0x2058c8d6], al
lea rcx, [0x2058c8d0]
mov r8d, 6
mov rdx, r14
mov r9d, 0x35d4700d
call fcn.201c1b00
mov qword [r12], r14
mov ecx, 5
call fcn.200a7ad0
test rax, rax
je 0x201bde0d
mov rbx, rax
movzx eax, byte [0x2058c8e5]
cmp al, 0x63
je 0x201bd83a
mov cl, 0x65
nop word cs:[rax + rax]
mov al, 0x8d
lock cmpxchg byte [0x2058c8e5], cl
je 0x201bd812
cmp al, 0x63
jne 0x201bd800
jmp 0x201bd83a
nop
movdqa xmm0, xmmword [0x2058c8e0]
pxor xmm0, xmmword [0x20475480]
movd dword [0x2058c8e0], xmm0
xor byte [0x2058c8e4], 0xc4
mov al, 0x63
xchg byte [0x2058c8e5], al
lea rcx, [0x2058c8e0]
mov r8d, 5
mov rdx, rbx
mov r9d, 0x35d4700d
call fcn.201c1b00
test sil, 1
mov qword [r15], rbx
jne 0x201bd872
nop
mov rax, qword [rdi]
movzx eax, byte [rax]
mov byte [r13 + 0x18], al
mov rax, qword [rdi + 8]
movzx eax, byte [rax]
jmp 0x201bd87a
nop
mov byte [r13 + 0x18], 0x2e
mov al, 0x2c
nop
mov byte [r13 + 0x19], al
xor esi, esi
jmp 0x201bdc29
lea rdi, [rdx + 0x23]
mov qword [rsi + 0x10], rdi
cmp rax, 0x10
jb 0x201bd897
mov rsi, qword [rsi]
add rdx, rsi
movzx eax, byte [0x2058cc84]
cmp al, 0xc
je 0x201bdc0b
mov cl, 0x6e
mov al, 0x3f
lock cmpxchg byte [0x2058cc84], cl
je 0x201bdb98
cmp al, 0xc
jne 0x201bd8ab
jmp 0x201bdc0b
call fcn.200782b0
mov rsi, rax
nop
mov r14, qword [rbp + 0x168]
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], rbx
mov rcx, rsi
mov rdx, qword [rbp + 0xe8]
mov r8, r13
call fcn.2044a690
mov byte [rsi + r13], 0
cmp rdi, 0x10
jb 0x201bd92e
lea rdx, [rdi + 1]
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x201bd929
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x201bdfb2
add rdi, 0x28
mov rdx, rdi
mov rcx, rax
call fcn.20078f20
nop
mov qword [r14], rsi
mov rsi, r14
jmp 0x201bdc29
cmp rdi, 0x3fffffff
jae 0x201bd9e0
lea r14, [rdi + rdi]
cmp rdi, 0x800
jb 0x201bd600
jmp 0x201bd9f3
lea rax, [0x2046d7dc]
nop
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x50]
mov r8d, 0x7b30d595
call fcn.201bc540
nop
mov rsi, qword [rbp + 0xe0]
mov dword [rsi + 8], 0
lea rax, [0x2046f3f8]
mov qword [rsi], rax
nop
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x50]
mov r8d, 0x538127dd
mov r9, rsi
call fcn.201bc540
nop
mov rax, qword [rbp + 0x168]
mov qword [rax], rsi
lea rcx, [rbp + 0x50]
mov r8d, 0x6bd885dd
call fcn.201baf40
mov esi, 4
jmp 0x201bdc29
mov r14, 0xffffffffffffffff
xor ebx, ebx
jmp 0x201bc843
mov r14d, 0x7fffffff
cmp rdi, 0x7fffffff
jae 0x201bdae8
lea rcx, [r14 + 0x27]
call fcn.200782b0
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
mov rcx, rbx
mov rdx, r15
mov r8, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
lea rax, [r15 + rdi]
lea rcx, [r15 + rdi]
inc rcx
mov qword [rsi + 0x68], rcx
add r14d, r15d
mov rcx, qword [rsi + 0x20]
mov qword [rcx], r15
mov rcx, qword [rsi + 0x40]
mov qword [rcx], rax
sub r14d, eax
mov rax, qword [rsi + 0x58]
mov dword [rax], r14d
test byte [rsi + 0x70], 4
jne 0x201bda74
nop
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x38]
mov rdx, qword [rdx]
sub rdx, rbx
add rdx, r15
mov qword [rcx], r15
mov rcx, qword [rsi + 0x38]
mov qword [rcx], rdx
sub rax, rdx
mov r15, rax
jmp 0x201bda87
nop
mov rax, qword [rsi + 0x18]
mov qword [rax], r15
mov rax, qword [rsi + 0x38]
mov qword [rax], 0
nop
mov rax, qword [rsi + 0x50]
mov dword [rax], r15d
test byte [rsi + 0x70], 1
je 0x201bdac6
cmp rdi, 0x1000
jb 0x201bdabb
nop
mov rax, qword [rbx - 8]
add rbx, 0xfffffffffffffff8
sub rbx, rax
cmp rbx, 0x20
jae 0x201bdfb7
add rdi, 0x27
mov rbx, rax
mov rcx, rbx
mov rdx, rdi
call fcn.20078f20
nop
or byte [rsi + 0x70], 1
mov rax, qword [rsi + 0x58]
dec dword [rax]
mov rax, qword [rsi + 0x40]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
mov rax, qword [rbp + 0xe8]
mov byte [rcx], al
mov esi, eax
jmp 0x201bdc29
mov eax, 0x4624135a
mov ecx, 0xb9dbecc8
mov edx, 1
mov r8d, 0x4624135b
lea r9, [0x2058cc60]
lea r10, [0x20475d00]
mov r11d, ecx
imul r11, r11, 0x38e38e39
shr r11, 0x23
shl r11d, 2
lea r11d, [r11 + r11*8]
lea edi, [rax + r11]
add r11d, r8d
movzx r11d, byte [r11 + r10]
xor r11b, 0xe7
add byte [rdx + r9 - 1], r11b
movzx r11d, byte [rdi + r10]
xor r11b, 0xe7
add byte [rdx + r9], r11b
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
cmp rdx, 0x25
jne 0x201bdb12
mov al, 0xc
xchg byte [0x2058cc84], al
lea rax, [0x2058cc60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x23
mov r9d, 0x23
mov edx, 0x67507743
mov r8, rsi
call fcn.201be6f0
jmp 0x201bdc27
mov eax, 0x4624135a
mov ecx, 0xb9dbecc8
mov r8d, 1
mov r9d, 0x4624135b
lea r10, [0x2058cc60]
lea r11, [0x20475d00]
mov ebx, ecx
imul rbx, rbx, 0x38e38e39
shr rbx, 0x23
shl ebx, 2
lea ebx, [rbx + rbx*8]
lea r14d, [rax + rbx]
add ebx, r9d
movzx ebx, byte [rbx + r11]
xor bl, 0xe7
add byte [r8 + r10 - 1], bl
movzx ebx, byte [r14 + r11]
xor bl, 0xe7
add byte [r8 + r10], bl
add eax, 0xfffffffe
add ecx, 2
add r8, 2
add r9d, 0xfffffffe
cmp r8, 0x25
jne 0x201bdbbc
mov al, 0xc
xchg byte [0x2058cc84], al
lea rcx, [0x2058cc60]
mov r8d, 0x23
mov r9d, 0x35d4700d
call fcn.201c1b00
mov byte [rsi + rdi], 0
xor esi, esi
mov rax, rsi
add rsp, 0x178
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, 0xb35e2bf9
mov rbx, qword [rbp + 0xc8]
xor rdx, rbx
mov r9d, 0x8fac9a00
call fcn.201c1b00
mov eax, 0xcb8edf3b
xor rax, rbx
mov qword [rsp + 0x20], rax
mov r9d, 0x931b5799
call fcn.201c1b00
test sil, 2
lea rax, [0x2058c7d0]
lea rdi, [0x2058c7b0]
cmove rdi, rax
xor ebx, 0x2603c9f4
mov qword [rsp + 0x28], rbx
mov r9d, 0x3bc54491
call fcn.201c1b00
test sil, 4
lea rbx, [0x2058c790]
cmove rbx, rdi
lea rsi, [rbp + 0xb8]
mov rcx, rsi
mov edx, 1
call fcn.2006bb00
lea rdi, [rbp - 0x10]
mov r8d, 0x10
mov rcx, rsi
mov rdx, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
nop
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x50]
mov rdx, rdi
mov r8d, 0x89f88a46
call fcn.201bc540
lea rax, [0x2046d5c8]
mov qword [rbp + 0x50], rax
lea rdx, [0x204c88b8]
lea rcx, [rbp + 0x50]
call fcn.200782e0
call fcn.2006b070
nop
movzx eax, byte [0x2058c8a0]
cmp al, 0xa1
je 0x201bdecb
mov cl, 0xc0
mov al, 0xd3
lock cmpxchg byte [0x2058c8a0], cl
je 0x201bde2b
cmp al, 0xa1
jne 0x201bdd26
jmp 0x201bdecb
call fcn.2006a580
mov edx, 0x8d03cf24
xor rdx, r14
mov r9d, 0x8fac9a00
call fcn.201c1b00
mov eax, 0xf5d33be6
xor rax, r14
mov qword [rsp + 0x20], rax
mov r9d, 0x931b5799
call fcn.201c1b00
test dil, 2
lea rax, [0x2058c7d0]
lea rdi, [0x2058c7b0]
cmove rdi, rax
xor r14d, 0x185e2d29
mov qword [rsp + 0x28], r14
mov r9d, 0x3bc54491
call fcn.201c1b00
test sil, 4
lea rbx, [0x2058c790]
cmove rbx, rdi
lea rsi, [rbp + 0xb8]
mov rcx, rsi
mov edx, 1
call fcn.2006bb00
lea rdi, [rbp - 0x10]
mov r8d, 0x10
mov rcx, rsi
mov rdx, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
nop
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x50]
mov rdx, rdi
mov r8d, 0x89f88a46
call fcn.201bc540
lea rax, [0x2046d5c8]
mov qword [rbp + 0x50], rax
lea rdx, [0x204c88b8]
lea rcx, [rbp + 0x50]
call fcn.200782e0
call fcn.20078480
call fcn.2006b070
call fcn.2006a580
call fcn.20078480
call fcn.20078480
call fcn.200782d0
lea r10, [0x204759e0]
lea r11, [r10 + 0x74619958]
add r10, 0x74619957
mov ecx, 0x74619958
mov r8d, 0x74619957
movabs rsi, 0xf0f0f0f0f0f0f0f1
lea rdi, [0x2058c890]
mov rax, rcx
mul rsi
mov r9, rdx
mov rax, r8
mul rsi
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov rax, r9
shr rax, 4
and r9, 0xfffffffffffffff0
neg rdx
movzx edx, byte [r10 + rdx]
xor dl, 0x4b
add byte [rcx + rdi - 0x74619958], dl
add r9, rax
neg r9
movzx eax, byte [r11 + r9]
xor al, 0x4b
add byte [rcx + rdi - 0x74619957], al
add r11, 2
add rcx, 2
add r10, 2
add r8, 2
cmp rcx, 0x74619968
jne 0x201bde5c
mov al, 0xa1
xchg byte [0x2058c8a0], al
call fcn.201babe0
call fcn.200782d0
call fcn.200782d0
call fcn.200782d0
mov edx, 0x8d03cf24
xor rdx, r14
mov r9d, 0x8fac9a00
call fcn.201c1b00
mov eax, 0xf5d33be6
xor rax, r14
mov qword [rsp + 0x20], rax
mov r9d, 0x931b5799
call fcn.201c1b00
test dil, 2
lea rax, [0x2058c7d0]
lea rdi, [0x2058c7b0]
cmove rdi, rax
xor r14d, 0x185e2d29
mov qword [rsp + 0x28], r14
mov r9d, 0x3bc54491
call fcn.201c1b00
test sil, 4
lea rbx, [0x2058c790]
cmove rbx, rdi
lea rsi, [rbp + 0xb8]
mov rcx, rsi
mov edx, 1
call fcn.2006bb00
lea rdi, [rbp - 0x10]
mov r8d, 0x10
mov rcx, rsi
mov rdx, rdi
mov r9d, 0x35d4700d
call fcn.201c1b00
nop
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x50]
mov rdx, rdi
mov r8d, 0x89f88a46
call fcn.201bc540
lea rax, [0x2046d5c8]
mov qword [rbp + 0x50], rax
lea rdx, [0x204c88b8]
lea rcx, [rbp + 0x50]
call fcn.200782e0
call fcn.2006a580
call fcn.2006a580
call fcn.200782d0
call fcn.200782d0
int3