Function at 0x140016624
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x20]
mov qword [rbp], 0
cmp qword [rbp + 0xf0], 0
jne 0x14001665e
cmp qword [rbp + 0xf8], 0
jne 0x14001665e
xor eax, eax
jmp 0x140017ef6
cmp qword [0x140063230], 0
jne 0x14001666f
xor eax, eax
jmp 0x140017ef6
mov rcx, qword [0x140063230]
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [rbp + 0xf0], 0
je 0x140017577
mov qword [rbp + 0x28], 0
mov edx, 0x5c
mov rcx, qword [rbp + 0xf0]
call fcn.1400022b0
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
je 0x1400166be
mov rax, qword [rbp + 0x28]
add rax, 1
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
je 0x1400166d0
mov rax, qword [rbp + 0x28]
movsx eax, byte [rax]
test eax, eax
jne 0x1400166f8
mov edx, 0x2f
mov rcx, qword [rbp + 0xf0]
call fcn.1400022b0
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
je 0x1400166f8
mov rax, qword [rbp + 0x28]
add rax, 1
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
je 0x14001670a
mov rax, qword [rbp + 0x28]
movsx eax, byte [rax]
test eax, eax
jne 0x140016715
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x28]
call fcn.140001ae0
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0xf0]
call fcn.140001ae0
mov qword [rbp + 0x30], rax
mov rcx, qword [rbp + 0x10]
add rcx, 1
mov rax, rcx
add rax, 0xf
cmp rax, rcx
ja 0x140016750
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14001b8f0
sub rsp, rax
lea rax, [rsp + 0x20]
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x30]
add rcx, 1
mov rax, rcx
add rax, 0xf
cmp rax, rcx
ja 0x140016783
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14001b8f0
sub rsp, rax
lea rax, [rsp + 0x20]
mov qword [rbp + 0x18], rax
mov r8, qword [rbp + 0x10]
add r8, 1
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
call fcn.140001790
mov r8, qword [rbp + 0x10]
add r8, 1
mov rdx, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x18]
call fcn.140001790
mov rcx, qword [rbp + 0x20]
call fcn.140002178
mov rcx, qword [rbp + 0x18]
call fcn.140002178
mov edx, 0x2e
mov rcx, qword [rbp + 0x20]
call fcn.1400022b0
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
je 0x14001680b
lea rdx, [0x1400611e8]
mov rcx, qword [rbp + 8]
call fcn.140002200
test eax, eax
jne 0x14001680b
mov rax, qword [rbp + 8]
mov byte [rax], 0
mov rax, qword [rbp + 0x18]
mov qword [rbp + 8], rax
jmp 0x140016821
mov rax, qword [rbp + 8]
add rax, 1
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
movsx eax, byte [rax]
test eax, eax
je 0x140016841
mov rax, qword [rbp + 8]
movsx eax, byte [rax]
cmp eax, 0x2f
jne 0x14001683f
mov rax, qword [rbp + 8]
mov byte [rax], 0x5c
jmp 0x140016815
mov qword [rbp], 0
mov rax, qword [0x140063230]
cmp qword [rax + 0x10], 0
je 0x140016ec4
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], 0xfeedbeef
mov dword [rbp + 0x4c], 0x9e3779b9
mov eax, dword [rbp + 0x4c]
mov dword [rbp + 0x48], eax
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x3c], eax
cmp dword [rbp + 0x3c], 0xc
jb 0x140016a8d
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax]
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 1]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 2]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 3]
shl eax, 0x18
add eax, dword [rbp + 0x48]
add eax, ecx
mov dword [rbp + 0x48], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 4]
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 5]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 6]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 7]
shl eax, 0x18
add eax, dword [rbp + 0x4c]
add eax, ecx
mov dword [rbp + 0x4c], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 8]
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 9]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 0xa]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0x40]
movzx eax, byte [rax + 0xb]
shl eax, 0x18
add eax, dword [rbp + 0x38]
add eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
shr ecx, 0xd
mov eax, dword [rbp + 0x48]
xor eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
shl ecx, 8
mov eax, dword [rbp + 0x4c]
xor eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
shr ecx, 0xd
mov eax, dword [rbp + 0x38]
xor eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
shr ecx, 0xc
mov eax, dword [rbp + 0x48]
xor eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
shl ecx, 0x10
mov eax, dword [rbp + 0x4c]
xor eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
shr ecx, 5
mov eax, dword [rbp + 0x38]
xor eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
shr ecx, 3
mov eax, dword [rbp + 0x48]
xor eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
shl ecx, 0xa
mov eax, dword [rbp + 0x4c]
xor eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
shr ecx, 0xf
mov eax, dword [rbp + 0x38]
xor eax, ecx
mov dword [rbp + 0x38], eax
xor eax, eax
test eax, eax
jne 0x140016925
mov rax, qword [rbp + 0x40]
add rax, 0xc
mov qword [rbp + 0x40], rax
mov eax, dword [rbp + 0x3c]
sub eax, 0xc
mov dword [rbp + 0x3c], eax
jmp 0x14001687d
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x38]
add eax, ecx
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x3c]
mov dword [rbp + 0xc8], eax
cmp dword [rbp + 0xc8], 6
ja 0x140016afd
cmp dword [rbp + 0xc8], 6
je 0x140016b8e
cmp dword [rbp + 0xc8], 1
je 0x140016bea
cmp dword [rbp + 0xc8], 2
je 0x140016bd7
cmp dword [rbp + 0xc8], 3
je 0x140016bc4
cmp dword [rbp + 0xc8], 4
je 0x140016bb1
cmp dword [rbp + 0xc8], 5
je 0x140016ba1
jmp 0x140016bf9
cmp dword [rbp + 0xc8], 7
je 0x140016b7b
cmp dword [rbp + 0xc8], 8
je 0x140016b68
cmp dword [rbp + 0xc8], 9
je 0x140016b55
cmp dword [rbp + 0xc8], 0xa
je 0x140016b42
cmp dword [rbp + 0xc8], 0xb
je 0x140016b2f
jmp 0x140016bf9
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 0xa]
shl ecx, 0x18
mov eax, dword [rbp + 0x38]
add eax, ecx
mov dword [rbp + 0x38], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 9]
shl ecx, 0x10
mov eax, dword [rbp + 0x38]
add eax, ecx
mov dword [rbp + 0x38], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 8]
shl ecx, 8
mov eax, dword [rbp + 0x38]
add eax, ecx
mov dword [rbp + 0x38], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 7]
shl ecx, 0x18
mov eax, dword [rbp + 0x4c]
add eax, ecx
mov dword [rbp + 0x4c], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 6]
shl ecx, 0x10
mov eax, dword [rbp + 0x4c]
add eax, ecx
mov dword [rbp + 0x4c], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 5]
shl ecx, 8
mov eax, dword [rbp + 0x4c]
add eax, ecx
mov dword [rbp + 0x4c], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 4]
mov eax, dword [rbp + 0x4c]
add eax, ecx
mov dword [rbp + 0x4c], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 3]
shl ecx, 0x18
mov eax, dword [rbp + 0x48]
add eax, ecx
mov dword [rbp + 0x48], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 2]
shl ecx, 0x10
mov eax, dword [rbp + 0x48]
add eax, ecx
mov dword [rbp + 0x48], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax + 1]
shl ecx, 8
mov eax, dword [rbp + 0x48]
add eax, ecx
mov dword [rbp + 0x48], eax
mov rax, qword [rbp + 0x40]
movzx ecx, byte [rax]
mov eax, dword [rbp + 0x48]
add eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
shr ecx, 0xd
mov eax, dword [rbp + 0x48]
xor eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
shl ecx, 8
mov eax, dword [rbp + 0x4c]
xor eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
shr ecx, 0xd
mov eax, dword [rbp + 0x38]
xor eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
shr ecx, 0xc
mov eax, dword [rbp + 0x48]
xor eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
shl ecx, 0x10
mov eax, dword [rbp + 0x4c]
xor eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
shr ecx, 5
mov eax, dword [rbp + 0x38]
xor eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x48]
sub eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
shr ecx, 3
mov eax, dword [rbp + 0x48]
xor eax, ecx
mov dword [rbp + 0x48], eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
sub eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
shl ecx, 0xa
mov eax, dword [rbp + 0x4c]
xor eax, ecx
mov dword [rbp + 0x4c], eax
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
mov eax, dword [rbp + 0x38]
sub eax, ecx
mov dword [rbp + 0x38], eax
mov ecx, dword [rbp + 0x4c]
shr ecx, 0xf
mov eax, dword [rbp + 0x38]
xor eax, ecx
mov dword [rbp + 0x38], eax
xor eax, eax
test eax, eax
jne 0x140016bf9
xor eax, eax
test eax, eax
jne 0x14001685b
xor eax, eax
test eax, eax
jne 0x14001685b
mov qword [rbp], 0
mov rax, qword [0x140063230]
cmp qword [rax + 0x10], 0
je 0x140016eba
mov rax, qword [0x140063230]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x60]
mov ecx, dword [rax + 8]
sub ecx, 1
mov eax, dword [rbp + 0x38]
and eax, ecx
mov dword [rbp + 0x50], eax
xor eax, eax
test eax, eax
jne 0x140016d75
xor eax, eax
cmp eax, 1
je 0x140016eba
mov rax, qword [0x140063230]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x60]
mov ecx, dword [rbp + 0x50]
imul rcx, rcx, 0x10
mov rax, qword [rax]
cmp qword [rcx + rax], 0
je 0x140016e0d
lea rax, [rbp]
mov qword [rbp + 0x58], rax
mov rcx, qword [0x140063230]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x60]
mov edx, dword [rbp + 0x50]
imul rdx, rdx, 0x10
mov rcx, qword [rcx]
mov rax, qword [0x140063230]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rdx]
sub rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rax], rcx
xor eax, eax
test eax, eax
jne 0x140016dc3
jmp 0x140016e15
mov qword [rbp], 0
cmp qword [rbp], 0
je 0x140016eb0
mov rcx, qword [rbp]
mov eax, dword [rbp + 0x38]
cmp dword [rcx + 0x94], eax
jne 0x140016e5d
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
cmp rax, qword [rbp + 0x30]
jne 0x140016e5d
mov r8, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x88]
call fcn.140001d90
test eax, eax
jne 0x140016e5d
jmp 0x140016eb0
mov rax, qword [rbp]
cmp qword [rax + 0x80], 0
je 0x140016ea3
lea rax, [rbp]
mov qword [rbp + 0x60], rax
mov rax, qword [0x140063230]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x60]
mov rcx, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + 0x80]
sub rcx, rax
mov rax, qword [rbp + 0x60]
mov qword [rax], rcx
xor eax, eax
test eax, eax
jne 0x140016e6b
jmp 0x140016eab
mov qword [rbp], 0
jmp 0x140016e15
xor eax, eax
test eax, eax
jne 0x140016da3
xor eax, eax
test eax, eax
jne 0x140016d5b
xor eax, eax
test eax, eax
jne 0x140016841
cmp qword [rbp], 0
jne 0x14001756c
mov qword [rbp], 0
mov rax, qword [0x140063230]
cmp qword [rax + 8], 0
je 0x140017562
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x68], 0xfeedbeef
mov dword [rbp + 0x7c], 0x9e3779b9
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x6c], eax
cmp dword [rbp + 0x6c], 0xc
jb 0x140017125
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax]
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 1]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 2]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 3]
shl eax, 0x18
add eax, dword [rbp + 0x78]
add eax, ecx
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 4]
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 5]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 6]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 7]
shl eax, 0x18
add eax, dword [rbp + 0x7c]
add eax, ecx
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 8]
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 9]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 0xa]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0x70]
movzx eax, byte [rax + 0xb]
shl eax, 0x18
add eax, dword [rbp + 0x68]
add eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
shr ecx, 0xd
mov eax, dword [rbp + 0x78]
xor eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
shl ecx, 8
mov eax, dword [rbp + 0x7c]
xor eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
shr ecx, 0xd
mov eax, dword [rbp + 0x68]
xor eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
shr ecx, 0xc
mov eax, dword [rbp + 0x78]
xor eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
shl ecx, 0x10
mov eax, dword [rbp + 0x7c]
xor eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
shr ecx, 5
mov eax, dword [rbp + 0x68]
xor eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
shr ecx, 3
mov eax, dword [rbp + 0x78]
xor eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
shl ecx, 0xa
mov eax, dword [rbp + 0x7c]
xor eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
shr ecx, 0xf
mov eax, dword [rbp + 0x68]
xor eax, ecx
mov dword [rbp + 0x68], eax
xor eax, eax
test eax, eax
jne 0x140016fbd
mov rax, qword [rbp + 0x70]
add rax, 0xc
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x6c]
sub eax, 0xc
mov dword [rbp + 0x6c], eax
jmp 0x140016f15
mov ecx, dword [rbp + 0x10]
mov eax, dword [rbp + 0x68]
add eax, ecx
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0xcc], eax
cmp dword [rbp + 0xcc], 6
ja 0x140017195
cmp dword [rbp + 0xcc], 6
je 0x140017226
cmp dword [rbp + 0xcc], 1
je 0x140017282
cmp dword [rbp + 0xcc], 2
je 0x14001726f
cmp dword [rbp + 0xcc], 3
je 0x14001725c
cmp dword [rbp + 0xcc], 4
je 0x140017249
cmp dword [rbp + 0xcc], 5
je 0x140017239
jmp 0x140017291
cmp dword [rbp + 0xcc], 7
je 0x140017213
cmp dword [rbp + 0xcc], 8
je 0x140017200
cmp dword [rbp + 0xcc], 9
je 0x1400171ed
cmp dword [rbp + 0xcc], 0xa
je 0x1400171da
cmp dword [rbp + 0xcc], 0xb
je 0x1400171c7
jmp 0x140017291
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 0xa]
shl ecx, 0x18
mov eax, dword [rbp + 0x68]
add eax, ecx
mov dword [rbp + 0x68], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 9]
shl ecx, 0x10
mov eax, dword [rbp + 0x68]
add eax, ecx
mov dword [rbp + 0x68], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 8]
shl ecx, 8
mov eax, dword [rbp + 0x68]
add eax, ecx
mov dword [rbp + 0x68], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 7]
shl ecx, 0x18
mov eax, dword [rbp + 0x7c]
add eax, ecx
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 6]
shl ecx, 0x10
mov eax, dword [rbp + 0x7c]
add eax, ecx
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 5]
shl ecx, 8
mov eax, dword [rbp + 0x7c]
add eax, ecx
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 4]
mov eax, dword [rbp + 0x7c]
add eax, ecx
mov dword [rbp + 0x7c], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 3]
shl ecx, 0x18
mov eax, dword [rbp + 0x78]
add eax, ecx
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 2]
shl ecx, 0x10
mov eax, dword [rbp + 0x78]
add eax, ecx
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax + 1]
shl ecx, 8
mov eax, dword [rbp + 0x78]
add eax, ecx
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax]
mov eax, dword [rbp + 0x78]
add eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
shr ecx, 0xd
mov eax, dword [rbp + 0x78]
xor eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
shl ecx, 8
mov eax, dword [rbp + 0x7c]
xor eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
shr ecx, 0xd
mov eax, dword [rbp + 0x68]
xor eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
shr ecx, 0xc
mov eax, dword [rbp + 0x78]
xor eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
shl ecx, 0x10
mov eax, dword [rbp + 0x7c]
xor eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
shr ecx, 5
mov eax, dword [rbp + 0x68]
xor eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x78]
sub eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
shr ecx, 3
mov eax, dword [rbp + 0x78]
xor eax, ecx
mov dword [rbp + 0x78], eax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x7c]
sub eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
shl ecx, 0xa
mov eax, dword [rbp + 0x7c]
xor eax, ecx
mov dword [rbp + 0x7c], eax
mov ecx, dword [rbp + 0x78]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
mov eax, dword [rbp + 0x68]
sub eax, ecx
mov dword [rbp + 0x68], eax
mov ecx, dword [rbp + 0x7c]
shr ecx, 0xf
mov eax, dword [rbp + 0x68]
xor eax, ecx
mov dword [rbp + 0x68], eax
xor eax, eax
test eax, eax
jne 0x140017291
xor eax, eax
test eax, eax
jne 0x140016ef3
xor eax, eax
test eax, eax
jne 0x140016ef3
mov qword [rbp], 0
mov rax, qword [0x140063230]
cmp qword [rax + 8], 0
je 0x140017558
mov rax, qword [0x140063230]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x28]
mov ecx, dword [rax + 8]
sub ecx, 1
mov eax, dword [rbp + 0x68]
and eax, ecx
mov dword [rbp + 0x80], eax
xor eax, eax
test eax, eax
jne 0x14001740d
xor eax, eax
cmp eax, 1
je 0x140017558
mov rax, qword [0x140063230]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x28]
mov ecx, dword [rbp + 0x80]
imul rcx, rcx, 0x10
mov rax, qword [rax]
cmp qword [rcx + rax], 0
je 0x1400174b4
lea rax, [rbp]
mov qword [rbp + 0x88], rax
mov rcx, qword [0x140063230]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 0x28]
mov edx, dword [rbp + 0x80]
imul rdx, rdx, 0x10
mov rcx, qword [rcx]
mov rax, qword [0x140063230]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rdx]
sub rcx, rax
mov rax, qword [rbp + 0x88]
mov qword [rax], rcx
xor eax, eax
test eax, eax
jne 0x140017461
jmp 0x1400174bc
mov qword [rbp], 0
cmp qword [rbp], 0
je 0x14001754e
mov rcx, qword [rbp]
mov eax, dword [rbp + 0x68]
cmp dword [rcx + 0x5c], eax
jne 0x1400174fb
mov rax, qword [rbp]
mov eax, dword [rax + 0x58]
cmp rax, qword [rbp + 0x10]
jne 0x1400174fb
mov r8, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x50]
call fcn.140001d90
test eax, eax
jne 0x1400174fb
jmp 0x14001754e
mov rax, qword [rbp]
cmp qword [rax + 0x48], 0
je 0x140017541
lea rax, [rbp]
mov qword [rbp + 0x90], rax
mov rax, qword [0x140063230]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x28]
mov rcx, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + 0x48]
sub rcx, rax
mov rax, qword [rbp + 0x90]
mov qword [rax], rcx
xor eax, eax
test eax, eax
jne 0x140017506
jmp 0x140017549
mov qword [rbp], 0
jmp 0x1400174bc
xor eax, eax
test eax, eax
jne 0x14001743e
xor eax, eax
test eax, eax
jne 0x1400173f3
xor eax, eax
test eax, eax
jne 0x140016ed9
xor eax, eax
test eax, eax
jne 0x14001756c
jmp 0x140017ee1
mov qword [rbp], 0
mov rax, qword [0x140063230]
cmp qword [rax], 0
je 0x140017ed1
lea rax, [rbp + 0xf8]
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0x98], 0xfeedbeef
mov dword [rbp + 0xac], 0x9e3779b9
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0x9c], 8
cmp dword [rbp + 0x9c], 0xc
jb 0x140017910
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax]
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 1]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 2]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 3]
shl eax, 0x18
add eax, dword [rbp + 0xa8]
add eax, ecx
mov dword [rbp + 0xa8], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 4]
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 5]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 6]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 7]
shl eax, 0x18
add eax, dword [rbp + 0xac]
add eax, ecx
mov dword [rbp + 0xac], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 8]
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 9]
shl eax, 8
add ecx, eax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0xa]
shl eax, 0x10
add ecx, eax
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0xb]
shl eax, 0x18
add eax, dword [rbp + 0x98]
add eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
shr ecx, 0xd
mov eax, dword [rbp + 0xa8]
xor eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
shl ecx, 8
mov eax, dword [rbp + 0xac]
xor eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
shr ecx, 0xd
mov eax, dword [rbp + 0x98]
xor eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
shr ecx, 0xc
mov eax, dword [rbp + 0xa8]
xor eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
shl ecx, 0x10
mov eax, dword [rbp + 0xac]
xor eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
shr ecx, 5
mov eax, dword [rbp + 0x98]
xor eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
shr ecx, 3
mov eax, dword [rbp + 0xa8]
xor eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
shl ecx, 0xa
mov eax, dword [rbp + 0xac]
xor eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
shr ecx, 0xf
mov eax, dword [rbp + 0x98]
xor eax, ecx
mov dword [rbp + 0x98], eax
xor eax, eax
test eax, eax
jne 0x1400176a9
mov rax, qword [rbp + 0xa0]
add rax, 0xc
mov qword [rbp + 0xa0], rax
mov eax, dword [rbp + 0x9c]
sub eax, 0xc
mov dword [rbp + 0x9c], eax
jmp 0x1400175c8
mov eax, dword [rbp + 0x98]
add eax, 8
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0xd0], eax
cmp dword [rbp + 0xd0], 6
ja 0x140017987
cmp dword [rbp + 0xd0], 6
je 0x140017a49
cmp dword [rbp + 0xd0], 1
je 0x140017ad2
cmp dword [rbp + 0xd0], 2
je 0x140017ab6
cmp dword [rbp + 0xd0], 3
je 0x140017a9a
cmp dword [rbp + 0xd0], 4
je 0x140017a7e
cmp dword [rbp + 0xd0], 5
je 0x140017a65
jmp 0x140017aea
cmp dword [rbp + 0xd0], 7
je 0x140017a2d
cmp dword [rbp + 0xd0], 8
je 0x140017a11
cmp dword [rbp + 0xd0], 9
je 0x1400179f5
cmp dword [rbp + 0xd0], 0xa
je 0x1400179d9
cmp dword [rbp + 0xd0], 0xb
je 0x1400179bd
jmp 0x140017aea
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 0xa]
shl ecx, 0x18
mov eax, dword [rbp + 0x98]
add eax, ecx
mov dword [rbp + 0x98], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 9]
shl ecx, 0x10
mov eax, dword [rbp + 0x98]
add eax, ecx
mov dword [rbp + 0x98], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 8]
shl ecx, 8
mov eax, dword [rbp + 0x98]
add eax, ecx
mov dword [rbp + 0x98], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 7]
shl ecx, 0x18
mov eax, dword [rbp + 0xac]
add eax, ecx
mov dword [rbp + 0xac], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 6]
shl ecx, 0x10
mov eax, dword [rbp + 0xac]
add eax, ecx
mov dword [rbp + 0xac], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 5]
shl ecx, 8
mov eax, dword [rbp + 0xac]
add eax, ecx
mov dword [rbp + 0xac], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 4]
mov eax, dword [rbp + 0xac]
add eax, ecx
mov dword [rbp + 0xac], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 3]
shl ecx, 0x18
mov eax, dword [rbp + 0xa8]
add eax, ecx
mov dword [rbp + 0xa8], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 2]
shl ecx, 0x10
mov eax, dword [rbp + 0xa8]
add eax, ecx
mov dword [rbp + 0xa8], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax + 1]
shl ecx, 8
mov eax, dword [rbp + 0xa8]
add eax, ecx
mov dword [rbp + 0xa8], eax
mov rax, qword [rbp + 0xa0]
movzx ecx, byte [rax]
mov eax, dword [rbp + 0xa8]
add eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
shr ecx, 0xd
mov eax, dword [rbp + 0xa8]
xor eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
shl ecx, 8
mov eax, dword [rbp + 0xac]
xor eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
shr ecx, 0xd
mov eax, dword [rbp + 0x98]
xor eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
shr ecx, 0xc
mov eax, dword [rbp + 0xa8]
xor eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
shl ecx, 0x10
mov eax, dword [rbp + 0xac]
xor eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
shr ecx, 5
mov eax, dword [rbp + 0x98]
xor eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
sub eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
shr ecx, 3
mov eax, dword [rbp + 0xa8]
xor eax, ecx
mov dword [rbp + 0xa8], eax
mov ecx, dword [rbp + 0x98]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0xac]
sub eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
shl ecx, 0xa
mov eax, dword [rbp + 0xac]
xor eax, ecx
mov dword [rbp + 0xac], eax
mov ecx, dword [rbp + 0xa8]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
mov eax, dword [rbp + 0x98]
sub eax, ecx
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0xac]
shr ecx, 0xf
mov eax, dword [rbp + 0x98]
xor eax, ecx
mov dword [rbp + 0x98], eax
xor eax, eax
test eax, eax
jne 0x140017aea
xor eax, eax
test eax, eax
jne 0x140017590
xor eax, eax
test eax, eax
jne 0x140017590
mov qword [rbp], 0
mov rax, qword [0x140063230]
cmp qword [rax], 0
je 0x140017ec7
mov rax, qword [0x140063230]
mov rax, qword [rax]
mov rax, qword [rax + 0x98]
mov ecx, dword [rax + 8]
sub ecx, 1
mov eax, dword [rbp + 0x98]
and eax, ecx
mov dword [rbp + 0xb0], eax
xor eax, eax
test eax, eax
jne 0x140017d58
xor eax, eax
cmp eax, 1
je 0x140017ec7
mov rax, qword [0x140063230]
mov rax, qword [rax]
mov rax, qword [rax + 0x98]
mov ecx, dword [rbp + 0xb0]
imul rcx, rcx, 0x10
mov rax, qword [rax]
cmp qword [rcx + rax], 0
je 0x140017e0a
lea rax, [rbp]
mov qword [rbp + 0xb8], rax
mov rcx, qword [0x140063230]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x98]
mov edx, dword [rbp + 0xb0]
imul rdx, rdx, 0x10
mov rcx, qword [rcx]
mov rax, qword [0x140063230]
mov rax, qword [rax]
mov rax, qword [rax + 0x98]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rdx]
sub rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [rax], rcx
xor eax, eax
test eax, eax
jne 0x140017db3
jmp 0x140017e12
mov qword [rbp], 0
cmp qword [rbp], 0
je 0x140017ebd
mov rcx, qword [rbp]
mov eax, dword [rbp + 0x98]
cmp dword [rcx + 0xcc], eax
jne 0x140017e62
mov rax, qword [rbp]
mov eax, dword [rax + 0xc8]
cmp rax, 8
jne 0x140017e62
mov r8d, 8
lea rdx, [rbp + 0xf8]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0xc0]
call fcn.140001d90
test eax, eax
jne 0x140017e62
jmp 0x140017ebd
mov rax, qword [rbp]
cmp qword [rax + 0xb8], 0
je 0x140017eb0
lea rax, [rbp]
mov qword [rbp + 0xc0], rax
mov rax, qword [0x140063230]
mov rax, qword [rax]
mov rax, qword [rax + 0x98]
mov rcx, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + 0xb8]
sub rcx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rax], rcx
xor eax, eax
test eax, eax
jne 0x140017e70
jmp 0x140017eb8
mov qword [rbp], 0
jmp 0x140017e12
xor eax, eax
test eax, eax
jne 0x140017d8e
xor eax, eax
test eax, eax
jne 0x140017d3f
xor eax, eax
test eax, eax
jne 0x140017577
xor eax, eax
test eax, eax
jne 0x140017edb
mov rcx, qword [0x140063230]
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbp]
lea rsp, [rbp + 0xe0]
pop rbp
ret