Function at 0x1400115c4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xe8
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x38]
add rax, 0x88
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x38]
cmp dword [rax + 0x28], 0
je 0x1400116a4
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x28], 0
je 0x14001166a
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x38]
mov ecx, dword [rax + 0x28]
mov rax, qword [rsp + 0xf0]
add rcx, qword [rax + 0x40]
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x80], rcx
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x78], 0
jmp 0x1400116a4
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x80], 0
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x38]
mov ecx, dword [rax + 0x28]
mov rax, qword [rsp + 0xf0]
add rcx, qword [rax + 0x40]
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x78], rcx
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x1400116c3
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x1400116e1
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x18], 0
je 0x1400116e1
mov rax, qword [rsp + 0x20]
cmp dword [rax + 0x14], 0
jne 0x140011715
mov rax, qword [rsp + 0xf0]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x18], 0
jmp 0x140012731
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x14]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax + 0x14]
shl rcx, 3
call fcn.140001bc8
mov r11, rax
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], r11
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax + 0x20]
mov rax, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax + 0x24]
mov rax, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x30], 0
jmp 0x1400117b6
mov eax, dword [rsp + 0x30]
add eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
add rax, 4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
add rax, 2
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x30], eax
jae 0x140012720
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x14]
cmp dword [rsp + 0x60], eax
jbe 0x140011801
jmp 0x14001178f
mov rax, qword [rsp + 0xf0]
mov r8d, dword [rax + 0x70]
mov rdx, qword [rsp + 0xf0]
mov rdx, qword [rdx + 0x68]
mov rcx, qword [rsp + 0x68]
call fcn.140010e14
test eax, eax
jne 0x14001182c
jmp 0x14001178f
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov eax, dword [rsp + 0x60]
shl eax, 2
mov eax, eax
mov ecx, dword [rcx + rax]
mov rax, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x70], rax
mov edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rsp + 0x70]
mov qword [rcx + rdx*8], rax
mov ecx, 0x48
call fcn.140001bc8
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x68]
call fcn.140007e6c
mov r11, rax
mov rax, qword [rsp + 0x38]
mov qword [rax], r11
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x70]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x78], 0xfeedbeef
mov dword [rsp + 0x8c], 0x9e3779b9
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x88], eax
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
call fcn.140001ae0
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0xc
jb 0x140011c32
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 1]
shl eax, 8
add ecx, eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 2]
shl eax, 0x10
add ecx, eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 3]
shl eax, 0x18
add eax, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 4]
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 5]
shl eax, 8
add ecx, eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 6]
shl eax, 0x10
add ecx, eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 7]
shl eax, 0x18
add eax, dword [rsp + 0x8c]
add eax, ecx
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 8]
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 9]
shl eax, 8
add ecx, eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xa]
shl eax, 0x10
add ecx, eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xb]
shl eax, 0x18
add eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
shr ecx, 0xd
mov eax, dword [rsp + 0x88]
xor eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
shl ecx, 8
mov eax, dword [rsp + 0x8c]
xor eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
shr ecx, 0xd
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
shr ecx, 0xc
mov eax, dword [rsp + 0x88]
xor eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
shl ecx, 0x10
mov eax, dword [rsp + 0x8c]
xor eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
shr ecx, 5
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
shr ecx, 3
mov eax, dword [rsp + 0x88]
xor eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
shl ecx, 0xa
mov eax, dword [rsp + 0x8c]
xor eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
shr ecx, 0xf
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov dword [rsp + 0x78], eax
xor eax, eax
test eax, eax
jne 0x1400119cd
mov rax, qword [rsp + 0x80]
add rax, 0xc
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x7c]
sub eax, 0xc
mov dword [rsp + 0x7c], eax
jmp 0x1400118e2
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
call fcn.140001ae0
mov r11, rax
mov eax, dword [rsp + 0x78]
add eax, r11d
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 6
ja 0x140011cbb
cmp dword [rsp + 0xd0], 6
je 0x140011d7f
cmp dword [rsp + 0xd0], 1
je 0x140011e17
cmp dword [rsp + 0xd0], 2
je 0x140011df8
cmp dword [rsp + 0xd0], 3
je 0x140011dd9
cmp dword [rsp + 0xd0], 4
je 0x140011dba
cmp dword [rsp + 0xd0], 5
je 0x140011d9e
jmp 0x140011e32
cmp dword [rsp + 0xd0], 7
je 0x140011d60
cmp dword [rsp + 0xd0], 8
je 0x140011d41
cmp dword [rsp + 0xd0], 9
je 0x140011d28
cmp dword [rsp + 0xd0], 0xa
je 0x140011d0f
cmp dword [rsp + 0xd0], 0xb
je 0x140011cf6
jmp 0x140011e32
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 0xa]
shl ecx, 0x18
mov eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 9]
shl ecx, 0x10
mov eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 8]
shl ecx, 8
mov eax, dword [rsp + 0x78]
add eax, ecx
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 7]
shl ecx, 0x18
mov eax, dword [rsp + 0x8c]
add eax, ecx
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 6]
shl ecx, 0x10
mov eax, dword [rsp + 0x8c]
add eax, ecx
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 5]
shl ecx, 8
mov eax, dword [rsp + 0x8c]
add eax, ecx
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 4]
mov eax, dword [rsp + 0x8c]
add eax, ecx
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 3]
shl ecx, 0x18
mov eax, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 2]
shl ecx, 0x10
mov eax, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax + 1]
shl ecx, 8
mov eax, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x80]
movzx ecx, byte [rax]
mov eax, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
shr ecx, 0xd
mov eax, dword [rsp + 0x88]
xor eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
shl ecx, 8
mov eax, dword [rsp + 0x8c]
xor eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
shr ecx, 0xd
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
shr ecx, 0xc
mov eax, dword [rsp + 0x88]
xor eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
shl ecx, 0x10
mov eax, dword [rsp + 0x8c]
xor eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
shr ecx, 5
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x88]
sub eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
shr ecx, 3
mov eax, dword [rsp + 0x88]
xor eax, ecx
mov dword [rsp + 0x88], eax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
sub eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
shl ecx, 0xa
mov eax, dword [rsp + 0x8c]
xor eax, ecx
mov dword [rsp + 0x8c], eax
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x78]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, dword [rsp + 0x8c]
shr ecx, 0xf
mov eax, dword [rsp + 0x78]
xor eax, ecx
mov dword [rsp + 0x78], eax
xor eax, eax
test eax, eax
jne 0x140011e32
xor eax, eax
test eax, eax
jne 0x1400118a0
xor eax, eax
test eax, eax
jne 0x1400118a0
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x44], eax
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rcx + 0x38], rax
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
call fcn.140001ae0
mov r11, rax
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x40], r11d
cmp qword [rsp + 0x28], 0
jne 0x1400121fc
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x20], 0
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x18], 0
mov ecx, 0x40
call fcn.140001bc8
mov r11, rax
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x10], r11
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
jne 0x140012114
mov ecx, 0xffffffff
call fcn.140002620
jmp 0x1400121e6
mov r8d, 0x40
xor edx, edx
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
call fcn.140001c90
mov rcx, qword [rsp + 0x38]
add rcx, 0x10
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 8], 0x20
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0xc], 5
mov rcx, qword [rsp + 0x38]
add rcx, 0x10
sub rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rax + 0x20], rcx
mov ecx, 0x200
call fcn.140001bc8
mov r11, rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rax], r11
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0x38], 0xa0111fe1
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
cmp qword [rax], 0
jne 0x1400121cd
mov ecx, 0xffffffff
call fcn.140002620
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
call fcn.140001b88
jmp 0x1400121e6
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov r8d, 0x200
xor edx, edx
mov rcx, qword [rcx]
call fcn.140001c90
xor eax, eax
test eax, eax
jne 0x1400120e3
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
jmp 0x140012273
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x20], 0
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + 0x18]
sub rcx, rax
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x10], rax
mov rcx, qword [rsp + 0x38]
add rcx, 0x10
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x10]
mov qword [rax + 0x18], rcx
xor eax, eax
test eax, eax
jne 0x14001220e
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 0x10]
add ecx, 1
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x10]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 8]
sub ecx, 1
mov eax, dword [rsp + 0x78]
and eax, ecx
mov dword [rsp + 0x90], eax
xor eax, eax
test eax, eax
jne 0x14001228e
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x10]
mov eax, dword [rsp + 0x90]
imul rax, rax, 0x10
add rax, qword [rcx]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x98]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0x98]
cmp qword [rax], 0
je 0x14001232f
mov rcx, qword [rsp + 0x38]
add rcx, 0x10
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x38]
add rcx, 0x10
mov rax, qword [rsp + 0x98]
mov qword [rax], rcx
mov rax, qword [rsp + 0x98]
mov ecx, dword [rax + 0xc]
add ecx, 1
imul ecx, ecx, 0xa
mov rax, qword [rsp + 0x98]
cmp dword [rax + 8], ecx
jb 0x1400126f3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x34], 0
jne 0x1400126f3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 8]
shl eax, 1
mov ecx, eax
imul rcx, rcx, 0x10
call fcn.140001bc8
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
jne 0x1400123b3
mov ecx, 0xffffffff
call fcn.140002620
jmp 0x1400126e9
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 8]
shl eax, 1
mov r8d, eax
imul r8, r8, 0x10
xor edx, edx
mov rcx, qword [rsp + 0xb8]
call fcn.140001c90
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 8]
lea ecx, [rcx + rcx - 1]
mov eax, dword [rdx + 0x10]
and eax, ecx
test eax, eax
je 0x140012406
mov dword [rsp + 0xd4], 1
jmp 0x140012411
mov dword [rsp + 0xd4], 0
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 0xc]
add eax, 1
mov cl, al
mov eax, dword [rdx + 0x10]
shr eax, cl
mov ecx, eax
add ecx, dword [rsp + 0xd4]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0x2c], 0
mov dword [rsp + 0xb0], 0
jmp 0x140012473
mov eax, dword [rsp + 0xb0]
add eax, 1
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 8]
cmp dword [rsp + 0xb0], eax
jae 0x14001261e
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov ecx, dword [rsp + 0xb0]
imul rcx, rcx, 0x10
mov rax, qword [rax]
mov rax, qword [rcx + rax]
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
je 0x140012619
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 8]
lea ecx, [rcx + rcx - 1]
mov rax, qword [rsp + 0xc0]
mov eax, dword [rax + 0x34]
and eax, ecx
mov dword [rsp + 0xa0], eax
xor eax, eax
test eax, eax
jne 0x1400124d2
mov ecx, dword [rsp + 0xa0]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0xb8]
add rax, rcx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0xc8]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0xc8]
mov eax, dword [rax + 0x28]
cmp dword [rcx + 8], eax
jbe 0x1400125a5
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 0x2c]
add ecx, 1
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0x2c], ecx
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rax + 0xc]
imul ecx, dword [rdx + 0x28]
mov rax, qword [rsp + 0xc8]
cmp dword [rax + 8], ecx
jbe 0x1400125a5
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0xc8]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0xc0]
mov qword [rax + 0x18], 0
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
mov qword [rcx + 0x20], rax
mov rax, qword [rsp + 0xc8]
cmp qword [rax], 0
je 0x1400125f1
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx]
mov rax, qword [rsp + 0xc0]
mov qword [rcx + 0x18], rax
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
mov qword [rcx], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], rax
jmp 0x1400124af
jmp 0x140012462
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
call fcn.140001b88
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 8]
shl ecx, 1
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0xc], ecx
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rsp + 0xb8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 0x10]
shr eax, 1
cmp dword [rcx + 0x2c], eax
jbe 0x1400126ac
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 0x30]
add eax, 1
mov dword [rsp + 0xd8], eax
jmp 0x1400126b7
mov dword [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov eax, dword [rsp + 0xd8]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x30], 1
jbe 0x1400126e9
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov dword [rax + 0x34], 1
xor eax, eax
test eax, eax
jne 0x140012378
xor eax, eax
test eax, eax
jne 0x1400122b0
xor eax, eax
test eax, eax
jne 0x140012273
xor eax, eax
test eax, eax
jne 0x140012087
xor eax, eax
test eax, eax
jne 0x1400118a0
jmp 0x14001178f
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x28]
mov qword [rcx + 0x18], rax
add rsp, 0xe8
ret