Function at 0x1401edb60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rbx, qword [rbp + 0xb0]
lea rax, [r8 + 0x70]
mov qword [rbp - 0x38], rax
xor r15d, r15d
mov rax, qword [rcx]
mov r11, rcx
mov qword [rbp - 0x60], rax
mov edi, r9d
movzx eax, byte [rbx + 0x34]
mov r9, r8
mov rsi, qword [rbx + 0x50]
lea r10d, [r15 + 1]
imul rcx, rax, 0x70
mov rax, qword [r8 + 8]
mov r14, rdx
movsxd r8, dword [r8 + 0x25c]
add rax, 8
add rax, rcx
mov qword [rbp - 0x78], r15
mov qword [rsp + 0x60], rsi
mov edx, r15d
mov qword [rbp - 0x40], rax
mov r12d, dword [rax + 0x44]
mov dword [rsp + 0x4c], r12d
test r8, r8
jle 0x1401edc0d
mov ecx, r15d
lea rax, [r9 + 0x260]
cmp dword [rax], r12d
je 0x1401edcb7
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1401edbf6
mov rax, r15
mov rdx, qword [rbp - 0x40]
not rax
and rax, qword [rbp + 0xb8]
mov ecx, edi
mov qword [rbx + 0x58], rax
mov r13d, dword [r11 + 0x44]
mov r10, qword [r9 + 0x68]
dec r13d
mov dword [r11 + 0x44], r13d
shr r10, cl
and r10d, 1
mov dword [rbx + 0x10], r13d
mov dword [rbx + 0xc], r13d
mov eax, dword [r11 + 0x44]
dec eax
mov qword [rsp + 0x70], r10
mov dword [r11 + 0x44], eax
mov dword [rbp - 0x80], r13d
mov dword [rbp - 0x48], eax
mov dword [rbx + 0x18], eax
cmp byte [rbx + 0x34], r15b
jbe 0x1401edcf3
test byte [rdx + 0x3c], 8
je 0x1401edcf3
mov edx, dword [r11 + 0x38]
inc edx
mov dword [r11 + 0x38], edx
mov dword [rbx], edx
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1401edcc4
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 0x45]
call fcn.14018dca0
mov r10, qword [rsp + 0x70]
mov r11, qword [rbp + 0x90]
mov r9, qword [rbp + 0xa0]
jmp 0x1401edcef
mov ecx, edx
mov rax, r10
shl rax, cl
jmp 0x1401edc10
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rdx, qword [rbp - 0x40]
mov ecx, edi
test edi, edi
jle 0x1401edd1a
nop dword [rax]
mov eax, ecx
add rax, 9
lea rax, [rax + rax*2]
shl rax, 5
cmp dword [rax + r9], r15d
jne 0x1401edd1a
dec ecx
test ecx, ecx
jg 0x1401edd00
mov r8d, dword [rdx + 0x40]
movsxd rax, ecx
lea rcx, [rax + rax*2]
shl rcx, 5
mov r9d, dword [rcx + r9 + 0x36c]
test r8b, 0x10
je 0x1401ede1a
movsxd rcx, dword [r14 + 0x90]
mov ebx, dword [rdx + 0x34]
mov edx, dword [rdx + 0x30]
cmp dword [r14 + 0x94], ecx
jg 0x1401edd69
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, r14
lea edx, [r9 + 0xd]
call fcn.14018dca0
jmp 0x1401edd97
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], edx
jg 0x1401eddd6
mov r9d, r13d
mov dword [rsp + 0x20], r15d
mov r8d, ebx
mov edx, 0xe
mov rcx, r14
call fcn.14018dca0
mov r9, qword [rbp + 0xb0]
mov edx, eax
mov dword [r9 + 0x3c], eax
mov byte [r9 + 0x35], 0xb
jmp 0x1401f00cf
mov r9, qword [rbp + 0xb0]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [r9 + 0x3c], edx
mov byte [r9 + 0x35], 0xb
jmp 0x1401f00cf
mov edx, dword [rsi + 0x28]
bt edx, 0xa
jae 0x1401ee4c1
movzx ebx, word [rsi + 0x2c]
mov dword [rsp + 0x7c], ebx
lea ecx, [rbx + 2]
cmp ecx, 1
jne 0x1401ede5d
movzx eax, byte [r11 + 0x1f]
test al, al
jne 0x1401ede4a
inc dword [r11 + 0x38]
mov r13d, dword [r11 + 0x38]
jmp 0x1401ede8e
dec al
movzx eax, al
mov byte [r11 + 0x1f], al
mov r13d, dword [r11 + rax*4 + 0xd4]
jmp 0x1401ede8e
mov edx, dword [r11 + 0x28]
mov r13d, dword [r11 + 0x2c]
mov dword [rbp + 0xa8], r13d
cmp ecx, edx
jg 0x1401ede80
lea eax, [rcx + r13]
sub edx, ecx
mov dword [r11 + 0x2c], eax
mov dword [r11 + 0x28], edx
jmp 0x1401ede95
mov eax, dword [r11 + 0x38]
lea r13d, [rax + 1]
add eax, ecx
mov dword [r11 + 0x38], eax
mov dword [rbp + 0xa8], r13d
mov rcx, qword [rbp + 0xb0]
mov edi, dword [rcx + 0xc]
mov dword [rsp + 0x58], edi
test ebx, ebx
je 0x1401edfcc
mov r14, qword [rsp + 0x70]
lea edi, [r13 + 2]
mov r12d, 0xfffffffe
mov rsi, r15
sub r12d, r13d
mov r13, qword [rbp + 0x90]
nop word [rax + rax]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x38]
mov rax, qword [rsi + rax]
test rax, rax
je 0x1401edf9e
test byte [rax + 0x14], 1
je 0x1401edf1e
mov r8, rcx
mov dword [rsp + 0x28], edi
mov rcx, r13
mov dword [rsp + 0x20], r14d
lea r9d, [r12 + rdi]
mov rdx, rax
call fcn.14017c800
mov r8, qword [rbp + 0xb0]
mov ecx, dword [r8 + 0x10]
mov dword [rsp + 0x58], ecx
mov rcx, r8
jmp 0x1401edf9e
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1401edf8c
movzx eax, byte [rdx]
cmp al, 0xad
jne 0x1401edf35
movzx eax, byte [rdx + 2]
cmp al, 0xae
jne 0x1401edf42
mov rax, qword [rdx + 0x20]
mov rcx, rax
jmp 0x1401edf4e
cmp al, 0x88
jne 0x1401edf8c
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jle 0x1401edf8c
test dword [rdx + 4], 0x800
mov rcx, r13
je 0x1401edf86
mov rbx, qword [r13 + 0x10]
call fcn.1401acc40
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x4d
mov rcx, rbx
call fcn.1401dc1d0
mov ebx, dword [rsp + 0x7c]
jmp 0x1401edf97
mov rdx, qword [rax + 8]
jmp 0x1401edf8f
mov rcx, r13
mov r8d, edi
call fcn.1401b3920
mov rcx, qword [rbp + 0xb0]
inc edi
add rsi, 8
lea eax, [r12 + rdi]
cmp eax, ebx
jl 0x1401eded0
mov r14, qword [rbp + 0x98]
mov r13d, dword [rbp + 0xa8]
mov edi, dword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x4c]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [rsi + 0x18]
cmp dword [r14 + 0x94], ecx
jg 0x1401edff9
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x45
mov r9d, r13d
mov rcx, r14
call fcn.14018dca0
jmp 0x1401ee028
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [r14 + 0x90]
lea edx, [r13 + 1]
cmp dword [r14 + 0x94], ecx
jg 0x1401ee056
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x45
mov r8d, ebx
mov rcx, r14
call fcn.14018dca0
jmp 0x1401ee084
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp byte [rsi + 0x1c], r15b
mov ecx, 0xfffffff9
mov eax, 0xffffffff
mov r9d, edi
cmovne eax, ecx
mov r8d, r12d
mov dword [rsp + 0x30], eax
mov rax, qword [rsi + 0x20]
lea edx, [rcx + 0x10]
mov qword [rsp + 0x28], rax
mov rcx, r14
mov dword [rsp + 0x20], r13d
call fcn.1401dc240
mov r10, qword [rbp - 0x60]
mov byte [rsi + 0x1c], r15b
cmp byte [r10 + 0x61], r15b
je 0x1401ee0ca
mov qword [rsi + 0x20], r15
mov r9, qword [rbp + 0xb0]
lea esi, [rbx - 1]
mov r8, qword [rbp + 0xa0]
mov eax, 0x3d
mov ecx, 0xae
mov dword [r9 + 0x38], r12d
cmp byte [r8 + 0x42], r15b
cmovne eax, ecx
mov byte [r9 + 0x35], al
mov eax, dword [r14 + 0x90]
mov dword [r9 + 0x3c], eax
test esi, esi
js 0x1401f0082
movsxd r12, dword [r9 + 0x40]
lea ecx, [r13 + 2]
mov r8, qword [rsp + 0x60]
add ecx, esi
movsxd rax, ebx
mov dword [rbp + 0xa8], ecx
lea r13, [rax*8 - 8]
nop word [rax + rax]
mov rax, qword [r8 + 0x38]
mov rbx, qword [rax + r13]
lea rax, [r12 - 1]
movzx edx, word [rbx + 0x14]
and dx, 1
cmove rax, r12
mov r12, rax
cmp esi, 0x10
jae 0x1401ee1e8
movzx eax, word [r8 + 0x1e]
movzx ecx, si
shr ax, cl
test al, 1
je 0x1401ee1e2
test byte [rbx + 0x12], 4
mov edx, r15d
jne 0x1401ee4a1
cmp dword [r9], r15d
je 0x1401ee183
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1401ee4a1
mov rax, qword [rbx + 0x30]
test qword [r9 + 0x58], rax
jne 0x1401ee4a1
test edx, edx
je 0x1401ee1ae
movzx eax, word [rbx + 0x12]
bt ax, 0xa
jae 0x1401ee1ae
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x1401ee1b3
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x1401ee4a1
mov rcx, qword [rbx + 8]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1401ee4a1
inc edx
test byte [rbx + 0x12], 4
je 0x1401ee171
jmp 0x1401ee4a1
mov ecx, dword [rbp + 0xa8]
test dx, dx
je 0x1401ee4a7
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
cmp al, 0xad
jne 0x1401ee203
movzx eax, byte [rcx + 2]
cmp al, 0xae
jne 0x1401ee20d
mov rax, qword [rcx + 0x20]
jmp 0x1401ee219
cmp al, 0x88
jne 0x1401ee222
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jne 0x1401ee4a1
cmp byte [r10 + 0x61], r15b
jne 0x1401ee2ce
mov rax, qword [r9 + 0x48]
lea rcx, [r12 + r12*4]
mov edx, dword [rax + rcx*4 + 4]
test edx, edx
jns 0x1401ee245
mov edx, dword [r14 + 0x90]
dec edx
mov rax, qword [r14]
cmp byte [rax + 0x61], r15b
je 0x1401ee257
lea rax, [0x1402dfee8]
jmp 0x1401ee269
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
movsxd rcx, dword [r14 + 0x90]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
cmp dword [r14 + 0x94], ecx
jg 0x1401ee297
mov rcx, r14
mov dword [rsp + 0x20], r10d
call fcn.14018dca0
jmp 0x1401ee2ce
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
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], r15
mov byte [rax + rcx*8 + 1], r15b
mov rax, qword [rbp + 0x90]
mov edx, 0x48
mov rcx, qword [rax]
call fcn.1401b03f0
mov rdi, rax
test rax, rax
je 0x1401ee491
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov ecx, r15d
mov edx, r15d
movups xmmword [rdi + 0x10], xmm0
mov dword [rsp + 0x44], ecx
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov rax, qword [rdi + 0x10]
mov byte [rdi], 0x35
mov word [rdi + 0x32], 0xffff
test rax, rax
je 0x1401ee331
mov eax, dword [rax + 0x28]
test eax, eax
jle 0x1401ee331
mov ecx, eax
mov dword [rsp + 0x44], eax
mov edx, eax
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1401ee345
cmp dword [rax + 0x28], edx
cmovg ecx, dword [rax + 0x28]
mov dword [rsp + 0x44], ecx
test dword [rdi + 4], 0x800
je 0x1401ee362
mov rcx, qword [rdi + 0x20]
lea rdx, [rsp + 0x44]
call fcn.14018e380
mov ecx, dword [rsp + 0x44]
jmp 0x1401ee3c9
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x1401ee3c9
movsxd r8, dword [rdx]
test r8, r8
jle 0x1401ee390
add rdx, 8
mov rax, qword [rdx]
test rax, rax
je 0x1401ee386
cmp dword [rax + 0x28], ecx
cmovg ecx, dword [rax + 0x28]
add rdx, 0x20
sub r8, 1
jne 0x1401ee377
mov r8, qword [rdi + 0x20]
mov edx, r15d
movsxd r9, dword [r8]
test r9, r9
jle 0x1401ee3c0
add r8, 8
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r8]
lea r8, [r8 + 0x20]
or edx, dword [rax + 4]
sub r9, 1
jne 0x1401ee3b0
and edx, 0x200104
or dword [rdi + 4], edx
mov r9, qword [rbp + 0x90]
inc ecx
mov dword [rdi + 0x28], ecx
mov rax, qword [r9]
mov r8d, dword [rax + 0x88]
cmp ecx, r8d
jle 0x1401ee3f3
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, r9
call fcn.1401b29d0
mov rax, qword [rbx]
mov edx, 0x49
mov rbx, qword [rbp - 0x60]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
mov rcx, rbx
call fcn.1401b03f0
mov rcx, rax
test rax, rax
je 0x1401ee479
mov r8, qword [rbp + 0xb0]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor eax, eax
mov r9d, 0x10
movups xmmword [rcx + 0x10], xmm0
mov rdx, rdi
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xad
mov word [rcx + 0x32], 0xffff
mov byte [rax], r15b
mov eax, dword [rbp + 0xa8]
mov dword [rcx + 0x28], 1
mov qword [rdi + 0x18], rcx
mov dword [rcx + 0x2c], eax
mov r8d, dword [r8 + 0x18]
mov rcx, qword [rbp + 0x90]
call fcn.1401b7620
jmp 0x1401ee47d
mov qword [rdi + 0x18], rcx
mov rdx, rdi
mov qword [rdi + 0x10], r15
mov rcx, rbx
call fcn.1401b7260
mov r10, rbx
jmp 0x1401ee495
mov r10, qword [rbp - 0x60]
mov r9, qword [rbp + 0xb0]
mov r8, qword [rsp + 0x60]
mov ecx, dword [rbp + 0xa8]
dec ecx
sub r13, 8
sub esi, 1
mov dword [rbp + 0xa8], ecx
jns 0x1401ee130
jmp 0x1401f00cf
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x1401ee5bb
mov rax, qword [rsi + 0x38]
xor r9d, r9d
mov r8, qword [rbp + 0xb0]
mov rcx, r11
mov rdi, qword [rax]
inc dword [r11 + 0x38]
mov rdx, rdi
mov ebx, dword [r11 + 0x38]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r10d
call fcn.14017c800
mov edx, eax
cmp eax, ebx
je 0x1401ee526
test ebx, ebx
je 0x1401ee526
mov rcx, qword [rbp + 0x90]
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1401ee526
mov dword [rcx + rax*4 + 0xd4], ebx
inc byte [rcx + 0x1f]
mov r9, qword [rbp + 0xb0]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [r9 + 0x10]
cmp dword [r14 + 0x94], ecx
jg 0x1401ee561
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r12d
mov edx, 0x1f
mov rcx, r14
call fcn.14018dca0
mov r9, qword [rbp + 0xb0]
jmp 0x1401ee590
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov rsi, qword [rbp + 0x90]
mov r8, qword [rbp + 0xa0]
mov byte [r9 + 0x35], 0xae
mov rax, qword [rdi + 0x30]
test qword [r9 + 0x58], rax
jne 0x1401f00dd
or word [rdi + 0x12], 4
jmp 0x1401f00dd
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x1401ee826
mov r8, qword [rsp + 0x60]
mov esi, 0xae
mov dword [rsp + 0x58], r15d
mov r12d, esi
mov rdi, r15
mov rbx, r15
test dl, 0x20
je 0x1401ee5f8
mov rax, qword [r8 + 0x38]
mov ecx, 8
mov rbx, qword [rax]
jmp 0x1401ee5fb
mov rcx, r15
test dl, 0x10
je 0x1401ee608
mov rax, qword [r8 + 0x38]
mov rdi, qword [rcx + rax]
test r10d, r10d
je 0x1401ee616
mov rax, rbx
mov rbx, rdi
mov rdi, rax
test rbx, rbx
je 0x1401ee6fa
mov rsi, qword [rbx]
mov dword [rbp + 0xa8], 0x18161719
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
call fcn.1401b80b0
test eax, eax
je 0x1401ee68f
movzx eax, byte [r11 + 0x1f]
test al, al
jne 0x1401ee64f
inc dword [r11 + 0x38]
mov ebx, dword [r11 + 0x38]
jmp 0x1401ee660
dec al
movzx eax, al
mov byte [r11 + 0x1f], al
mov ebx, dword [r11 + rax*4 + 0xd4]
mov rdx, qword [rsi + 0x18]
mov r9d, 1
mov r8d, ebx
mov rcx, r11
call fcn.14017cf40
movzx eax, byte [rsi]
mov r13d, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0xa8]
jmp 0x1401ee6bc
lea r8, [rsp + 0x7c]
mov rcx, r11
call fcn.1401b6be0
mov rcx, qword [rbp + 0xb0]
mov rdx, rbx
mov r13d, eax
call fcn.140181b70
movzx r11d, byte [rsi]
mov ebx, dword [rsp + 0x7c]
movzx ecx, byte [rbp + r11 + 0x72]
mov r8d, dword [rsp + 0x4c]
movzx edx, cl
mov rcx, r14
mov dword [rsp + 0x20], r13d
mov r13d, dword [rbp - 0x80]
mov r9d, r13d
call fcn.1401dc1d0
mov rcx, qword [rbp + 0x90]
mov esi, r12d
test ebx, ebx
je 0x1401ee71b
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1401ee71b
mov dword [rcx + rax*4 + 0xd4], ebx
inc byte [rcx + 0x1f]
jmp 0x1401ee71b
mov r8d, dword [rsp + 0x4c]
mov edx, r10d
xor edx, 1
mov rcx, r14
lea edx, [rdx*4 + 0x21]
call fcn.1401dc160
mov rcx, qword [rbp + 0x90]
test rdi, rdi
je 0x1401ee791
mov rbx, qword [rdi]
mov r9d, 1
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r8d, eax
mov dword [rsp + 0x58], eax
mov rdx, qword [rbx + 0x18]
call fcn.14017cf40
mov rdx, qword [rbx + 0x18]
mov rcx, rdx
call fcn.1401b80b0
test eax, eax
jne 0x1401ee769
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x1401ee769
mov eax, dword [rsp + 0x70]
xor eax, 1
lea r12d, [rax*2 + 0x37]
jmp 0x1401ee776
mov rax, qword [rsp + 0x70]
lea r12d, [rax*2 + 0x36]
mov rcx, rdx
call fcn.1401b80b0
test eax, eax
jne 0x1401ee791
mov rcx, qword [rbp + 0xb0]
mov rdx, rdi
call fcn.140181b70
mov r9, qword [rbp + 0xb0]
mov ecx, dword [r14 + 0x90]
cmp dword [rsp + 0x70], r15d
sete al
mov dword [r9 + 0x3c], ecx
add al, 4
mov byte [r9 + 0x35], al
cmp r12d, esi
mov eax, dword [rsp + 0x4c]
mov rsi, qword [rbp + 0x90]
mov dword [r9 + 0x38], eax
je 0x1401f00d6
inc dword [rsi + 0x38]
mov r8d, eax
mov ebx, dword [rsi + 0x38]
mov edx, 0x80
mov r9d, ebx
mov rcx, r14
call fcn.1401dc160
mov r8d, dword [rsp + 0x58]
mov r9d, r13d
mov edx, r12d
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.1401dc1d0
movsxd rax, dword [r14 + 0x90]
mov r9, qword [rbp + 0xb0]
test eax, eax
jle 0x1401f00d6
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], 0x53
jmp 0x1401f00d6
bt edx, 9
jae 0x1401ef57b
mov rcx, qword [rsp + 0x60]
xor r12b, r12b
movzx edi, word [rsi + 0x18]
mov ebx, r15d
movzx esi, word [rsi + 0x1a]
mov r13, r15
mov word [rsp + 0x40], di
mov r8d, edi
mov rax, qword [rcx + 0x20]
mov r9, rcx
movzx r10d, word [rcx + 0x1c]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0xb0]
mov word [rbp - 0x68], si
mov word [rsp + 0x68], r10w
mov qword [rbp - 0x70], r15
mov eax, dword [rax + 8]
mov dword [rsp + 0x44], eax
mov qword [rbp - 0x58], r15
mov byte [rbp + 0xa8], r12b
mov byte [rsp + 0x5c], bl
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x7c], r15d
test dl, 0x20
je 0x1401ee8a5
mov rax, qword [rcx + 0x38]
inc r8d
mov ebx, esi
mov r13, qword [rax + rdi*8]
test dl, 0x10
je 0x1401ee975
mov rax, qword [r9 + 0x38]
cmp ebx, r10d
mov edi, r10d
cmova edi, ebx
mov r9, qword [rax + r8*8]
mov eax, 0x100
mov qword [rbp - 0x70], r9
test word [r9 + 0x12], ax
je 0x1401ee925
mov r9d, dword [r11 + 0x38]
mov edx, 0x45
mov rbx, qword [rbp + 0xb0]
inc r9d
mov dword [r11 + 0x38], r9d
mov rcx, r14
lea r8d, [rdx - 0x44]
mov dword [rbx + 0x2c], r9d
call fcn.1401dc160
mov eax, dword [r14 + 0x90]
mov edx, r15d
shl dword [rbx + 0x2c], 1
mov r9, qword [rbp - 0x78]
movzx r8d, word [rsp + 0x40]
mov dword [rbx + 0x30], eax
mov rax, qword [r9 + 0x38]
cmp byte [r8 + rax], 1
sete dl
xor edx, dword [rsp + 0x70]
or dword [rbx + 0x2c], edx
jmp 0x1401ee92f
movzx r8d, word [rsp + 0x40]
mov r9, qword [rbp - 0x78]
mov ebx, edi
test r13, r13
jne 0x1401ee970
mov rax, qword [r9 + 8]
movzx ecx, r8w
movsx r8, word [rax + rcx*2]
test r8d, r8d
js 0x1401ee95e
mov rax, qword [r9 + 0x18]
mov rdx, r8
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r12b
je 0x1401ee964
cmp r8d, 0xfffffffe
jne 0x1401ee970
mov r12b, 1
mov ebx, edi
mov byte [rbp + 0xa8], r12b
movzx edi, word [rsp + 0x40]
mov rax, qword [rsp + 0x60]
mov r10, qword [rbp + 0x90]
mov r11, qword [rbp + 0xb0]
mov eax, dword [rax + 0x28]
test al, 0x30
jne 0x1401ee9e6
bt eax, 0x13
jae 0x1401ee9e6
inc dword [r10 + 0x38]
mov ebx, 1
movzx r12d, bl
mov eax, dword [r10 + 0x38]
mov byte [rbp + 0xa8], bl
mov dword [rsp + 0x50], eax
mov dword [r11 + 0x24], eax
cmp dword [r11], r15d
je 0x1401ee9d8
mov r9d, eax
lea edx, [rbx + 0x44]
xor r8d, r8d
mov rcx, r14
call fcn.1401dc160
mov r10, qword [rbp + 0x90]
mov r11, qword [rbp + 0xb0]
mov eax, dword [r10 + 0x44]
dec eax
mov dword [r10 + 0x44], eax
mov dword [r11 + 0x28], eax
mov rax, qword [rbp - 0x78]
movzx r8d, word [rax + 0x5e]
cmp di, r8w
jae 0x1401eea11
mov rax, qword [rax + 0x38]
mov edx, r15d
movzx ecx, di
cmp byte [rcx + rax], r15b
mov rcx, qword [rsp + 0x70]
sete dl
cmp ecx, edx
je 0x1401eea20
jmp 0x1401eea16
mov rcx, qword [rsp + 0x70]
test ecx, ecx
je 0x1401eea55
cmp r8w, di
jne 0x1401eea55
mov rax, qword [rbp - 0x70]
mov byte [rsp + 0x5c], r12b
movzx r12d, word [rsp + 0x68]
mov qword [rbp - 0x70], r13
mov r13, rax
movzx eax, sil
movzx esi, r12w
mov word [rbp - 0x68], r12w
movzx r12d, ax
mov word [rsp + 0x68], ax
mov byte [rbp + 0xa8], r15b
jmp 0x1401eea5b
movzx r12d, word [rsp + 0x68]
lea rax, [rbp - 0x50]
mov r8d, ecx
mov rcx, r10
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov rdx, r11
call fcn.14017bc90
mov r10d, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1401eeaeb
test r12w, r12w
je 0x1401eeaeb
movzx edi, di
add rdi, rax
jne 0x1401eea99
mov qword [rbp - 0x58], r15
jmp 0x1401eeae6
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], r15b
jne 0x1401eeaa0
mov rax, qword [rbp - 0x60]
inc rbx
test rax, rax
je 0x1401eeac2
mov rdx, rbx
mov rcx, rax
call fcn.1401b03f0
jmp 0x1401eeaca
mov rcx, rbx
call fcn.1401c5350
mov qword [rbp - 0x58], rax
test rax, rax
je 0x1401eeae1
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov r10d, dword [rsp + 0x48]
movzx edi, word [rsp + 0x40]
mov ecx, dword [rsp + 0x50]
mov rax, qword [rbp + 0xb0]
test ecx, ecx
je 0x1401eeaff
mov eax, dword [rax + 0x28]
jmp 0x1401eeb02
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x54], eax
test r13, r13
je 0x1401eeb1c
test byte [r13 + 0x14], 0x28
jne 0x1401eeb1c
mov r12d, r15d
mov ebx, 1
jmp 0x1401eeb24
mov ebx, 1
mov r12d, ebx
mov rax, qword [rbp - 0x70]
mov dword [rbp - 0x80], r12d
test rax, rax
je 0x1401eeb3c
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x78], r15d
je 0x1401eeb40
mov dword [rsp + 0x78], ebx
test r13, r13
jne 0x1401eeb84
test di, di
jne 0x1401eeb84
mov dword [rsp + 0x58], r15d
movzx edi, di
movzx esi, byte [rbp + 0xa8]
test sil, sil
je 0x1401eed76
mov r12d, r15d
movzx r9d, word [rsp + 0x40]
xor r8d, r8d
add r9d, r10d
mov rcx, r14
lea edx, [r8 + 0x48]
call fcn.1401dc160
inc edi
jmp 0x1401eed82
mov dword [rsp + 0x58], ebx
movzx edi, di
test r13, r13
je 0x1401eeb52
mov rax, qword [r13]
movzx edi, word [rsp + 0x40]
add edi, r10d
movzx esi, si
mov r12, qword [rax + 0x18]
test r12, r12
je 0x1401eec53
movzx eax, byte [r12]
cmp al, 0xad
jne 0x1401eebbb
movzx eax, byte [r12 + 2]
cmp al, 0xae
jne 0x1401eebc9
mov rbx, qword [r12 + 0x20]
mov rax, rbx
jmp 0x1401eebda
cmp al, 0x88
jne 0x1401eec53
mov rbx, qword [r12 + 0x20]
mov rax, qword [rbx + 0x20]
cmp dword [rax], 1
jle 0x1401eec53
test dword [r12 + 4], 0x800
je 0x1401eec1c
mov rax, qword [rbp + 0x90]
mov rdx, r12
mov rcx, rax
mov rbx, qword [rax + 0x10]
call fcn.1401acc40
mov r8d, eax
mov r9d, edi
lea eax, [rsi - 1]
mov edx, 0x4d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401dc1d0
jmp 0x1401eec65
test rsi, rsi
je 0x1401eec6a
mov r14, qword [rbp + 0x90]
add rbx, 8
nop dword [rax]
mov rdx, qword [rbx]
mov r8d, edi
mov rcx, r14
call fcn.1401b3920
inc edi
lea rbx, [rbx + 0x20]
sub rsi, 1
jne 0x1401eec30
mov r14, qword [rbp + 0x98]
jmp 0x1401eec65
mov rcx, qword [rbp + 0x90]
mov r8d, edi
mov rdx, r12
call fcn.1401b3920
mov r10d, dword [rsp + 0x48]
mov eax, 0x100
test word [r13 + 0x12], ax
je 0x1401eecbf
mov rax, qword [r14]
mov ecx, dword [r14 + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x1401eec91
lea rcx, [0x1402dfee8]
jmp 0x1401eeca3
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xb0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, r12
call fcn.1401b37c0
test eax, eax
je 0x1401eece8
movzx esi, word [rsp + 0x40]
mov edx, 0x32
mov r9d, dword [rsp + 0x54]
mov rcx, r14
lea r8d, [r10 + rsi]
call fcn.1401dc160
jmp 0x1401eeced
movzx esi, word [rsp + 0x40]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1401eed0d
movzx ebx, word [rbp - 0x68]
mov rcx, r12
movzx r8d, si
mov edx, ebx
add r8, rax
call fcn.1401f8630
jmp 0x1401eed11
movzx ebx, word [rbp - 0x68]
movzx eax, bx
movzx edi, si
add edi, eax
movzx eax, byte [r12]
cmp al, 0xad
jne 0x1401eed28
movzx eax, byte [r12 + 2]
cmp al, 0xae
jne 0x1401eed33
mov rax, qword [r12 + 0x20]
jmp 0x1401eed40
cmp al, 0x88
jne 0x1401eed57
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401eed57
xor sil, sil
mov r12d, 1
mov byte [rbp + 0xa8], sil
jmp 0x1401eed7e
mov rcx, qword [rbp + 0xb0]
mov rdx, r13
call fcn.140181b70
mov r12d, dword [rbp - 0x80]
xor sil, sil
mov byte [rbp + 0xa8], sil
jmp 0x1401eed7e
test ecx, ecx
jne 0x1401eeb65
mov ebx, dword [rsp + 0x58]
mov r10, qword [rbp - 0x50]
mov r9d, edi
mov r13d, dword [rsp + 0x48]
mov r8d, r13d
movzx eax, sil
sub r9d, eax
test r10, r10
je 0x1401eee03
test r9d, r9d
jle 0x1401eedb6
cmp byte [r10], 0x41
jg 0x1401eedb6
dec r9d
inc r8d
inc r10
test r9d, r9d
jg 0x1401eeda2
movsxd rax, r9d
cmp rax, 1
jle 0x1401eedda
lea rdx, [r10 - 1]
add rdx, rax
cmp byte [rdx], 0x41
jg 0x1401eedda
dec r9d
dec rax
dec rdx
cmp rax, 1
jg 0x1401eedc6
test r9d, r9d
jle 0x1401eee03
mov rax, qword [rbp + 0x90]
mov edx, 0x5a
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], r15d
mov rcx, qword [rax + 0x10]
call fcn.1401dc240
mov rax, qword [rsp + 0x60]
lea rsi, [0x140000000]
movzx eax, word [rax + 0x2e]
test ax, ax
je 0x1401eee20
cmp edi, eax
je 0x1401eef19
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1401eee3c
mov edx, 0x45
mov r9d, eax
mov rcx, r14
lea r8d, [rdx - 0x44]
call fcn.1401dc160
mov rcx, qword [rsp + 0x70]
lea eax, [r12 + rbx*2]
lea ecx, [rcx + rax*2]
mov rax, qword [rsp + 0x60]
movzx ebx, byte [rcx + rsi + 0x21f2b0]
test dword [rax + 0x28], 0x100000
je 0x1401eee94
cmp ebx, 0x18
jne 0x1401eee94
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov rcx, r14
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea edx, [rbx + 0x5e]
call fcn.1401dc0f0
mov dword [rsp + 0x7c], eax
mov r8d, dword [rsp + 0x44]
mov edx, ebx
mov dword [rsp + 0x28], edi
mov rcx, r14
mov dword [rsp + 0x20], r13d
mov r13d, dword [rsp + 0x54]
mov r9d, r13d
call fcn.1401dc380
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1401eef22
mov r9d, dword [r14 + 0x90]
xor r8d, r8d
add r9d, 2
mov rcx, r14
lea edx, [r8 + 0xb]
call fcn.1401dc160
mov ebx, dword [rsp + 0x48]
mov eax, 2
mov r8d, dword [rsp + 0x44]
mov edx, 6
mov ecx, edi
mov r9d, r13d
sub ecx, r12d
mov dword [rsp + 0x28], ecx
cmp edi, 1
mov rcx, r14
mov dword [rsp + 0x20], ebx
cmova eax, edx
add eax, dword [rsp + 0x70]
movzx edx, byte [rax + rsi + 0x21f2b0]
call fcn.1401dc380
mov eax, dword [rsp + 0x50]
jmp 0x1401eef26
mov eax, dword [rsp + 0x50]
mov ebx, r13d
jmp 0x1401eef26
mov ebx, dword [rsp + 0x48]
mov r12, qword [rbp - 0x70]
movzx edi, word [rsp + 0x40]
mov r13d, edi
test r12, r12
je 0x1401ef260
mov rax, qword [r12]
add edi, ebx
movzx esi, word [rsp + 0x68]
mov r12, qword [rax + 0x18]
test r12, r12
je 0x1401eeff3
movzx eax, byte [r12]
cmp al, 0xad
jne 0x1401eef62
movzx eax, byte [r12 + 2]
cmp al, 0xae
jne 0x1401eef70
mov rbx, qword [r12 + 0x20]
mov rax, rbx
jmp 0x1401eef7d
cmp al, 0x88
jne 0x1401eeff3
mov rbx, qword [r12 + 0x20]
mov rax, qword [rbx + 0x20]
cmp dword [rax], 1
jle 0x1401eeff3
test dword [r12 + 4], 0x800
je 0x1401eefbf
mov rax, qword [rbp + 0x90]
mov rdx, r12
mov rcx, rax
mov rbx, qword [rax + 0x10]
call fcn.1401acc40
mov r8d, eax
mov r9d, edi
lea eax, [rsi - 1]
mov edx, 0x4d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401dc1d0
jmp 0x1401ef005
test rsi, rsi
je 0x1401ef005
mov r14, qword [rbp + 0x90]
add rbx, 8
nop
mov rdx, qword [rbx]
mov r8d, edi
mov rcx, r14
call fcn.1401b3920
inc edi
lea rbx, [rbx + 0x20]
sub rsi, 1
jne 0x1401eefd0
mov r14, qword [rbp + 0x98]
jmp 0x1401ef005
mov rcx, qword [rbp + 0x90]
mov r8d, edi
mov rdx, r12
call fcn.1401b3920
mov rax, qword [rbp - 0x70]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x1401ef05d
mov rax, qword [r14]
mov ecx, dword [r14 + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x1401ef02f
lea rcx, [0x1402dfee8]
jmp 0x1401ef041
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xb0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, r12
call fcn.1401b37c0
mov ebx, dword [rsp + 0x48]
test eax, eax
je 0x1401ef08a
movzx edi, word [rsp + 0x40]
mov edx, 0x32
mov r9d, dword [rsp + 0x54]
mov rcx, r14
lea r8d, [rbx + rdi]
call fcn.1401dc160
jmp 0x1401ef08f
movzx edi, word [rsp + 0x40]
mov rsi, qword [rbp - 0x58]
test rsi, rsi
je 0x1401ef123
movzx edx, word [rsp + 0x68]
mov r8, rsi
mov rcx, r12
call fcn.1401f8630
movzx r9d, word [rsp + 0x68]
mov r11, rsi
movzx r8d, di
add r8d, ebx
test r9d, r9d
je 0x1401ef0d5
cmp byte [r11], 0x41
jg 0x1401ef0d5
dec r9d
inc r8d
inc r11
test r9d, r9d
jg 0x1401ef0c1
movsxd rax, r9d
cmp rax, 1
jle 0x1401ef0fa
lea r10, [r11 - 1]
add r10, rax
cmp byte [r10], 0x41
jg 0x1401ef0fa
dec r9d
dec rax
dec r10
cmp rax, 1
jg 0x1401ef0e5
test r9d, r9d
jle 0x1401ef123
mov rax, qword [rbp + 0x90]
mov edx, 0x5a
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r15d
mov rcx, qword [rax + 0x10]
call fcn.1401dc240
movzx eax, word [rsp + 0x68]
add r13d, eax
movzx eax, byte [r12]
cmp al, 0xad
jne 0x1401ef13a
movzx eax, byte [r12 + 2]
cmp al, 0xae
jne 0x1401ef145
mov rax, qword [r12 + 0x20]
jmp 0x1401ef152
cmp al, 0x88
jne 0x1401ef166
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401ef166
mov r12d, 1
lea rsi, [0x140000000]
jmp 0x1401ef182
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0xb0]
call fcn.140181b70
lea rsi, [0x140000000]
mov r12d, dword [rsp + 0x78]
mov rax, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x60]
test rax, rax
je 0x1401ef19a
mov rdx, rax
mov rcx, rbx
call fcn.1401b0260
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1401ef1ae
mov rdx, rax
mov rcx, rbx
call fcn.1401b0260
mov r8, qword [rbp + 0xb0]
lea r9, [r14 + 0x90]
mov eax, dword [r14 + 0x90]
mov dword [r8 + 0x3c], eax
test r13d, r13d
je 0x1401ef2b8
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1401ef1f3
mov r9d, dword [r14 + 0x90]
mov r8d, eax
add r9d, 3
mov edx, 0x14
mov rcx, r14
call fcn.1401dc160
mov rax, qword [rsp + 0x70]
mov rcx, r14
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x28], r13d
lea eax, [r12 + rax*2]
mov r12d, dword [rsp + 0x48]
movzx edx, byte [rax + rsi + 0x21f2b8]
mov dword [rsp + 0x20], r12d
call fcn.1401dc380
mov ecx, dword [rsp + 0x7c]
lea r9, [r14 + 0x90]
test ecx, ecx
je 0x1401ef2bd
mov edx, dword [r14 + 0x90]
jns 0x1401ef244
lea ecx, [rdx - 1]
mov rax, qword [r14]
cmp byte [rax + 0x61], r15b
je 0x1401ef299
lea rax, [0x1402dfee8]
mov dword [rax + 8], edx
lea r9, [r14 + 0x90]
jmp 0x1401ef2bd
cmp byte [rsp + 0x5c], r15b
je 0x1401ef17d
test eax, eax
jne 0x1401ef28c
lea r9d, [rbx + rdi]
xor r8d, r8d
lea edx, [rax + 0x48]
mov rcx, r14
call fcn.1401dc160
inc r13d
mov r12d, r15d
jmp 0x1401ef182
mov r12d, dword [rsp + 0x78]
inc r13d
jmp 0x1401ef182
movsxd rax, ecx
lea r9, [r14 + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x1401ef2bd
mov r12d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1401ef318
mov r9d, dword [r9]
mov r8d, eax
add r9d, 2
mov edx, 0x12
mov rcx, r14
call fcn.1401dc160
movzx eax, byte [rbp + 0xa8]
mov rcx, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x54]
lea r8d, [rax + r13]
mov r13d, dword [rsp + 0x44]
lea ecx, [rax + rcx*2]
mov dword [rsp + 0x28], r8d
movzx edx, byte [rcx + rsi + 0x21f2b8]
mov r8d, r13d
mov rcx, r14
mov dword [rsp + 0x20], r12d
call fcn.1401dc380
jmp 0x1401ef31d
mov r13d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x60]
test dword [rsi + 0x28], 0x40000
je 0x1401ef346
movzx eax, di
mov r8d, r13d
movzx r9d, di
mov edx, 0x77
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401dc1d0
test byte [rsi + 0x28], 0x40
mov rcx, qword [rbp + 0xa0]
je 0x1401ef36c
test byte [rcx + 0x3c], 0x20
lea rbx, [rcx + 0x3c]
jne 0x1401ef36c
mov edi, dword [rsp + 0x4c]
mov r12d, 1
jmp 0x1401ef4e0
mov r10, qword [rbp - 0x78]
lea rbx, [rcx + 0x3c]
mov edi, dword [rsp + 0x4c]
mov rax, qword [r10 + 0x18]
test byte [rax + 0x40], 0x80
jne 0x1401ef39f
mov r9d, r13d
mov r8d, edi
mov rdx, r10
call fcn.14017c520
mov rcx, qword [rbp + 0xa0]
mov r12d, r15d
jmp 0x1401ef4e0
mov r12d, r15d
cmp edi, r13d
je 0x1401ef4e4
mov rbx, qword [rax + 0x10]
mov dword [rbp + 0xa8], r15d
test rbx, rbx
je 0x1401ef3d4
mov dword [rbp + 0xa8], r15d
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401ef3d4
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401ef3c2
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0x90]
call fcn.1401bf660
mov esi, eax
mov edi, r15d
movzx eax, word [rbx + 0x5e]
cmp r15w, ax
jae 0x1401ef4ad
mov r12, 0xffffffffffffffff
nop
movzx r8d, word [r10 + 0x60]
mov edx, r15d
test r8d, r8d
je 0x1401ef431
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 0x1401ef435
inc edx
cmp edx, r8d
jl 0x1401ef420
movzx edx, r12w
movsxd rcx, dword [r14 + 0x90]
movsx r8d, dx
lea edx, [rsi + rdi]
cmp dword [r14 + 0x94], ecx
jg 0x1401ef465
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r13d
mov edx, 0x59
mov rcx, r14
call fcn.14018dca0
jmp 0x1401ef494
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x59
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movzx eax, word [rbx + 0x5e]
inc edi
mov r10, qword [rbp - 0x78]
cmp edi, eax
jl 0x1401ef400
mov r12d, dword [rbp + 0xa8]
mov edi, dword [rsp + 0x4c]
mov edx, 0x1d
mov r9d, dword [rbp - 0x48]
mov r8d, edi
movzx eax, ax
mov rcx, r14
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.1401dc380
mov rcx, qword [rbp + 0xa0]
mov rsi, qword [rsp + 0x60]
lea rbx, [rcx + 0x3c]
mov r10, qword [rbp - 0x78]
mov rax, qword [rbp + 0xb0]
cmp dword [rax], r15d
jne 0x1401ef51d
test byte [rbx], 0x20
jne 0x1401ef505
mov r9, rcx
mov r8d, r13d
mov rcx, r10
mov edx, edi
call fcn.140201210
mov rcx, qword [rbp - 0x78]
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x1401ef51d
mov r8, qword [rbp - 0x38]
mov edx, edi
call fcn.140200d70
test dword [rsi + 0x28], 0x1000
mov r9, qword [rbp + 0xb0]
je 0x1401ef534
mov byte [r9 + 0x35], 0xae
jmp 0x1401ef542
cmp dword [rsp + 0x70], r15d
sete al
add al, 4
mov byte [r9 + 0x35], al
mov dword [r9 + 0x38], r13d
movzx eax, byte [rsi + 0x2a]
and al, 1
mov byte [r9 + 0x36], al
test byte [rsi + 0x28], 0xf
jne 0x1401ef55b
mov byte [r9 + 0x37], 1
mov rsi, qword [rbp + 0x90]
mov r8, qword [rbp + 0xa0]
test r12d, r12d
je 0x1401f00dd
mov qword [rbp - 0x78], r15
jmp 0x1401f00dd
bt edx, 0xd
jae 0x1401f008b
mov eax, dword [r11 + 0x34]
mov r12, r15
mov edx, dword [r11 + 0x38]
mov r13, r15
mov rcx, qword [rbp - 0x40]
inc edx
mov dword [r11 + 0x38], edx
mov dword [rsp + 0x7c], eax
inc eax
mov dword [r11 + 0x34], eax
mov eax, dword [r11 + 0x44]
dec eax
mov dword [rsp + 0x78], edx
mov dword [r11 + 0x44], eax
mov rcx, qword [rcx + 0x20]
mov dword [rsp + 0x58], eax
mov rax, qword [rsi + 0x38]
mov qword [rbp - 0x58], r15
mov dword [rsp + 0x50], r15d
mov dword [rbp + 0xa8], r15d
mov rsi, qword [rax]
mov dword [rsp + 0x48], r15d
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x30], rcx
mov rax, qword [rsi + 0x20]
mov dword [rbx + 0x38], edx
mov rdx, qword [rbp + 0xa0]
mov qword [rbp - 0x28], rax
mov byte [rbx + 0x35], 0x41
mov qword [rbp - 0x20], rsi
movzx eax, byte [rdx + 0x40]
cmp al, 1
jbe 0x1401ef730
mov ebx, eax
sub ebx, edi
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x70
mov rax, qword [rbp - 0x60]
add rcx, 0x78
test rax, rax
je 0x1401ef62e
mov rdx, rcx
mov rcx, rax
call fcn.1401b03f0
jmp 0x1401ef633
call fcn.1401c5350
mov qword [rbp - 0x50], rax
mov rdx, rax
test rax, rax
jne 0x1401ef64b
mov rax, qword [rbp + 0xb8]
jmp 0x1401f050b
mov r10, qword [rbp + 0xa0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x40]
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 [r10 + 8]
cmp ebx, 1
jl 0x1401ef71c
mov r8, qword [rbp + 0xb0]
add rdx, 0x78
add r8, 0x94
mov r9d, ebx
nop word [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x60]
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 0x1401ef6c0
mov rcx, qword [rbp - 0x30]
mov r11, qword [rbp + 0x90]
mov rdx, qword [rbp + 0xa0]
jmp 0x1401ef738
mov rax, qword [rdx + 8]
mov qword [rbp - 0x50], rax
test byte [rdx + 0x3c], 0x10
jne 0x1401ef7c9
test byte [rcx + 0x40], 0x80
jne 0x1401ef768
inc dword [r11 + 0x38]
xor r8d, r8d
mov eax, dword [r11 + 0x38]
mov rcx, r14
mov r9d, eax
mov dword [rsp + 0x50], eax
lea edx, [r8 + 0x48]
call fcn.1401dc160
jmp 0x1401ef7b6
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x1401ef783
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401ef783
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401ef771
mov edi, dword [r11 + 0x34]
mov edx, 0x64
mov r8d, edi
mov dword [rsp + 0x50], edi
mov rcx, r14
lea eax, [rdi + 1]
mov dword [r11 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.1401dc160
mov rcx, qword [rbp + 0x90]
mov rdx, rbx
call fcn.1401e9c50
mov rax, qword [rbp + 0x90]
inc dword [rax + 0x38]
mov eax, dword [rax + 0x38]
mov dword [rbp + 0xa8], eax
movsxd rdx, dword [r14 + 0x90]
mov dword [rbp - 0x80], edx
cmp dword [r14 + 0x94], edx
jg 0x1401ef7fa
mov r9d, dword [rsp + 0x78]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x45]
call fcn.14018dca0
mov dword [rbp - 0x80], eax
jmp 0x1401ef829
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x78]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [rbp - 0x38]
cmp dword [rax + 0x14], 1
jle 0x1401ef956
mov r12, qword [rbp + 0x90]
mov ebx, r15d
mov r14, qword [rbp - 0x60]
mov rdi, r15
mov r8d, 0x1fff
nop
mov rdx, qword [rax + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
mov r10, qword [rdi + rdx]
add rcx, rdx
cmp rcx, rsi
je 0x1401ef8a8
test byte [rdi + rdx + 0x12], 6
jne 0x1401ef8a8
test word [rdi + rdx + 0x14], r8w
je 0x1401ef8a8
test r10, r10
je 0x1401ef88e
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, r14
call fcn.1401851a0
jmp 0x1401ef891
mov rax, r15
mov r8, rax
mov rdx, r13
mov rcx, r12
call fcn.1401b32d0
mov r13, rax
mov r8d, 0x1fff
mov rax, qword [rbp - 0x38]
inc ebx
add rdi, 0x38
cmp ebx, dword [rax + 0x14]
jl 0x1401ef850
mov r14, qword [rbp + 0x98]
mov r12, r15
mov qword [rbp - 0x70], r13
test r13, r13
je 0x1401ef956
mov rdi, qword [rbp + 0x90]
mov edx, 0x48
mov rcx, qword [rdi]
call fcn.1401b03f0
mov rbx, rax
test rax, rax
je 0x1401ef944
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov rcx, rbx
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
mov byte [rbx], 0x2c
mov word [rbx + 0x32], 0xffff
mov qword [rbx + 0x18], r13
mov eax, dword [r13 + 4]
and eax, 0x200104
or dword [rbx + 4], eax
call fcn.1401862d0
mov rax, qword [rdi]
mov r8d, dword [rax + 0x88]
cmp dword [rbx + 0x28], r8d
jle 0x1401ef94f
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.1401b29d0
jmp 0x1401ef94f
mov rcx, qword [rdi]
mov rdx, r13
call fcn.1401b7260
mov r13, rbx
mov qword [rbp - 0x70], rbx
mov rbx, qword [rbp + 0x90]
lea r8, str.MULTI_INDEX_OR
mov rcx, rbx
mov edx, 1
call fcn.1401e5d70
mov rax, qword [rbp - 0x28]
mov edi, r15d
mov dword [rsp + 0x54], r15d
cmp dword [rax + 0x14], r15d
jle 0x1401efe9f
mov ecx, dword [rsp + 0x4c]
mov r12, r15
mov qword [rsp + 0x60], r15
mov rax, qword [rax + 0x20]
cmp dword [r12 + rax + 0x1c], ecx
je 0x1401ef9af
mov edx, 0x400
test word [r12 + rax + 0x14], dx
je 0x1401efe7b
mov rbx, qword [r12 + rax]
mov esi, r15d
mov dword [rsp + 0x40], r15d
test r13, r13
je 0x1401ef9c7
mov qword [r13 + 0x10], rbx
mov rbx, r13
mov rcx, qword [rbp + 0x90]
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.1401e5d70
mov eax, dword [rsp + 0x7c]
xor r9d, r9d
mov rdx, qword [rbp - 0x50]
mov r8, rbx
mov rcx, qword [rbp + 0x90]
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], 0x20
mov qword [rsp + 0x20], r15
call fcn.1401ecac0
mov qword [rsp + 0x70], rax
mov rbx, rax
test rax, rax
je 0x1401efe70
mov rdx, qword [rbp - 0x50]
lea r8, [rax + 0x360]
mov rcx, qword [rbp + 0x90]
xor r9d, r9d
call fcn.1401f11e0
mov rax, qword [rbp + 0xa0]
test byte [rax + 0x3c], 0x10
jne 0x1401efcfa
mov rax, qword [rbp - 0x28]
mov ebx, edi
mov eax, dword [rax + 0x14]
dec eax
cmp edi, eax
mov rax, 0xffffffffffffffff
cmove ebx, eax
mov rax, qword [rbp - 0x30]
mov dword [rsp + 0x68], ebx
test byte [rax + 0x40], 0x80
jne 0x1401efb03
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1401efaa2
mov r9d, dword [rbp + 0xa8]
mov edx, 0x80
mov r8d, dword [rsp + 0x4c]
mov rcx, r14
mov dword [rsp + 0x20], r15d
call fcn.14018dca0
jmp 0x1401efada
mov edx, dword [rsp + 0x4c]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp + 0xa8]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x80
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov eax, dword [rbp + 0xa8]
xor r9d, r9d
mov r8d, dword [rsp + 0x50]
mov rcx, r14
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x2d]
call fcn.1401dc380
mov esi, eax
jmp 0x1401efcf5
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401efb22
nop dword [rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401efb22
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401efb10
movzx r13d, word [rbx + 0x5e]
mov rdx, qword [rbp + 0x90]
cmp r13d, 1
jne 0x1401efb55
movzx eax, byte [rdx + 0x1f]
test al, al
jne 0x1401efb44
inc dword [rdx + 0x38]
mov esi, dword [rdx + 0x38]
jmp 0x1401efb7f
dec al
movzx eax, al
mov byte [rdx + 0x1f], al
mov esi, dword [rdx + rax*4 + 0xd4]
jmp 0x1401efb7f
mov ecx, dword [rdx + 0x28]
mov esi, dword [rdx + 0x2c]
mov dword [rsp + 0x44], esi
cmp r13d, ecx
jg 0x1401efb73
lea eax, [rsi + r13]
sub ecx, r13d
mov dword [rdx + 0x2c], eax
mov dword [rdx + 0x28], ecx
jmp 0x1401efb83
mov eax, dword [rdx + 0x38]
lea esi, [rax + 1]
add eax, r13d
mov dword [rdx + 0x38], eax
mov dword [rsp + 0x44], esi
mov rdi, r15
mov r12, r13
test r13d, r13d
je 0x1401efbcb
mov r15, qword [rbp - 0x30]
mov r13d, dword [rsp + 0x4c]
nop word [rax + rax]
mov rax, qword [rbx + 8]
mov r8d, r13d
mov rdx, r15
mov dword [rsp + 0x20], esi
mov rcx, r14
movsx r9d, word [rax + rdi*2]
call fcn.1401b3e80
inc esi
inc rdi
cmp rdi, r12
jl 0x1401efba0
xor r15d, r15d
mov r13d, r12d
mov edi, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x50]
test edi, edi
je 0x1401efc03
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov r8d, r12d
mov dword [rsp + 0x20], ebx
mov rcx, r14
lea edx, [r9 + 0x1e]
call fcn.1401dc380
mov esi, eax
test edi, edi
js 0x1401efcab
jmp 0x1401efc07
mov esi, dword [rsp + 0x40]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1401efc36
mov eax, dword [rbp + 0xa8]
mov r9d, r13d
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov edx, 0x5b
mov rcx, r14
call fcn.14018dca0
jmp 0x1401efc6a
mov edx, dword [rbp + 0xa8]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x5b
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, dword [rbp + 0xa8]
mov r8d, r12d
mov dword [rsp + 0x28], r13d
mov edx, 0x83
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.1401dc380
test edi, edi
je 0x1401efcab
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x1401efcab
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
mov edi, dword [rsp + 0x54]
mov r12, qword [rsp + 0x60]
cmp r13d, 1
jne 0x1401efcdd
test ebx, ebx
je 0x1401efcf1
mov rdx, qword [rbp + 0x90]
mov r13, qword [rbp - 0x70]
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1401efcf5
mov dword [rdx + rax*4 + 0xd4], ebx
inc byte [rdx + 0x1f]
jmp 0x1401efcf5
mov rdx, qword [rbp + 0x90]
cmp r13d, dword [rdx + 0x28]
jle 0x1401efcf1
mov dword [rdx + 0x28], r13d
mov dword [rdx + 0x2c], ebx
mov r13, qword [rbp - 0x70]
mov rbx, qword [rsp + 0x70]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1401efd28
mov r9d, dword [rsp + 0x58]
mov edx, 0xc
mov r8d, dword [rsp + 0x78]
mov rcx, r14
mov dword [rsp + 0x20], r15d
call fcn.14018dca0
jmp 0x1401efd5e
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test esi, esi
je 0x1401efd95
mov edx, dword [r14 + 0x90]
jns 0x1401efd6e
lea esi, [rdx - 1]
mov rax, qword [r14]
cmp byte [rax + 0x61], 0
je 0x1401efd80
lea rax, [0x1402dfee8]
jmp 0x1401efd92
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x48]
mov ecx, 1
mov r8d, dword [rbx + 0x44]
test r8b, 2
mov rdx, qword [rbx + 0x3b0]
cmovne eax, ecx
mov dword [rsp + 0x48], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x1401efdef
test edi, edi
je 0x1401efdcc
mov rax, qword [rbp - 0x58]
cmp qword [rdx + 0x20], rax
jne 0x1401efdef
mov rax, qword [rbp - 0x30]
test byte [rax + 0x40], 0x80
je 0x1401efde5
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x1401efdef
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x58], rax
jmp 0x1401efdf3
mov qword [rbp - 0x58], r15
test r8b, 1
je 0x1401efe04
mov rax, qword [rbp + 0xa0]
or dword [rax + 0x44], 1
mov rcx, rbx
call fcn.1401f0520
mov rbx, qword [rbp + 0x90]
mov ecx, dword [rbx + 0x128]
test ecx, ecx
jne 0x1401efe28
mov eax, r15d
mov dword [rbx + 0x128], eax
jmp 0x1401efe77
mov rdx, qword [rbx + 0x10]
test ecx, ecx
jns 0x1401efe38
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x1401efe53
lea rax, [0x1402dfee8]
mov eax, dword [rax + 8]
mov dword [rbx + 0x128], eax
jmp 0x1401efe77
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [rbx + 0x128], eax
jmp 0x1401efe77
mov rbx, qword [rbp + 0x90]
mov ecx, dword [rsp + 0x4c]
mov rax, qword [rbp - 0x28]
inc edi
add r12, 0x38
mov dword [rsp + 0x54], edi
mov qword [rsp + 0x60], r12
cmp edi, dword [rax + 0x14]
jl 0x1401ef993
mov rsi, qword [rbp - 0x20]
mov r12, qword [rbp - 0x58]
mov ecx, dword [rbx + 0x128]
test ecx, ecx
jne 0x1401efeae
mov eax, r15d
jmp 0x1401efee5
mov rdx, qword [rbx + 0x10]
test ecx, ecx
jns 0x1401efebe
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x1401efed0
lea rax, [0x1402dfee8]
jmp 0x1401efee2
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xb0]
mov dword [rbx + 0x128], eax
mov qword [r8 + 0x40], r12
test r12, r12
je 0x1401eff03
mov eax, dword [rsp + 0x7c]
mov dword [r8 + 8], eax
mov rbx, qword [rbp - 0x60]
test r13, r13
je 0x1401eff22
mov rdx, r13
mov qword [r13 + 0x10], r15
mov rcx, rbx
call fcn.1401b7260
mov r8, qword [rbp + 0xb0]
mov ecx, dword [rbp - 0x80]
mov edx, dword [r14 + 0x90]
test ecx, ecx
jns 0x1401eff33
lea ecx, [rdx - 1]
mov rax, qword [r14]
cmp byte [rax + 0x61], 0
je 0x1401eff45
lea rax, [0x1402dfee8]
jmp 0x1401eff57
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r8 + 0xc]
cmp dword [r14 + 0x94], ecx
jg 0x1401eff87
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 0xb]
call fcn.14018dca0
jmp 0x1401effb2
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401effd1
mov r8d, edx
mov rdx, r14
call fcn.14019ddf0
jmp 0x1401effe2
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov r8, qword [rbp + 0xa0]
cmp byte [r8 + 0x40], 1
jbe 0x1401f000b
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1401f000b
mov rdx, rax
mov rcx, rbx
call fcn.1401b0260
mov r8, qword [rbp + 0xa0]
cmp dword [rsp + 0x48], 0
mov r9, qword [rbp + 0xb0]
jne 0x1401f0082
test byte [rsi + 0x12], 4
mov edx, r15d
jne 0x1401f0082
cmp dword [r9], 0
je 0x1401f0031
mov rax, qword [rsi]
test byte [rax + 4], 1
je 0x1401f0082
mov rax, qword [rsi + 0x30]
test qword [r9 + 0x58], rax
jne 0x1401f0082
test edx, edx
je 0x1401f0058
movzx eax, word [rsi + 0x12]
bt ax, 0xa
jae 0x1401f0058
mov ecx, 0x200
or ax, cx
mov word [rsi + 0x12], ax
jmp 0x1401f005d
or word [rsi + 0x12], 4
movsxd rax, dword [rsi + 0x18]
test eax, eax
js 0x1401f0082
imul rcx, rax, 0x38
mov rax, qword [rsi + 8]
add rcx, qword [rax + 0x20]
mov rsi, rcx
add byte [rcx + 0x16], 0xff
jne 0x1401f0082
inc edx
test byte [rcx + 0x12], 4
je 0x1401f0022
mov rsi, qword [rbp + 0x90]
jmp 0x1401f00dd
test r8b, 0x20
je 0x1401f0097
mov byte [rbx + 0x35], 0xae
jmp 0x1401f00cc
mov ecx, r10d
lea rdx, [0x140000000]
mov r8d, r12d
mov dword [rbx + 0x38], r12d
movzx eax, byte [rcx + rdx + 0x21f2bc]
movzx edx, byte [rcx + rdx + 0x21f2c0]
mov rcx, r14
mov byte [rbx + 0x35], al
call fcn.1401dc160
inc eax
mov byte [rbx + 0x37], 1
mov dword [rbx + 0x3c], eax
mov r9, rbx
mov rsi, qword [rbp + 0x90]
mov r8, qword [rbp + 0xa0]
mov r10, qword [rbp - 0x78]
lea r11, [0x140185650]
mov rax, r10
neg rax
lea rax, [r8 + 0x70]
sbb edx, edx
add edx, 2
mov dword [rbp + 0xa8], edx
nop dword [rax]
mov r13d, dword [rax + 0x14]
mov r12d, r15d
mov rdi, qword [rax + 0x20]
test r13d, r13d
jle 0x1401f01ee
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rdi + 0x12]
mov ebx, r15d
test cl, 6
jne 0x1401f01b4
mov rax, qword [rdi + 0x30]
test qword [r9 + 0x58], rax
je 0x1401f0141
or dword [r8 + 0x44], 2
jmp 0x1401f01b4
mov rax, qword [rbp - 0x40]
mov rsi, qword [rdi]
test byte [rax + 0x3c], 8
je 0x1401f0154
test byte [rsi + 4], 1
je 0x1401f01ad
cmp edx, 1
jne 0x1401f0320
mov eax, dword [r9 + 4]
xorps xmm0, xmm0
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x10], r15
mov qword [rbp + 0x10], r15
mov qword [rbp - 0x20], r10
mov qword [rbp - 8], r11
movdqu xmmword [rbp], xmm0
test rsi, rsi
je 0x1401f019c
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.140200ba0
mov r9, qword [rbp + 0xb0]
cmp word [rbp + 0x14], 0
je 0x1401f0325
mov r12d, 2
mov rsi, qword [rbp + 0x90]
mov edx, dword [rbp + 0xa8]
lea r11, [0x140185650]
mov r9, qword [rbp + 0xb0]
dec r13d
mov r8, qword [rbp + 0xa0]
add rdi, 0x38
mov r10, qword [rbp - 0x78]
test r13d, r13d
jg 0x1401f0120
mov rax, qword [rbp - 0x38]
lea r11, [0x140185650]
mov r9, qword [rbp + 0xb0]
mov edx, r12d
mov r8, qword [rbp + 0xa0]
mov dword [rbp + 0xa8], edx
test r12d, r12d
jg 0x1401f0100
mov r13, qword [rbp - 0x38]
mov edi, dword [r13 + 0x14]
mov rbx, qword [r13 + 0x20]
test edi, edi
jle 0x1401f044b
mov r14d, dword [rsp + 0x4c]
mov r12, qword [rbp + 0xb8]
nop
test byte [rbx + 0x12], 6
jne 0x1401f0436
movzx eax, word [rbx + 0x14]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x1401f0436
cmp dword [rbx + 0x1c], r14d
jne 0x1401f0436
mov rax, qword [rbp - 0x40]
test byte [rax + 0x3c], 8
jne 0x1401f0436
mov r8d, dword [rbx + 0x20]
mov r9, r12
mov rsi, qword [rbx]
mov edx, r14d
mov qword [rsp + 0x28], r15
mov rcx, r13
mov dword [rsp + 0x20], 0x83
call fcn.1401f17e0
mov rdx, rax
test rax, rax
je 0x1401f042f
test byte [rax + 0x12], 4
jne 0x1401f042f
test byte [rax + 0x14], 1
je 0x1401f02ca
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x1401f02ca
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x1401f042f
mov rax, qword [rdx]
mov r9d, 0x10
mov r8d, dword [rbp - 0x48]
lea rdx, [rbp - 0x10]
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x20], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x30], xmm0
mov rax, qword [rsi + 0x10]
mov rsi, qword [rbp + 0x90]
mov rcx, rsi
mov qword [rbp], rax
call fcn.1401b7620
jmp 0x1401f0436
cmp edx, 3
jge 0x1401f034b
movzx ecx, word [rdi + 0x12]
bt cx, 0xc
jae 0x1401f034b
mov rsi, qword [rbp + 0x90]
test r12d, r12d
jne 0x1401f01b4
mov r12d, 3
jmp 0x1401f01b4
bt cx, 9
jae 0x1401f03c4
mov eax, dword [r9 + 0x2c]
test eax, eax
je 0x1401f03c4
movsxd rbx, dword [r14 + 0x90]
mov r8d, eax
and eax, 1
shr r8d, 1
lea edx, [rax*2 + 0x12]
cmp dword [r14 + 0x94], ebx
jg 0x1401f038e
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.14018dca0
mov ebx, eax
jmp 0x1401f03c4
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x48]
mov rdx, rsi
mov rsi, qword [rbp + 0x90]
mov r9d, 0x10
mov rcx, rsi
call fcn.1401b7620
test ebx, ebx
je 0x1401f0425
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x61], 0
je 0x1401f0408
lea rax, [0x1402dfee8]
mov dword [rax + 8], edx
or word [rdi + 0x12], 4
jmp 0x1401f01b4
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
or word [rdi + 0x12], 4
jmp 0x1401f01b4
mov rsi, qword [rbp + 0x90]
dec edi
add rbx, 0x38
test edi, edi
jg 0x1401f0230
mov r14, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xb0]
mov r9d, dword [rdi]
test r9d, r9d
je 0x1401f0507
mov eax, dword [r14 + 0x90]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1401f0490
mov edx, 0x45
mov dword [rsp + 0x20], r15d
mov rcx, r14
lea r8d, [rdx - 0x44]
call fcn.14018dca0
jmp 0x1401f04c3
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp dword [r13 + 0x14], 0
mov rbx, qword [r13 + 0x20]
jle 0x1401f0507
nop
test byte [rbx + 0x12], 6
jne 0x1401f04fa
mov rax, qword [rbx + 0x30]
test qword [rdi + 0x58], rax
jne 0x1401f04fa
mov r8d, dword [rbp - 0x48]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1401b7620
or word [rbx + 0x12], 4
inc r15d
add rbx, 0x38
cmp r15d, dword [r13 + 0x14]
jl 0x1401f04d0
mov rax, qword [rdi + 0x58]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret