Function at 0x14008aae0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x1401ca2e0]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r15, qword [rcx]
lea rax, [rcx + 0x68]
mov r10, rcx
mov qword [rbp - 0x30], rax
xor r12d, r12d
mov qword [rsp + 0x60], rcx
movsxd r14, edx
mov rdi, r8
mov rax, qword [r15]
mov edx, r12d
mov rsi, qword [r15 + 0x10]
lea r11, [r10 + 0x398]
mov qword [rbp - 0x40], rax
lea r13d, [r12 + 1]
imul rcx, r14, 0x58
mov qword [rbp + 0x10], r8
movsxd r8, dword [r10 + 0x294]
add r11, rcx
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x28], r15
mov qword [rbp], rsi
movzx eax, byte [r11 + 0x2c]
mov r9, qword [r11 + 0x48]
imul rcx, rax, 0x70
mov rax, qword [r10 + 8]
add rax, 8
mov qword [rsp + 0x40], r11
add rax, rcx
mov qword [rbp - 0x70], r9
mov qword [rbp - 0x20], rax
mov ecx, r12d
mov ebx, dword [rax + 0x44]
mov dword [rsp + 0x4c], ebx
test r8, r8
jle 0x14008abb6
lea rax, [r10 + 0x298]
nop
cmp dword [rax], ebx
je 0x14008acf4
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x14008aba0
mov rax, r12
not rax
mov ecx, r14d
and rax, rdi
mov qword [r11 + 0x50], rax
mov rax, qword [r10 + 0x58]
shr rax, cl
and eax, r13d
test byte [r9 + 0x28], 0x40
mov r13d, eax
mov qword [rbp - 0x68], rax
je 0x14008abed
test byte [r10 + 0x40], 0x20
mov dword [rsp + 0x50], 1
je 0x14008abf2
mov dword [rsp + 0x50], r12d
mov rbx, qword [rsi + 0x18]
movsxd rdi, dword [rbx + 0x50]
lea eax, [rdi + 1]
mov dword [rbx + 0x50], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x14008ac2a
mov rdx, qword [rbx + 0x58]
lea eax, [rdi*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.140055590
mov r11, qword [rsp + 0x40]
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
or edx, 0xffffffff
test rcx, rcx
je 0x14008ac39
mov dword [rcx + rdi*4], edx
not edi
mov dword [r11 + 0x10], edi
mov dword [r11 + 0xc], edi
mov rbx, qword [rsi + 0x18]
mov r8d, dword [rbx + 0x50]
mov dword [rbp - 0x58], r8d
lea eax, [r8 + 1]
mov dword [rbx + 0x50], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x14008ac8a
mov rdx, qword [rbx + 0x58]
lea eax, [r8*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.140055590
mov r11, qword [rsp + 0x40]
or edx, 0xffffffff
mov r8d, dword [rbp - 0x58]
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x14008ac99
movsxd rax, r8d
mov dword [rcx + rax*4], edx
not r8d
mov r10, qword [rbp - 0x20]
mov dword [rbp - 0x58], r8d
mov dword [r11 + 0x18], r8d
cmp byte [r11 + 0x2c], r12b
jbe 0x14008ad28
test byte [r10 + 0x3c], 8
je 0x14008ad28
mov edx, dword [r15 + 0x38]
inc edx
mov dword [r15 + 0x38], edx
mov dword [r11], edx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008ad01
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x43]
call fcn.140038220
mov r11, qword [rsp + 0x40]
mov r10, qword [rbp - 0x20]
jmp 0x14008ad28
mov ecx, edx
mov rax, r13
shl rax, cl
jmp 0x14008abb9
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov edx, r14d
test r14d, r14d
jle 0x14008ad5b
mov r15, qword [rsp + 0x60]
nop word [rax + rax]
movsxd rax, edx
imul rcx, rax, 0x58
cmp dword [rcx + r15 + 0x398], r12d
jne 0x14008ad57
dec edx
test edx, edx
jg 0x14008ad40
mov r15, qword [rbp - 0x28]
mov r8d, dword [r10 + 0x40]
mov ebx, 0x200
movsxd rax, edx
imul rcx, rax, 0x58
mov rax, qword [rsp + 0x60]
mov r9d, dword [rcx + rax + 0x3a4]
test r8b, 0x10
je 0x14008ae56
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov ebx, dword [r10 + 0x34]
mov edx, dword [r10 + 0x30]
cmp dword [rax + 0x3c], ecx
jg 0x14008adb2
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.140038220
jmp 0x14008addc
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0xf
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x14008ae19
mov r9d, edi
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, 0x10
mov rcx, rsi
call fcn.140038220
mov r11, qword [rsp + 0x40]
mov edx, eax
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2d], 0xd
jmp 0x14008b5d0
mov r11, qword [rsp + 0x40]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x10
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov dword [r11 + 0x34], edx
mov byte [r11 + 0x2d], 0xd
jmp 0x14008b5d0
mov r10, qword [rbp - 0x70]
mov eax, 0x400
mov edx, dword [r10 + 0x28]
test eax, edx
je 0x14008b4bf
movzx r14d, word [r10 + 0x2c]
inc dword [r15 + 0x48]
lea ecx, [r14 + 2]
cmp ecx, 1
jne 0x14008aeab
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x14008ae94
inc dword [r15 + 0x38]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x58], eax
jmp 0x14008aedd
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0x18c]
mov dword [rsp + 0x58], eax
jmp 0x14008aedd
mov edx, dword [r15 + 0x28]
mov r8d, dword [r15 + 0x2c]
mov dword [rsp + 0x58], r8d
cmp ecx, edx
jg 0x14008aecc
lea eax, [rcx + r8]
sub edx, ecx
mov dword [r15 + 0x2c], eax
mov dword [r15 + 0x28], edx
jmp 0x14008aedd
mov eax, dword [r15 + 0x38]
lea edx, [rax + 1]
add eax, ecx
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x58], edx
mov edi, dword [r11 + 0xc]
mov ebx, r12d
mov dword [rsp + 0x54], edi
test r14d, r14d
jle 0x14008af7e
mov r13d, dword [rsp + 0x58]
mov rdi, r12
mov rsi, qword [rbp - 0x68]
add r13d, 2
mov r12d, 1
nop word [rax + rax]
mov rax, qword [r10 + 0x38]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x14008af68
mov rcx, r15
test byte [rdx + 0x14], r12b
je 0x14008af4c
lea eax, [rbx + r13]
mov r9d, ebx
mov dword [rsp + 0x28], eax
mov r8, r11
mov dword [rsp + 0x20], esi
call fcn.140028000
mov r11, qword [rsp + 0x40]
mov ecx, dword [r11 + 0x10]
mov dword [rsp + 0x54], ecx
jmp 0x14008af64
mov rdx, qword [rdx]
lea r8d, [rbx + r13]
mov r9d, r12d
mov rdx, qword [rdx + 0x18]
call fcn.1400286b0
mov r11, qword [rsp + 0x40]
mov r10, qword [rbp - 0x70]
inc ebx
add rdi, 8
cmp ebx, r14d
jl 0x14008af10
mov rsi, qword [rbp]
xor r12d, r12d
mov edi, dword [rsp + 0x54]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r10 + 0x18]
mov ebx, dword [rsp + 0x58]
cmp dword [rax + 0x3c], ecx
jg 0x14008afb0
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x43
mov r9d, ebx
mov rcx, rsi
call fcn.140038220
jmp 0x14008afda
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rsi + 0x18]
lea edx, [rbx + 1]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b007
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x43
mov r8d, r14d
mov rcx, rsi
call fcn.140038220
jmp 0x14008b032
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, qword [rbp - 0x70]
or eax, 0xffffffff
mov edx, 0xfffffff9
mov r9d, edi
cmp byte [rcx + 0x1c], 0
cmovne eax, edx
mov edx, 0xb
mov dword [rsp + 0x30], eax
mov rax, qword [rcx + 0x20]
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
mov ebx, dword [rsp + 0x4c]
mov r8d, ebx
call fcn.14007b3a0
mov r11, qword [rsp + 0x40]
mov eax, 0x3d
mov r8, qword [rbp - 0x70]
mov ecx, 0xa9
mov rdx, qword [rsp + 0x60]
mov byte [r8 + 0x1c], 0
mov dword [r11 + 0x30], ebx
cmp byte [rdx + 0x45], 0
cmovne eax, ecx
sub r14d, 1
mov byte [r11 + 0x2d], al
mov eax, dword [rsi + 0xb8]
mov dword [r11 + 0x34], eax
js 0x14008b43b
movsxd rax, dword [r11 + 0x38]
mov edx, 0x48
movsxd r13, r14d
lea rcx, [rax + rax*2]
shl rcx, 2
mov qword [rbp - 0x48], rcx
shl r13, 3
nop dword [rax]
mov rbx, qword [r8 + 0x38]
mov rbx, qword [rbx + r13]
cmp r14d, 0x10
jge 0x14008b17f
movzx eax, word [r8 + 0x1e]
movzx ecx, r14w
shr ax, cl
test al, 1
je 0x14008b17b
test byte [rbx + 0x12], 4
mov edx, r12d
jne 0x14008b41b
cmp dword [r11], 0
je 0x14008b116
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x14008b41b
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
jne 0x14008b41b
test edx, edx
je 0x14008b144
movzx eax, word [rbx + 0x12]
mov ecx, 0x400
test cx, ax
je 0x14008b144
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x14008b149
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x14008b41b
mov rax, qword [rbx + 8]
mov rbx, rcx
shl rbx, 6
add rbx, qword [rax + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x14008b41b
inc edx
test byte [rbx + 0x12], 4
je 0x14008b103
jmp 0x14008b41b
mov rcx, qword [rbp - 0x48]
test byte [rbx + 0x14], 1
je 0x14008b41b
mov rax, qword [rbp - 0x40]
cmp byte [rax + 0x61], 0
jne 0x14008b23a
mov rax, qword [r11 + 0x40]
sub rcx, 0xc
mov qword [rbp - 0x48], rcx
mov ecx, dword [rax + rcx + 4]
test ecx, ecx
jns 0x14008b1b3
mov ecx, dword [rsi + 0xb8]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x14008b1c5
lea rax, [0x1401f0030]
jmp 0x14008b1d4
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b202
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.140038220
jmp 0x14008b235
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], 0
mov edx, 0x48
mov rcx, qword [r15]
cmp dword [rcx + 0x168], 0
jne 0x14008b29b
cmp dx, word [rcx + 0x16c]
jbe 0x14008b257
inc dword [rcx + 0x178]
jmp 0x14008b2a5
mov rdi, qword [rcx + 0x188]
test rdi, rdi
je 0x14008b275
mov rax, qword [rdi]
mov qword [rcx + 0x188], rax
inc dword [rcx + 0x174]
jmp 0x14008b2ad
mov rdi, qword [rcx + 0x180]
test rdi, rdi
je 0x14008b293
mov rax, qword [rdi]
mov qword [rcx + 0x180], rax
inc dword [rcx + 0x174]
jmp 0x14008b2ad
inc dword [rcx + 0x17c]
jmp 0x14008b2a5
cmp byte [rcx + 0x61], 0
jne 0x14008b41b
call fcn.14002c650
mov rdi, rax
test rdi, rdi
je 0x14008b41b
xor eax, eax
mov rcx, rdi
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], rax
or eax, 0xffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x35
call fcn.140031320
mov rax, qword [r15]
mov r8d, dword [rax + 0x88]
cmp dword [rdi + 0x28], r8d
jle 0x14008b30c
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r15
call fcn.140057c20
mov rax, qword [rbx]
mov rbx, qword [rbp - 0x40]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
cmp dword [rbx + 0x168], 0
jne 0x14008b37e
mov eax, 0x49
cmp ax, word [rbx + 0x16c]
jbe 0x14008b33a
inc dword [rbx + 0x178]
jmp 0x14008b38e
mov rcx, qword [rbx + 0x188]
test rcx, rcx
je 0x14008b358
mov rax, qword [rcx]
mov qword [rbx + 0x188], rax
inc dword [rbx + 0x174]
jmp 0x14008b39c
mov rcx, qword [rbx + 0x180]
test rcx, rcx
je 0x14008b376
mov rax, qword [rcx]
mov qword [rbx + 0x180], rax
inc dword [rbx + 0x174]
jmp 0x14008b39c
inc dword [rbx + 0x17c]
jmp 0x14008b38e
cmp byte [rbx + 0x61], 0
je 0x14008b389
mov rcx, r12
jmp 0x14008b3df
mov eax, 0x49
mov rdx, rax
mov rcx, rbx
call fcn.14002c650
mov rcx, rax
test rcx, rcx
je 0x14008b3df
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], rax
or eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0x9a
mov byte [rax], 0
mov eax, 1
mov dword [rcx + 0x28], eax
mov qword [rdi + 0x18], rcx
test rcx, rcx
je 0x14008b40c
mov eax, dword [rsp + 0x58]
xor r9d, r9d
add eax, 2
mov rdx, rdi
add eax, r14d
mov dword [rcx + 0x2c], eax
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rcx + 0x18]
mov rcx, r15
call fcn.14005c120
mov rdx, rdi
mov qword [rdi + 0x10], r12
mov rcx, rbx
call fcn.14005bd80
mov rcx, qword [rbp - 0x48]
sub r13, 8
sub r14d, 1
mov r8, qword [rbp - 0x70]
mov r11, qword [rsp + 0x40]
mov edx, 0x48
jns 0x14008b0d0
dec dword [r15 + 0x48]
mov r8d, r12d
cmp byte [r15 + 0x25], 0
jbe 0x14008b5d0
lea rdx, [r15 + 0xca]
mov eax, dword [r15 + 0x48]
cmp dword [rdx + 2], eax
jle 0x14008b4a9
cmp byte [rdx], 0
je 0x14008b47d
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14008b47d
movzx ecx, al
mov eax, dword [rdx + 6]
mov dword [r15 + rcx*4 + 0x18c], eax
inc byte [r15 + 0x1f]
dec byte [r15 + 0x25]
movzx eax, byte [r15 + 0x25]
cmp r8d, eax
jge 0x14008b4b0
lea rcx, [rax + rax*4]
movups xmm0, xmmword [r15 + rcx*4 + 0xc4]
movups xmmword [rdx - 6], xmm0
mov eax, dword [r15 + rcx*4 + 0xd4]
mov dword [rdx + 0xa], eax
jmp 0x14008b4b0
inc r8d
add rdx, 0x14
movzx eax, byte [r15 + 0x25]
cmp r8d, eax
jl 0x14008b454
jmp 0x14008b5d0
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x14008b638
mov rax, qword [r10 + 0x38]
xor r9d, r9d
mov r8, r11
mov rcx, r15
mov rdx, qword [rax]
inc dword [r15 + 0x38]
mov ebx, dword [r15 + 0x38]
mov rax, qword [rbp - 0x68]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.140028000
mov edi, eax
cmp eax, ebx
je 0x14008b543
test ebx, ebx
je 0x14008b543
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14008b543
movzx r8d, byte [r15 + 0x25]
lea rcx, [r15 + 0xc4]
mov edx, r12d
test r8d, r8d
je 0x14008b534
cmp dword [rcx + 0xc], ebx
je 0x14008b576
inc edx
add rcx, 0x14
cmp edx, r8d
jl 0x14008b524
movzx eax, al
mov dword [r15 + rax*4 + 0x18c], ebx
inc byte [r15 + 0x1f]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsi + 0x18]
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rcx + 0x10]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b57c
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x1f
mov rcx, rsi
call fcn.140038220
jmp 0x14008b5a6
mov byte [rcx + 6], 1
jmp 0x14008b543
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r12
mov r8d, 1
mov edx, edi
mov rcx, r15
call fcn.140058700
mov edx, dword [rsp + 0x4c]
mov r9d, edi
or r8d, 0xffffffff
call fcn.140058790
mov r11, qword [rsp + 0x40]
mov byte [r11 + 0x2d], 0xa9
mov r14, qword [rsp + 0x60]
mov r9, r12
mov rax, r9
lea r10, [0x140030a60]
neg rax
lea r8, [r14 + 0x68]
sbb ecx, ecx
add ecx, 2
nop
mov edx, dword [r8 + 0x14]
mov r13d, r12d
mov rdi, qword [r8 + 0x20]
mov dword [rsp + 0x54], edx
test edx, edx
jle 0x14008cf83
movsxd r8, ecx
mov qword [rbp + 8], r8
nop
movzx ecx, word [rdi + 0x12]
mov ebx, r12d
test cl, 6
jne 0x14008cf4d
mov rax, qword [rdi + 0x38]
test qword [r11 + 0x50], rax
je 0x14008cdea
mov byte [r14 + 0x46], 1
jmp 0x14008cf4d
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x14008b95d
mov dword [rsp + 0x74], r12d
mov rcx, r12
mov qword [rbp - 0x48], rcx
lea r14d, [rax - 0x59]
mov eax, r12d
mov rbx, r12
mov r8d, 1
test dl, 0x20
je 0x14008b675
mov rax, qword [r10 + 0x38]
mov rbx, qword [rax]
mov eax, r8d
test dl, 0x10
je 0x14008b689
movsxd rcx, eax
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x48], rcx
test r13d, r13d
je 0x14008b698
mov rax, rbx
mov rbx, rcx
mov qword [rbp - 0x48], rax
test rbx, rbx
je 0x14008b7d7
mov r13, qword [rbx]
mov dword [rsp + 0x50], 0x1a18191b
mov rdx, qword [r13 + 0x18]
movzx eax, byte [rdx]
cmp al, 0x9a
jne 0x14008b6bb
movzx eax, byte [rdx + 0x36]
cmp al, 0x9b
jne 0x14008b6c7
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax]
jmp 0x14008b6d4
cmp al, 0x78
jne 0x14008b729
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x14008b729
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x14008b6ec
inc dword [r15 + 0x38]
mov ebx, dword [r15 + 0x38]
jmp 0x14008b6fd
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov ebx, dword [r15 + rax*4 + 0x18c]
mov rdx, qword [r13 + 0x18]
mov r9d, r8d
mov r8d, ebx
mov dword [rsp + 0x54], ebx
mov rcx, r15
call fcn.1400286b0
movzx eax, byte [r13]
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rsp + rax + 0x50]
jmp 0x14008b759
lea r8, [rbp - 0x70]
mov rcx, r15
call fcn.14005b7f0
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
mov dword [rsp + 0x54], eax
call fcn.14002d3c0
movzx ecx, byte [r13]
mov ebx, dword [rbp - 0x70]
sub ecx, 0x36
movsxd rcx, ecx
movzx ecx, byte [rsp + rcx + 0x50]
mov r13d, dword [rsp + 0x54]
mov r9d, edi
mov r8d, dword [rsp + 0x4c]
movzx edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], r13d
call fcn.14007b330
mov r8d, 1
mov edx, r13d
mov rcx, r15
call fcn.140058700
test ebx, ebx
je 0x14008b7f5
movzx r8d, byte [r15 + 0x1f]
cmp r8b, 8
jae 0x14008b7f5
movzx edx, byte [r15 + 0x25]
lea rax, [r15 + 0xc4]
mov ecx, r12d
test edx, edx
je 0x14008b7bf
nop dword [rax]
cmp dword [rax + 0xc], ebx
je 0x14008b7d1
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14008b7b0
movzx eax, r8b
mov dword [r15 + rax*4 + 0x18c], ebx
inc byte [r15 + 0x1f]
jmp 0x14008b7f5
mov byte [rax + 6], 1
jmp 0x14008b7f5
cmp dword [rbp - 0x68], r12d
mov edx, 0x25
mov r8d, dword [rsp + 0x4c]
mov eax, 0x21
cmovne edx, eax
mov rcx, rsi
call fcn.14007b2c0
mov r13, qword [rbp - 0x48]
test r13, r13
je 0x14008b8b1
mov rbx, qword [r13]
mov r9d, 1
inc dword [r15 + 0x38]
mov rcx, r15
mov eax, dword [r15 + 0x38]
mov r8d, eax
mov dword [rsp + 0x74], eax
mov rdx, qword [rbx + 0x18]
call fcn.1400286b0
mov rdx, qword [rbx + 0x18]
movzx eax, byte [rdx]
cmp al, 0x9a
jne 0x14008b836
movzx eax, byte [rdx + 0x36]
cmp al, 0x9b
jne 0x14008b842
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax]
jmp 0x14008b84f
cmp al, 0x78
jne 0x14008b854
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax]
mov ecx, dword [rcx]
cmp ecx, 1
jg 0x14008b868
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x14008b868
mov eax, 0x37
lea r14d, [rax + 2]
jmp 0x14008b873
mov eax, 0x38
mov r14d, 0x36
cmp dword [rbp - 0x68], r12d
cmovne r14d, eax
movzx eax, byte [rdx]
cmp al, 0x9a
jne 0x14008b886
movzx eax, byte [rdx + 0x36]
cmp al, 0x9b
jne 0x14008b892
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax]
jmp 0x14008b89f
cmp al, 0x78
jne 0x14008b8a4
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax]
mov ecx, dword [rcx]
cmp ecx, 1
jg 0x14008b8b1
mov rcx, qword [rsp + 0x40]
mov rdx, r13
call fcn.14002d3c0
mov ecx, dword [rsi + 0xb8]
mov r11, qword [rsp + 0x40]
cmp dword [rbp - 0x68], r12d
mov r13d, dword [rsp + 0x4c]
sete al
add al, 6
mov dword [r11 + 0x34], ecx
mov ecx, 0xa9
mov byte [r11 + 0x2d], al
mov dword [r11 + 0x30], r13d
cmp r14d, ecx
je 0x14008b5d0
inc dword [r15 + 0x38]
lea edx, [rcx - 0x2c]
mov ebx, dword [r15 + 0x38]
mov r8d, r13d
mov r9d, ebx
mov rcx, rsi
call fcn.14007b2c0
mov r9d, ebx
or r8d, 0xffffffff
mov edx, r13d
mov rcx, r15
call fcn.140058790
mov r8d, dword [rsp + 0x74]
mov edx, r14d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
mov r9d, edi
call fcn.14007b330
mov eax, dword [rsi + 0xb8]
mov r9, r12
mov r11, qword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
test eax, eax
jle 0x14008b5d8
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov ecx, 0x53
mov word [rax + rdx*8 + 2], cx
jmp 0x14008b5d8
test ebx, edx
je 0x14008c25e
mov rax, qword [rbp - 0x70]
xor r13b, r13b
movzx r9d, word [r10 + 0x1a]
mov ebx, r12d
movzx r11d, word [r10 + 0x1c]
mov r14, r12
movzx edi, word [r10 + 0x18]
mov r10, r12
mov rcx, qword [rax + 0x20]
mov rax, qword [rsp + 0x40]
mov word [rsp + 0x58], r9w
mov word [rsp + 0x68], r11w
mov qword [rbp - 0x50], r12
mov eax, dword [rax + 8]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x38], r12
mov byte [rsp + 0x48], r13b
test byte [rax + 0x40], 1
mov byte [rsp + 0x6c], bl
mov qword [rbp - 0x60], rcx
je 0x14008b9dc
cmp byte [rax + 0x43], bl
jle 0x14008b9dc
cmp word [rcx + 0x5e], di
jbe 0x14008b9dc
mov r13b, 1
mov ebx, 1
mov byte [rsp + 0x48], r13b
movzx eax, di
mov dword [rsp + 0x70], eax
mov r8d, eax
test dl, 0x20
je 0x14008ba07
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x38]
mov r14, qword [rax + r8*8]
inc r8d
movzx eax, r9w
cmp ebx, eax
mov qword [rbp - 0x50], r14
cmovbe ebx, eax
test dl, 0x10
je 0x14008bade
mov rax, qword [rbp - 0x70]
movsxd rcx, r8d
mov rax, qword [rax + 0x38]
mov r10, qword [rax + rcx*8]
movzx eax, r11w
cmp ebx, eax
mov qword [rbp - 0x80], r10
cmovbe ebx, eax
mov eax, 0x100
test word [r10 + 0x12], ax
je 0x14008ba9c
mov r9d, dword [r15 + 0x38]
mov edx, 0x43
mov rax, qword [rsp + 0x40]
inc r9d
mov dword [r15 + 0x38], r9d
mov rcx, rsi
lea r8d, [rdx - 0x42]
mov dword [rax + 0x24], r9d
call fcn.14007b2c0
mov eax, dword [rsi + 0xb8]
mov edx, r12d
mov r8, qword [rsp + 0x40]
movzx r9d, word [rsp + 0x58]
mov r10, qword [rbp - 0x80]
movzx r11d, word [rsp + 0x68]
shl dword [r8 + 0x24], 1
mov dword [r8 + 0x28], eax
mov rax, qword [rbp - 0x60]
movzx ecx, di
mov rax, qword [rax + 0x38]
cmp byte [rcx + rax], 1
sete dl
xor edx, dword [rbp - 0x68]
or dword [r8 + 0x24], edx
test r14, r14
jne 0x14008bade
mov rax, qword [rbp - 0x60]
movzx ecx, di
mov rax, qword [rax + 8]
movsx r8, word [rax + rcx*2]
test r8d, r8d
js 0x14008bad0
mov rax, qword [rbp - 0x60]
mov rdx, r8
shl rdx, 5
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r12b
je 0x14008bad6
cmp r8d, 0xfffffffe
jne 0x14008bade
mov r13b, 1
mov byte [rsp + 0x48], r13b
mov rax, qword [rbp - 0x60]
movzx r8d, word [rax + 0x5e]
cmp di, r8w
jae 0x14008bb08
mov rax, qword [rax + 0x38]
mov edx, r12d
movzx ecx, di
cmp byte [rcx + rax], r12b
mov rcx, qword [rbp - 0x68]
sete dl
cmp ecx, edx
je 0x14008bb16
jmp 0x14008bb0c
mov rcx, qword [rbp - 0x68]
test ecx, ecx
je 0x14008bb3a
cmp r8w, di
jne 0x14008bb3a
movzx eax, r9b
mov qword [rbp - 0x80], r14
mov r14, r10
mov word [rsp + 0x68], ax
mov qword [rbp - 0x50], r10
mov byte [rsp + 0x6c], r13b
mov byte [rsp + 0x48], r12b
mov word [rsp + 0x58], r11w
mov r9d, ebx
lea rax, [rbp - 0x10]
mov rbx, qword [rsp + 0x40]
mov r8d, ecx
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.140027280
mov r13, qword [rbp - 0x10]
mov edx, eax
mov dword [rsp + 0x5c], eax
test r13, r13
je 0x14008bb87
cmp word [rsp + 0x68], r12w
je 0x14008bb87
mov rcx, qword [rbp - 0x40]
movzx edx, di
add rdx, r13
call fcn.140055720
mov edx, dword [rsp + 0x5c]
mov qword [rbp - 0x38], rax
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x7c], eax
test r14, r14
je 0x14008bba6
test byte [r14 + 0x14], 0x28
jne 0x14008bba6
mov dword [rsp + 0x78], r12d
mov ecx, 1
jmp 0x14008bbaf
mov ecx, 1
mov dword [rsp + 0x78], ecx
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x14008bbc3
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x74], r12d
je 0x14008bbc7
mov dword [rsp + 0x74], ecx
test r14, r14
jne 0x14008bc0e
test di, di
jne 0x14008bc0e
mov ecx, dword [rsp + 0x70]
mov r14d, ecx
mov dword [rbp - 0x78], r12d
movzx ebx, byte [rsp + 0x48]
test bl, bl
je 0x14008bd25
lea r9d, [rcx + rdx]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x46]
call fcn.14007b2c0
inc r14d
mov dword [rbp - 0x78], 1
mov edi, r12d
jmp 0x14008bd29
mov rax, qword [rbp - 0x50]
mov dword [rbp - 0x78], ecx
movzx ecx, di
mov r14d, ecx
test rax, rax
je 0x14008bbdc
mov rax, qword [rax]
lea r8d, [rdx + rcx]
mov rcx, r15
mov rbx, qword [rax + 0x18]
movzx eax, word [rsp + 0x58]
mov rdx, rbx
mov r9d, eax
mov dword [rsp + 0x58], eax
call fcn.1400286b0
mov rax, qword [rbp - 0x50]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x14008bc94
mov rax, qword [rsi]
mov ecx, dword [rsi + 0xb8]
dec ecx
cmp byte [rax + 0x61], r12b
je 0x14008bc6b
lea rcx, [0x1401f0030]
jmp 0x14008bc7a
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rcx, [rax + rcx*8]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 0x24]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x24]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.1400588b0
test eax, eax
je 0x14008bcbd
mov r8d, dword [rsp + 0x5c]
mov edx, 0x32
mov r9d, dword [rsp + 0x7c]
mov rcx, rsi
movzx eax, di
add r8d, eax
call fcn.14007b2c0
test r13, r13
je 0x14008bcd9
movzx r8d, di
mov rcx, rbx
mov edi, dword [rsp + 0x58]
add r8, r13
mov edx, edi
call fcn.140090ec0
jmp 0x14008bcdd
mov edi, dword [rsp + 0x58]
movzx eax, byte [rbx]
add r14d, edi
cmp al, 0x9a
jne 0x14008bceb
movzx eax, byte [rbx + 0x36]
cmp al, 0x9b
jne 0x14008bcf7
mov rax, qword [rbx + 0x20]
mov ecx, dword [rax]
jmp 0x14008bd04
cmp al, 0x78
jne 0x14008bd15
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x14008bd15
mov dword [rsp + 0x78], 1
xor bl, bl
jmp 0x14008bd25
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x40]
call fcn.14002d3c0
xor bl, bl
mov edi, dword [rsp + 0x78]
mov edx, dword [rsp + 0x5c]
mov r8d, r14d
movzx eax, bl
mov r9, r13
sub r8d, eax
mov rcx, r15
call fcn.1400277c0
mov rcx, qword [rbp - 0x70]
lea rbx, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x14008bd5d
movzx eax, ax
cmp r14d, eax
je 0x14008bd95
mov eax, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
mov r9d, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x54]
lea eax, [rdi + rax*2]
mov dword [rsp + 0x28], r14d
mov edi, dword [rsp + 0x5c]
lea eax, [rcx + rax*2]
cdqe
mov rcx, rsi
mov dword [rsp + 0x20], edi
movzx edx, byte [rax + rbx + 0x16d1b8]
call fcn.14007b5b0
jmp 0x14008bd99
mov edi, dword [rsp + 0x5c]
mov rax, qword [rbp - 0x80]
mov r14d, dword [rsp + 0x70]
test rax, rax
je 0x14008bef7
mov rax, qword [rax]
add r14d, edi
mov r8d, 1
mov edx, r14d
mov rcx, r15
mov rbx, qword [rax + 0x18]
call fcn.140058700
movzx edi, word [rsp + 0x68]
mov r8d, r14d
mov r9d, edi
mov rdx, rbx
call fcn.1400286b0
mov rax, qword [rbp - 0x80]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x14008be2b
mov rax, qword [rsi]
mov ecx, dword [rsi + 0xb8]
dec ecx
cmp byte [rax + 0x61], r12b
je 0x14008be02
lea rcx, [0x1401f0030]
jmp 0x14008be11
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rcx, [rax + rcx*8]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 0x24]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x24]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.1400588b0
test eax, eax
je 0x14008be4c
mov r9d, dword [rsp + 0x7c]
mov r8d, r14d
mov edx, 0x32
mov rcx, rsi
call fcn.14007b2c0
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14008be77
mov r8, rax
mov edx, edi
mov rcx, rbx
call fcn.140090ec0
mov rax, qword [rbp - 0x38]
mov r8d, edi
mov r9, rax
mov edx, r14d
mov rcx, r15
call fcn.1400277c0
mov r14d, dword [rsp + 0x70]
movzx eax, byte [rbx]
add r14d, edi
cmp al, 0x9a
jne 0x14008be8a
movzx eax, byte [rbx + 0x36]
cmp al, 0x9b
jne 0x14008be96
mov rax, qword [rbx + 0x20]
mov ecx, dword [rax]
jmp 0x14008bea3
cmp al, 0x78
jne 0x14008beb6
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x14008beb6
mov edi, 1
lea rbx, [0x140000000]
jmp 0x14008becf
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x40]
call fcn.14002d3c0
lea rbx, [0x140000000]
mov edi, dword [rsp + 0x74]
mov r8, qword [rbp - 0x40]
test r13, r13
je 0x14008bf65
test r8, r8
je 0x14008bf59
cmp qword [r8 + 0x2a8], r12
je 0x14008bf33
mov rdx, r13
mov rcx, r8
call fcn.14003b520
jmp 0x14008bf61
cmp byte [rsp + 0x6c], r12b
je 0x14008becb
xor r8d, r8d
lea ebx, [r14 + rdi]
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0x46]
call fcn.14007b2c0
mov r8d, 1
mov edx, ebx
mov rcx, r15
call fcn.140058700
inc r14d
lea rbx, [0x140000000]
mov edi, r12d
jmp 0x14008becf
cmp r13, qword [r8 + 0x190]
jb 0x14008bf59
cmp r13, qword [r8 + 0x198]
jae 0x14008bf59
mov rax, qword [r8 + 0x188]
mov qword [r13], rax
mov qword [r8 + 0x188], r13
jmp 0x14008bf65
mov rcx, r13
call fcn.1400183e0
mov r8, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14008bfb3
test r8, r8
je 0x14008bfae
cmp qword [r8 + 0x2a8], r12
je 0x14008bf89
mov rdx, rcx
mov rcx, r8
call fcn.14003b520
jmp 0x14008bfb3
cmp rcx, qword [r8 + 0x190]
jb 0x14008bfae
cmp rcx, qword [r8 + 0x198]
jae 0x14008bfae
mov rax, qword [r8 + 0x188]
mov qword [rcx], rax
mov qword [r8 + 0x188], rcx
jmp 0x14008bfb3
call fcn.1400183e0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsi + 0xb8]
mov r13d, dword [rsp + 0x54]
mov dword [rcx + 0x34], eax
test r14d, r14d
je 0x14008bff7
mov rax, qword [rbp - 0x68]
mov r8d, r13d
mov r9d, dword [rsp + 0x7c]
mov rcx, rsi
mov dword [rsp + 0x28], r14d
lea eax, [rdi + rax*2]
movzx edx, byte [rax + rbx + 0x16d0a4]
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
call fcn.14007b5b0
mov ebx, dword [rsp + 0x50]
mov r10, qword [rbp - 0x60]
test ebx, ebx
jne 0x14008c1e3
mov rbx, qword [r10 + 0x18]
test byte [rbx + 0x40], 0x20
jne 0x14008c0b0
mov rdi, qword [rsp + 0x60]
mov ecx, 0x400
movzx eax, word [rdi + 0x40]
test cx, ax
jne 0x14008c05b
mov ecx, 0x1000
test cx, ax
je 0x14008c038
cmp byte [rdi + 0x45], 1
je 0x14008c05b
mov r14d, dword [rsp + 0x4c]
mov r9d, r13d
mov r8d, r14d
mov rdx, r10
mov rcx, rdi
call fcn.140027cf0
mov r10, qword [rbp - 0x60]
mov ebx, dword [rsp + 0x50]
jmp 0x14008c1ed
inc dword [r15 + 0x38]
mov r8d, r13d
mov ebx, dword [r15 + 0x38]
mov edx, 0x84
mov r9d, ebx
mov rcx, rsi
call fcn.14007b2c0
mov r14d, dword [rsp + 0x4c]
mov r9d, ebx
or r8d, 0xffffffff
mov edx, r14d
mov rcx, r15
call fcn.140058790
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov rcx, rsi
lea edx, [r9 + 0x20]
call fcn.14007b330
mov r10, qword [rbp - 0x60]
mov ebx, dword [rsp + 0x50]
jmp 0x14008c1ed
mov r14d, dword [rsp + 0x4c]
cmp r14d, r13d
je 0x14008c1dd
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14008c0d9
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14008c0d9
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14008c0c7
movzx edx, word [rbx + 0x5e]
mov rcx, r15
call fcn.140062f60
mov r14d, eax
mov edi, r12d
cmp r12w, word [rbx + 0x5e]
jae 0x14008c1ad
or r15d, 0xffffffff
nop word [rax + rax]
movzx r8d, word [r10 + 0x60]
mov edx, r12d
test r8d, r8d
jle 0x14008c131
mov rax, qword [rbx + 8]
mov r9, qword [r10 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x14008c135
inc edx
cmp edx, r8d
jl 0x14008c120
movzx edx, r15w
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
movsx r8d, dx
cmp dword [rax + 0x3c], ecx
jg 0x14008c166
lea eax, [rdi + r14]
mov r9d, r8d
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x62
mov rcx, rsi
call fcn.140038220
jmp 0x14008c197
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r8d
lea rdx, [rax + rcx*8]
lea eax, [rdi + r14]
mov qword [rdx + 0x10], r12
mov dword [rdx + 0xc], eax
movzx eax, word [rbx + 0x5e]
inc edi
mov r10, qword [rbp - 0x60]
cmp edi, eax
jl 0x14008c100
mov r15, qword [rbp - 0x28]
movzx eax, word [rbx + 0x5e]
mov edx, 0x1d
mov r9d, dword [rbp - 0x58]
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0x4c]
mov r8d, r14d
call fcn.14007b5b0
mov r10, qword [rbp - 0x60]
mov ebx, dword [rsp + 0x50]
jmp 0x14008c1e8
mov ebx, dword [rsp + 0x50]
jmp 0x14008c1e8
mov r14d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x40]
cmp dword [r11], r12d
jne 0x14008c20d
mov r9, rdi
mov r8d, r13d
mov edx, r14d
mov rcx, r10
call fcn.140099650
mov r11, qword [rsp + 0x40]
mov rcx, qword [rbp - 0x70]
mov eax, 0x1000
test dword [rcx + 0x28], eax
je 0x14008c222
mov byte [r11 + 0x2d], 0xa9
jmp 0x14008c22f
cmp dword [rbp - 0x68], r12d
sete al
add al, 6
mov byte [r11 + 0x2d], al
mov dword [r11 + 0x30], r13d
movzx eax, byte [rcx + 0x2a]
and al, 1
mov byte [r11 + 0x2e], al
test byte [rcx + 0x28], 0xf
jne 0x14008c248
mov byte [r11 + 0x2f], 1
mov r14, qword [rsp + 0x60]
test ebx, ebx
je 0x14008cde1
mov qword [rbp - 0x60], r12
jmp 0x14008b5d5
bt edx, 0xd
jae 0x14008cd90
mov eax, dword [r15 + 0x34]
mov rcx, rsi
inc dword [r15 + 0x38]
mov ebx, dword [r15 + 0x38]
mov dword [rbp - 0x18], eax
inc eax
mov dword [r15 + 0x34], eax
mov qword [rbp - 8], r12
mov dword [rbp - 0x78], ebx
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x70], r12d
call fcn.140084160
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0x54], eax
mov rax, qword [rbp - 0x20]
mov dword [rsp + 0x74], r12d
mov qword [rbp - 0x38], r12
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x80], rdx
mov rcx, qword [rax + 0x38]
mov rax, qword [rsp + 0x60]
mov r13, qword [rcx]
mov qword [rbp + 8], r13
mov rcx, qword [r13 + 0x28]
mov qword [rbp - 0x10], rcx
mov byte [rdi + 0x2d], 0x3f
mov dword [rdi + 0x30], ebx
movzx ecx, byte [rax + 0x42]
cmp cl, 1
jbe 0x14008c421
movzx ebx, cl
sub ebx, r14d
mov r14, qword [rbp - 0x40]
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x70
add rcx, 0x78
test r14, r14
je 0x14008c30d
mov rdx, rcx
mov rcx, r14
call fcn.140055480
jmp 0x14008c312
call fcn.140067eb0
mov qword [rbp - 0x48], rax
mov rdx, rax
test rax, rax
jne 0x14008c327
mov rax, qword [rbp + 0x10]
jmp 0x14008d21b
mov r11, qword [rsp + 0x60]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x20]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x68], xmm0
mov r10, qword [r11 + 8]
cmp ebx, 1
jl 0x14008c3ec
add rdx, 0x78
mov r9d, ebx
lea r8, [rdi + 0x84]
nop dword [rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x58]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x70], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r9, 1
jne 0x14008c390
mov rdx, qword [rbp - 0x80]
test byte [r11 + 0x40], 0x10
jne 0x14008c48d
test byte [rdx + 0x40], 0x20
jne 0x14008c434
inc dword [r15 + 0x38]
xor r8d, r8d
mov eax, dword [r15 + 0x38]
mov rcx, rsi
mov r9d, eax
mov dword [rsp + 0x50], eax
lea edx, [r8 + 0x46]
call fcn.14007b2c0
jmp 0x14008c481
mov rax, qword [rax + 8]
mov r14, qword [rbp - 0x40]
mov r11, qword [rsp + 0x60]
mov qword [rbp - 0x48], rax
jmp 0x14008c3f0
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x14008c452
nop dword [rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14008c452
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14008c440
mov edi, dword [r15 + 0x34]
mov edx, 0x6e
mov r8d, edi
mov dword [rsp + 0x50], edi
mov rcx, rsi
lea eax, [rdi + 1]
mov dword [r15 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.14007b2c0
mov rdx, rbx
mov rcx, r15
call fcn.140086780
inc dword [r15 + 0x38]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x70], eax
movsxd rdx, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rbp - 0x70], edx
cmp dword [rax + 0x3c], edx
jg 0x14008c4bd
mov r9d, dword [rbp - 0x78]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r12d
lea edx, [r8 + 0x43]
call fcn.140038220
mov dword [rbp - 0x70], eax
jmp 0x14008c4e7
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rbp - 0x78]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rbp - 0x30]
mov rdi, r12
mov eax, dword [rax + 0x14]
cmp eax, 1
jle 0x14008c615
mov ebx, r12d
test eax, eax
jle 0x14008c615
mov r15, qword [rbp - 0x30]
mov r8d, 0x1fff
mov rsi, r12
mov rcx, qword [r15 + 0x20]
movsxd rax, ebx
shl rax, 6
add rax, rcx
mov rdx, qword [rdi + rcx]
cmp rax, r13
je 0x14008c567
test byte [rdi + rcx + 0x12], 6
jne 0x14008c567
test word [rdi + rcx + 0x14], r8w
je 0x14008c567
test rdx, rdx
je 0x14008c54d
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.140030630
jmp 0x14008c550
mov rax, r12
mov r8, rax
mov rdx, rsi
mov rcx, r14
call fcn.140058330
mov rsi, rax
mov r8d, 0x1fff
inc ebx
add rdi, 0x40
cmp ebx, dword [r15 + 0x14]
jl 0x14008c512
mov r15, qword [rbp - 0x28]
mov rdi, rsi
mov qword [rbp - 0x38], rsi
test rsi, rsi
mov rsi, qword [rbp]
je 0x14008c615
mov rcx, qword [r15]
mov edx, 0x48
call fcn.140055480
mov rbx, rax
test rax, rax
je 0x14008c603
xor eax, eax
mov rcx, rbx
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
or eax, 0xffffffff
mov word [rbx + 0x32], ax
mov byte [rbx], 0x2c
mov qword [rbx + 0x18], rdi
mov eax, dword [rdi + 4]
and eax, 0x200104
or dword [rbx + 4], eax
call fcn.140031320
mov rax, qword [r15]
mov r8d, dword [rax + 0x88]
cmp dword [rbx + 0x28], r8d
jle 0x14008c60e
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r15
call fcn.140057c20
jmp 0x14008c60e
mov rcx, qword [r15]
mov rdx, rdi
call fcn.14005bd80
mov rdi, rbx
mov qword [rbp - 0x38], rbx
mov rax, qword [rsp + 0x60]
lea r8, str.MULTI_INDEX_OR
mov ebx, 0x400
mov edx, 1
mov rcx, r15
movzx eax, word [rax + 0x40]
and ax, bx
or ax, 0x20
mov word [rsp + 0x58], ax
call fcn.140082d20
mov rax, qword [rbp - 0x10]
mov r14d, r12d
mov dword [rsp + 0x5c], r12d
cmp dword [rax + 0x14], r12d
jle 0x14008cb6e
mov edx, dword [rsp + 0x4c]
mov rcx, r12
mov qword [rbp - 0x28], rcx
mov rax, qword [rax + 0x20]
cmp dword [rcx + rax + 0x1c], edx
je 0x14008c679
test word [rcx + rax + 0x14], bx
je 0x14008cb48
mov r8, qword [rcx + rax]
mov ebx, r12d
mov dword [rsp + 0x68], ebx
test rdi, rdi
je 0x14008c690
mov qword [rdi + 0x10], r8
mov r8, rdi
mov eax, dword [rbp - 0x18]
xor r9d, r9d
mov r13, qword [rbp - 0x48]
mov rcx, r15
mov dword [rsp + 0x30], eax
mov rdx, r13
movzx eax, word [rsp + 0x58]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r12
call fcn.140089da0
mov qword [rbp - 0x50], rax
mov rdi, rax
test rax, rax
je 0x14008cb3b
xor r9d, r9d
lea r8, [rax + 0x398]
mov rdx, r13
mov rcx, r15
call fcn.14008dc70
mov rax, qword [rsp + 0x60]
mov r13, qword [rbp - 0x80]
test byte [rax + 0x40], 0x10
jne 0x14008ca4a
mov rcx, qword [rbp - 0x10]
mov edx, r14d
mov ecx, dword [rcx + 0x14]
dec ecx
cmp r14d, ecx
mov ecx, 0xffffffff
cmove edx, ecx
test byte [r13 + 0x40], 0x20
mov dword [rsp + 0x78], edx
jne 0x14008c758
mov eax, dword [rsp + 0x70]
mov r8d, ecx
mov r9d, dword [rsp + 0x4c]
mov rcx, r15
mov byte [rsp + 0x28], bl
mov rdx, r13
mov dword [rsp + 0x20], eax
call fcn.140058f30
mov ecx, dword [rsp + 0x78]
xor r9d, r9d
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x2d]
call fcn.14007b5b0
mov ebx, eax
jmp 0x14008ca4a
mov rcx, r13
call fcn.14006f820
mov qword [rbp + 0x18], rax
movzx ebx, word [rax + 0x5e]
cmp ebx, 1
jne 0x14008c793
movzx ecx, byte [r15 + 0x1f]
test cl, cl
jne 0x14008c780
inc dword [r15 + 0x38]
mov r14d, dword [r15 + 0x38]
jmp 0x14008c7c2
dec cl
movzx eax, cl
mov byte [r15 + 0x1f], al
mov r14d, dword [r15 + rax*4 + 0x18c]
jmp 0x14008c7c2
mov ecx, dword [r15 + 0x28]
mov r14d, dword [r15 + 0x2c]
mov dword [rsp + 0x7c], r14d
cmp ebx, ecx
jg 0x14008c7b4
lea eax, [rbx + r14]
sub ecx, ebx
mov dword [r15 + 0x2c], eax
mov dword [r15 + 0x28], ecx
jmp 0x14008c7c7
mov eax, dword [r15 + 0x38]
lea r14d, [rax + 1]
add eax, ebx
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x7c], r14d
mov rdi, r12
mov r13, rbx
test ebx, ebx
je 0x14008c87e
mov rsi, qword [rbp + 0x18]
mov ebx, r14d
mov r14, qword [rbp - 0x80]
mov rax, qword [rsi + 8]
mov rdx, r14
mov r9d, dword [rsp + 0x4c]
mov rcx, r15
mov byte [rsp + 0x28], r12b
mov dword [rsp + 0x20], ebx
movsx r8d, word [rax + rdi*2]
call fcn.140058f30
mov r8d, eax
cmp eax, ebx
je 0x14008c860
mov r10, qword [r15 + 0x10]
mov rdx, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rdx + 0x3c], ecx
jg 0x14008c834
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov edx, 0x4c
mov rcx, r10
call fcn.140038220
jmp 0x14008c860
lea eax, [rcx + 1]
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov dword [rax + rcx*8], 0x4c
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
inc ebx
inc rdi
cmp rdi, r13
jl 0x14008c7e0
mov rsi, qword [rbp]
mov ebx, r13d
mov r14d, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x78]
test edx, edx
je 0x14008c913
movsxd r8, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x68], r8d
cmp dword [rax + 0x3c], r8d
jg 0x14008c8c2
mov r8d, dword [rsp + 0x50]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], r14d
lea edx, [r9 + 0x1e]
call fcn.140038220
mov edx, dword [rsp + 0x78]
mov r8d, eax
mov dword [rsp + 0x68], eax
jmp 0x14008c8f4
mov r9d, dword [rsp + 0x50]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rsi]
cmp byte [rax + 0x61], r12b
jne 0x14008c911
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], ebx
test edx, edx
js 0x14008c9bd
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008c946
mov eax, dword [rsp + 0x70]
mov r9d, ebx
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x65
mov rcx, rsi
call fcn.140038220
jmp 0x14008c974
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x65
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
mov r9d, dword [rsp + 0x70]
mov edx, 0x81
mov r8d, dword [rsp + 0x50]
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r14d
call fcn.14007b5b0
mov ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x14008c9bd
mov eax, dword [rsi + 0xb8]
test eax, eax
jle 0x14008c9bd
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov ecx, 0x10
mov word [rax + rdx*8 + 2], cx
cmp ebx, 1
jne 0x14008ca1d
test r14d, r14d
je 0x14008ca05
movzx r8d, byte [r15 + 0x1f]
cmp r8b, 8
jae 0x14008ca05
movzx edx, byte [r15 + 0x25]
lea rax, [r15 + 0xc4]
mov ecx, r12d
test edx, edx
je 0x14008c9f5
cmp dword [rax + 0xc], r14d
je 0x14008ca0f
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14008c9e5
movzx eax, r8b
mov dword [r15 + rax*4 + 0x18c], r14d
inc byte [r15 + 0x1f]
mov rdi, qword [rbp - 0x50]
mov r13, qword [rbp - 0x80]
jmp 0x14008ca41
mov rdi, qword [rbp - 0x50]
mov r13, qword [rbp - 0x80]
mov byte [rax + 6], 1
jmp 0x14008ca41
mov r8d, ebx
mov edx, r14d
mov rcx, r15
call fcn.140058700
mov rdi, qword [rbp - 0x50]
mov r13, qword [rbp - 0x80]
cmp ebx, dword [r15 + 0x28]
jle 0x14008ca41
mov dword [r15 + 0x28], ebx
mov dword [r15 + 0x2c], r14d
mov r14d, dword [rsp + 0x5c]
mov ebx, dword [rsp + 0x68]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008ca77
mov r9d, dword [rsp + 0x54]
mov edx, 0xe
mov r8d, dword [rbp - 0x78]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140038220
jmp 0x14008caa8
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x54]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
test ebx, ebx
je 0x14008cadb
mov edx, dword [rsi + 0xb8]
jns 0x14008cab7
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], r12b
je 0x14008cac9
lea rax, [0x1401f0030]
jmp 0x14008cad8
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
cmp byte [rdi + 0x46], r12b
mov ecx, 1
mov eax, dword [rsp + 0x74]
mov rdx, qword [rdi + 0x3e0]
cmovne eax, ecx
mov dword [rsp + 0x74], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x14008cb2f
test r14d, r14d
je 0x14008cb0f
mov rax, qword [rbp - 8]
cmp qword [rdx + 0x20], rax
jne 0x14008cb2f
test byte [r13 + 0x40], 0x20
je 0x14008cb25
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x14008cb2f
mov rbx, qword [rdx + 0x20]
mov qword [rbp - 8], rbx
jmp 0x14008cb33
mov qword [rbp - 8], r12
mov rcx, rdi
call fcn.14008d250
mov edx, dword [rsp + 0x4c]
mov ebx, 0x400
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x10]
inc r14d
mov rdi, qword [rbp - 0x38]
add rcx, 0x40
mov dword [rsp + 0x5c], r14d
mov qword [rbp - 0x28], rcx
cmp r14d, dword [rax + 0x14]
jl 0x14008c664
mov r13, qword [rbp + 8]
mov ecx, dword [r15 + 0x1e0]
test ecx, ecx
jne 0x14008cb7e
mov eax, r12d
jmp 0x14008cbb2
mov rdx, qword [r15 + 0x10]
test ecx, ecx
jns 0x14008cb8e
mov ecx, dword [rdx + 0xb8]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], r12b
je 0x14008cba0
lea rax, [0x1401f0030]
jmp 0x14008cbaf
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x68]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rsp + 0x40]
mov dword [r15 + 0x1e0], eax
mov rax, qword [rbp - 8]
mov qword [r8 + 0x38], rax
test rax, rax
je 0x14008cbd2
mov eax, dword [rbp - 0x18]
mov dword [r8 + 8], eax
mov rdx, qword [rbp - 0x38]
mov rbx, qword [rbp - 0x40]
test rdx, rdx
je 0x14008cbf0
mov rcx, rbx
mov qword [rdx + 0x10], r12
call fcn.14005bd80
mov r8, qword [rsp + 0x40]
mov ecx, dword [rbp - 0x70]
mov edx, dword [rsi + 0xb8]
test ecx, ecx
jns 0x14008cc00
lea ecx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], r12b
je 0x14008cc12
lea rax, [0x1401f0030]
jmp 0x14008cc21
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r8 + 0xc]
cmp dword [rax + 0x3c], ecx
jg 0x14008cc51
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0xd]
call fcn.140038220
jmp 0x14008cc78
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008cc98
or eax, 0xffffffff
sub eax, dword [rsp + 0x54]
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov r14, qword [rsp + 0x60]
cmp byte [r14 + 0x42], 1
jbe 0x14008ccf2
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14008ccf2
test rbx, rbx
je 0x14008cced
cmp qword [rbx + 0x2a8], r12
je 0x14008ccc8
mov rdx, rcx
mov rcx, rbx
call fcn.14003b520
jmp 0x14008ccf2
cmp rcx, qword [rbx + 0x190]
jb 0x14008cced
cmp rcx, qword [rbx + 0x198]
jae 0x14008cced
mov rax, qword [rbx + 0x188]
mov qword [rcx], rax
mov qword [rbx + 0x188], rcx
jmp 0x14008ccf2
call fcn.1400183e0
mov r11, qword [rsp + 0x40]
cmp dword [rsp + 0x74], r12d
jne 0x14008b5d5
test byte [r13 + 0x12], 4
mov edx, r12d
jne 0x14008b5d5
cmp dword [r11], r12d
je 0x14008cd23
mov rax, qword [r13]
test byte [rax + 4], 1
je 0x14008b5d5
mov rax, qword [r13 + 0x38]
test qword [r11 + 0x50], rax
jne 0x14008b5d5
test edx, edx
je 0x14008cd53
movzx eax, word [r13 + 0x12]
mov ecx, 0x400
test cx, ax
je 0x14008cd53
mov ebx, 0x200
or ax, bx
mov word [r13 + 0x12], ax
jmp 0x14008cd59
or word [r13 + 0x12], 4
movsxd rax, dword [r13 + 0x18]
test eax, eax
js 0x14008b5d5
mov rcx, rax
mov rax, qword [r13 + 8]
shl rcx, 6
mov r13, rcx
add r13, qword [rax + 0x20]
add byte [r13 + 0x16], 0xff
jne 0x14008b5d5
inc edx
test byte [r13 + 0x12], 4
je 0x14008cd10
jmp 0x14008b5d5
test r8b, 0x20
jne 0x14008b5cb
movsxd rcx, dword [rbp - 0x68]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x16d1b4]
movzx edx, byte [rcx + rdx + 0x16d1c0]
mov rcx, rsi
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x4c]
mov r8d, eax
mov dword [r11 + 0x30], eax
call fcn.14007b2c0
mov r11, qword [rsp + 0x40]
inc eax
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2f], 1
jmp 0x14008b5d0
mov r9, qword [rbp - 0x60]
jmp 0x14008b5d8
mov rax, qword [rbp - 0x20]
mov r14, qword [rdi]
test byte [rax + 0x3c], 8
je 0x14008ce02
test byte [r14 + 4], 1
je 0x14008cf4d
cmp r8, 1
jne 0x14008ce5c
xor eax, eax
mov qword [rbp + 0x18], r9
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov eax, dword [r11 + 4]
mov dword [rbp + 0x20], eax
lea rax, [rbp + 0x18]
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x38], r10
test r14, r14
je 0x14008ce4b
mov rdx, r14
lea rcx, [rbp + 0x30]
call fcn.140099200
mov edx, dword [rsp + 0x54]
mov r11, qword [rsp + 0x40]
cmp byte [rbp + 0x54], 0
je 0x14008ce62
mov r13d, 2
jmp 0x14008cf4d
cmp r8, 3
jge 0x14008ce84
movzx ecx, word [rdi + 0x12]
mov eax, 0x1000
test ax, cx
je 0x14008ce84
test r13d, r13d
jne 0x14008cf4d
mov r13d, 3
jmp 0x14008cf4d
mov eax, 0x200
test ax, cx
je 0x14008cefc
mov edx, dword [r11 + 0x24]
test edx, edx
je 0x14008cefc
mov rax, qword [rsi + 0x18]
mov r8d, edx
movsxd rbx, dword [rsi + 0xb8]
and edx, 1
add edx, 0x15
shr r8d, 1
cmp dword [rax + 0x3c], ebx
jg 0x14008ceca
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.140038220
mov ebx, eax
jmp 0x14008cefc
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r12w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x58]
mov r9d, 0x10
mov rdx, r14
mov rcx, r15
call fcn.14005c120
test ebx, ebx
je 0x14008cf44
mov edx, dword [rsi + 0xb8]
jns 0x14008cf20
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x14008cf32
lea rax, [0x1401f0030]
jmp 0x14008cf41
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [rdi + 0x12], 4
mov edx, dword [rsp + 0x54]
mov r8, qword [rbp + 8]
lea r10, [0x140030a60]
mov r11, qword [rsp + 0x40]
dec edx
mov r14, qword [rsp + 0x60]
add rdi, 0x40
mov r9, qword [rbp - 0x60]
mov dword [rsp + 0x54], edx
test edx, edx
jg 0x14008b610
mov r8, qword [rbp - 0x30]
lea r10, [0x140030a60]
mov r11, qword [rsp + 0x40]
mov ecx, r13d
mov r14, qword [rsp + 0x60]
test r13d, r13d
jg 0x14008b5f0
mov r14d, dword [r8 + 0x14]
mov rdi, qword [r8 + 0x20]
test r14d, r14d
jle 0x14008d111
mov rsi, r11
nop dword [rax]
test byte [rdi + 0x12], 6
jne 0x14008d0fd
movzx eax, word [rdi + 0x14]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x14008d0fd
mov ecx, dword [rsp + 0x4c]
cmp dword [rdi + 0x1c], ecx
jne 0x14008d0fd
cmp dword [rsi], 0
jne 0x14008d0fd
mov eax, dword [rdi + 0x28]
mov rbx, r12
mov r13, qword [rdi]
mov qword [rbp + 0x80], r8
mov qword [rbp + 0x88], r8
mov qword [rbp + 0x98], r12
mov byte [rbp + 0xa0], 0
mov qword [rbp + 0x90], r12
cmp eax, 0xfffffffe
je 0x14008d083
mov dword [rbp + 0xac], ecx
lea rcx, [rbp + 0x80]
mov qword [rbp + 0xa4], 0x83
mov word [rbp + 0xd8], ax
mov word [rbp + 0xa1], 0x101
call fcn.14009de30
mov rdx, rax
test rax, rax
je 0x14008d083
mov rax, qword [rdx + 0x30]
test qword [rbp + 0x10], rax
jne 0x14008d06f
test rax, rax
jne 0x14008d068
test byte [rdx + 0x14], 0x82
jne 0x14008d086
test rbx, rbx
cmove rbx, rdx
lea rcx, [rbp + 0x80]
call fcn.14009de30
mov rdx, rax
test rax, rax
jne 0x14008d053
mov rdx, rbx
test rdx, rdx
je 0x14008d0f9
test byte [rdx + 0x12], 4
jne 0x14008d0f9
test byte [rdx + 0x14], 1
je 0x14008d0af
mov rax, qword [rdx]
test dword [rax + 4], 0x800
je 0x14008d0af
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jg 0x14008d0f9
mov rax, qword [rdx]
mov r9d, 0x10
mov r8d, dword [rbp - 0x58]
lea rdx, [rbp + 0x30]
mov rcx, r15
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x40], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x60], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x70], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rbp + 0x40], rax
call fcn.14005c120
mov r8, qword [rbp - 0x30]
dec r14d
add rdi, 0x40
test r14d, r14d
jg 0x14008cfb0
mov rsi, qword [rbp]
mov rdi, qword [rsp + 0x40]
mov r9d, dword [rdi]
test r9d, r9d
je 0x14008d217
mov eax, dword [rsi + 0xb8]
mov dword [rdi + 0x1c], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008d155
mov eax, 1
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov rcx, rsi
lea edx, [rax + 0x42]
call fcn.140038220
jmp 0x14008d184
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
cmp byte [r15 + 0x25], 0
mov r8d, r12d
jbe 0x14008d1c6
lea rdx, [r15 + 0xd0]
cmp byte [rdx - 6], 0
je 0x14008d1b5
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x14008d1b5
movzx ecx, al
mov eax, dword [rdx]
mov dword [r15 + rcx*4 + 0x18c], eax
inc byte [r15 + 0x1f]
movzx eax, byte [r15 + 0x25]
inc r8d
add rdx, 0x14
cmp r8d, eax
jl 0x14008d195
mov rsi, qword [rbp - 0x30]
mov byte [r15 + 0x25], 0
cmp dword [rsi + 0x14], 0
mov rbx, qword [rsi + 0x20]
jle 0x14008d217
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x14008d20a
mov rax, qword [rbx + 0x38]
test qword [rdi + 0x50], rax
jne 0x14008d20a
mov r8d, dword [rbp - 0x58]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, r15
call fcn.14005c120
or word [rbx + 0x12], 4
inc r12d
add rbx, 0x40
cmp r12d, dword [rsi + 0x14]
jl 0x14008d1e0
mov rax, qword [rdi + 0x50]
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1400a7ab0
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret