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

Disassembly:
mov dword [rsp + 0x20], r9d
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 - 0x58]
sub rsp, 0x158
mov r12, qword [rbp + 0xc0]
lea rax, [r8 + 0x70]
mov r15, rdx
mov qword [rbp - 0x48], rax
mov rax, qword [rcx]
xor r14d, r14d
mov rdx, qword [r8 + 8]
mov r10, rcx
mov r11, qword [r12 + 0x60]
add rdx, 8
mov qword [rbp - 0x80], rax
mov edi, r9d
movzx eax, byte [r12 + 0x40]
mov rbx, r8
imul rcx, rax, 0x68
mov qword [rbp - 0x20], r14
add rdx, rcx
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x50], r11
mov qword [rbp - 0x38], rdx
mov esi, dword [rdx + 0x44]
mov dword [rsp + 0x44], esi
cmp dword [r8 + 0x260], esi
jne 0x14023ca73
lea eax, [r14 + 1]
jmp 0x14023caaf
movsxd r8, dword [r8 + 0x25c]
mov r9d, 1
mov edx, r9d
cmp r8, rdx
jle 0x14023caa8
mov ecx, r9d
lea rax, [rbx + 0x264]
cmp dword [rax], esi
je 0x14023cb4a
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x14023ca92
mov rax, r14
mov rdx, qword [rbp - 0x38]
not rax
mov ecx, edi
and rax, qword [rbp + 0xc8]
mov qword [r12 + 0x68], rax
mov r13d, dword [r10 + 0x44]
mov rsi, qword [rbx + 0x68]
dec r13d
mov dword [r10 + 0x44], r13d
shr rsi, cl
and esi, 1
mov dword [r12 + 0x10], r13d
mov dword [r12 + 0xc], r13d
mov eax, dword [r10 + 0x44]
dec eax
mov qword [rsp + 0x58], rsi
mov dword [r10 + 0x44], eax
mov dword [rbp - 0x40], eax
mov dword [r12 + 0x18], eax
cmp byte [r12 + 0x40], r14b
jbe 0x14023cb82
test byte [rdx + 0x3c], 8
je 0x14023cb82
mov edx, dword [r10 + 0x38]
inc edx
mov dword [r10 + 0x38], edx
mov dword [r12], edx
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x14023cb57
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, edx
mov rcx, r15
lea edx, [r8 + 0x47]
call fcn.1401cea20
mov r11, qword [rsp + 0x50]
mov r10, qword [rbp + 0xa0]
jmp 0x14023cb82
mov ecx, edx
mov rax, r9
shl rax, cl
jmp 0x14023caab
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov edx, edi
test edi, edi
jle 0x14023cbb0
nop dword [rax + rax]
mov eax, edx
imul rcx, rax, 0x70
cmp dword [rcx + rbx + 0x360], r14d
jne 0x14023cbb0
cmp qword [rcx + rbx + 0x398], r14
jne 0x14023cbb0
dec edx
test edx, edx
jg 0x14023cb90
movsxd rax, edx
imul rcx, rax, 0x70
mov rax, qword [rbp - 0x38]
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + rbx + 0x36c]
test r8b, 0x20
je 0x14023ccc4
movsxd rcx, dword [r15 + 0x90]
mov ebx, dword [rax + 0x34]
mov edx, dword [rax + 0x30]
cmp dword [r15 + 0x94], ecx
jg 0x14023cbff
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, r15
lea edx, [r9 + 0xb]
call fcn.1401cea20
jmp 0x14023cc2d
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r14
movsxd rdx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], edx
jg 0x14023cc59
mov r9d, r13d
mov dword [rsp + 0x20], r14d
mov r8d, ebx
mov edx, 0xc
mov rcx, r15
call fcn.1401cea20
mov edx, eax
jmp 0x14023cc88
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov r9, r12
mov dword [r12 + 0x48], edx
mov byte [r12 + 0x41], 9
mov rcx, qword [rbp + 0xb0]
mov r13, qword [rbp + 0xa8]
mov rdx, r14
mov rax, rdx
lea r8, [0x1401c5d50]
neg rax
lea rax, [rcx + 0x70]
sbb r12d, r12d
add r12d, 2
jmp 0x14023f443
mov edx, dword [r11 + 0x38]
bt edx, 0xa
jae 0x14023d50c
movzx ebx, word [r11 + 0x3c]
mov dword [rbp + 0xb8], ebx
lea ecx, [rbx + 2]
cmp ecx, 1
jne 0x14023cd0b
movzx eax, byte [r10 + 0x1f]
test al, al
jne 0x14023ccf8
inc dword [r10 + 0x38]
mov r13d, dword [r10 + 0x38]
jmp 0x14023cd3a
dec al
movzx eax, al
mov byte [r10 + 0x1f], al
mov r13d, dword [r10 + rax*4 + 0xe4]
jmp 0x14023cd3a
mov edx, dword [r10 + 0x28]
mov r13d, dword [r10 + 0x2c]
mov dword [rsp + 0x48], r13d
cmp ecx, edx
jg 0x14023cd2c
lea eax, [rcx + r13]
sub edx, ecx
mov dword [r10 + 0x2c], eax
mov dword [r10 + 0x28], edx
jmp 0x14023cd3f
mov eax, dword [r10 + 0x38]
lea r13d, [rax + 1]
add eax, ecx
mov dword [r10 + 0x38], eax
mov dword [rsp + 0x48], r13d
mov edi, dword [r12 + 0xc]
mov dword [rsp + 0x40], edi
test ebx, ebx
je 0x14023cfeb
mov ecx, dword [rbp + 0xb8]
lea ebx, [r13 + 2]
mov r12d, 0xfffffffe
mov r15, r14
sub r12d, r13d
mov r13, qword [rsp + 0x58]
nop dword [rax + rax]
mov rax, qword [r11 + 0x48]
mov rsi, qword [r15 + rax]
test rsi, rsi
je 0x14023cfc3
test byte [rsi + 0x14], 1
je 0x14023ce79
lea ecx, [r12 + rbx]
mov eax, 1
shl eax, cl
cmp ecx, 0x1f
cmovg eax, r14d
test dword [r11 + 0x30], eax
je 0x14023ce3a
mov edi, dword [r10 + 0x34]
mov rcx, r10
inc dword [r10 + 0x38]
mov r8d, edi
mov r14d, dword [r10 + 0x38]
lea eax, [rdi + 1]
mov dword [r10 + 0x34], eax
mov rdx, qword [rsi]
call fcn.1401f4760
mov r10, qword [rbp + 0xa8]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x14023ce04
mov r9d, ebx
mov dword [rsp + 0x20], r14d
mov r8d, edi
mov edx, 0xae
mov rcx, r10
call fcn.1401cea20
mov r11, qword [rsp + 0x50]
xor r14d, r14d
jmp 0x14023cfb6
mov r11, qword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8 + 0xc], r14d
xor r14d, r14d
mov dword [rax + rcx*8], 0xae
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], ebx
jmp 0x14023cfb1
mov rdi, qword [rbp + 0xc0]
mov r9d, ecx
mov r8, rdi
mov dword [rsp + 0x28], ebx
mov rdx, rsi
mov dword [rsp + 0x20], r13d
mov rcx, r10
call fcn.1401bb840
mov edi, dword [rdi + 0x10]
mov ecx, dword [rbp + 0xb8]
mov r11, qword [rsp + 0x50]
mov r10, qword [rbp + 0xa0]
mov dword [rsp + 0x40], edi
jmp 0x14023cfc7
mov rax, qword [rsi]
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x14023cf2b
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x14023ce94
movzx eax, byte [rdx + 2]
cmp al, 0xb1
jne 0x14023cea1
mov rax, qword [rdx + 0x20]
mov rcx, rax
jmp 0x14023ceb1
cmp al, 0x8a
jne 0x14023cf2b
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jle 0x14023cf2b
test dword [rdx + 4], 0x1000
mov rcx, r10
je 0x14023cf25
mov rdi, qword [r10 + 0x10]
call fcn.1401f5290
movsxd rcx, dword [rdi + 0x90]
mov edx, eax
cmp dword [rdi + 0x94], ecx
jg 0x14023cef6
mov r9d, ebx
mov dword [rsp + 0x20], r14d
mov r8d, eax
mov edx, 0x50
mov rcx, rdi
call fcn.1401cea20
jmp 0x14023cf36
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x14023cf36
mov rdx, qword [rax + 8]
jmp 0x14023cf2e
mov rcx, r10
mov r8d, ebx
call fcn.1401fd550
cmp byte [rsi + 0x17], 0x4a
mov r11, qword [rsp + 0x50]
jne 0x14023cfb6
test byte [r11 + 0x1c], 2
je 0x14023cfb6
mov r10, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [r10 + 0x90]
mov rax, qword [rax + 0x20]
mov edx, dword [rax + 0xc]
cmp dword [r10 + 0x94], ecx
jg 0x14023cf8b
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, edx
mov rcx, r10
lea edx, [r8 + 0x47]
call fcn.1401cea20
mov r11, qword [rsp + 0x50]
jmp 0x14023cfb6
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov ecx, dword [rbp + 0xb8]
mov r10, qword [rbp + 0xa0]
mov edi, dword [rsp + 0x40]
inc ebx
add r15, 8
lea eax, [r12 + rbx]
cmp eax, ecx
jl 0x14023cd70
mov r13d, dword [rsp + 0x48]
mov r15, qword [rbp + 0xa8]
mov ebx, dword [rbp + 0xb8]
movsxd rcx, dword [r15 + 0x90]
mov edx, dword [r11 + 0x18]
cmp dword [r15 + 0x94], ecx
jg 0x14023d019
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x47
mov r9d, r13d
mov rcx, r15
call fcn.1401cea20
jmp 0x14023d048
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rcx, dword [r15 + 0x90]
lea edx, [r13 + 1]
cmp dword [r15 + 0x94], ecx
jg 0x14023d076
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x47
mov r8d, ebx
mov rcx, r15
call fcn.1401cea20
jmp 0x14023d0a4
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rcx, qword [rsp + 0x50]
mov edx, 0xfffffffa
mov eax, 0xffffffff
mov r9d, edi
mov edi, dword [rsp + 0x44]
mov r8d, edi
test byte [rcx + 0x1c], 1
cmovne eax, edx
mov edx, 6
mov dword [rsp + 0x30], eax
mov rax, qword [rcx + 0x28]
mov rcx, r15
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call fcn.140229ee0
mov rdx, qword [rsp + 0x50]
mov r8, qword [rbp - 0x80]
and dword [rdx + 0x1c], 0xfffffffe
cmp byte [r8 + 0x67], 0
je 0x14023d0fb
mov qword [rdx + 0x28], r14
mov r9, qword [rbp + 0xc0]
mov eax, 0x3f
mov rcx, qword [rbp + 0xb0]
mov r12d, 0xb8
mov esi, r14d
mov dword [r9 + 0x44], edi
cmp byte [rcx + 0x42], 0
cmovne eax, r12d
mov byte [r9 + 0x41], al
mov eax, dword [r15 + 0x90]
mov dword [r9 + 0x48], eax
test ebx, ebx
je 0x14023cc9d
mov r12, r14
add r13d, 2
mov r14d, 0x48
nop word [rax + rax]
mov rax, qword [rdx + 0x48]
mov rbx, qword [r12 + rax]
cmp esi, 0x10
jae 0x14023d1f2
movzx eax, word [rdx + 0x22]
movzx ecx, si
shr ax, cl
test al, 1
je 0x14023d1f2
xor edx, edx
test byte [rbx + 0x12], 4
jne 0x14023d4ed
nop
cmp dword [r9], 0
je 0x14023d193
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x14023d4ed
mov rax, qword [rbx + 0x30]
test qword [r9 + 0x68], rax
jne 0x14023d4ed
test edx, edx
je 0x14023d1be
movzx eax, word [rbx + 0x12]
bt ax, 0xa
jae 0x14023d1be
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x14023d1c3
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x14023d4ed
mov rcx, qword [rbx + 8]
imul rbx, rax, 0x38
add rbx, qword [rcx + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x14023d4ed
inc edx
test byte [rbx + 0x12], 4
je 0x14023d180
jmp 0x14023d4ed
test byte [rbx + 0x14], 1
je 0x14023d4f2
cmp esi, 0x1f
ja 0x14023d20e
mov ecx, esi
mov eax, 1
shl eax, cl
xor edi, edi
jmp 0x14023d212
xor edi, edi
mov eax, edi
test dword [rdx + 0x30], eax
jne 0x14023d4f2
cmp byte [r8 + 0x67], 0
jne 0x14023d4f2
mov rcx, qword [rbp + 0xc0]
mov r9d, edi
mov r10d, dword [rcx + 0x50]
test r10d, r10d
jle 0x14023d307
mov rax, qword [r15]
mov r8, rdi
movzx r11d, byte [rax + 0x67]
test r11b, r11b
je 0x14023d256
lea rcx, [0x14031bce0]
jmp 0x14023d26e
mov rax, qword [rcx + 0x58]
movsxd rcx, dword [rax + r8 + 4]
mov rax, qword [r15 + 0x88]
lea rdx, [rcx + rcx*2]
lea rcx, [rax + rdx*8]
movzx edx, byte [rcx]
cmp dl, 0x5e
jne 0x14023d27f
lea eax, [rsi + r13]
cmp dword [rcx + 0xc], eax
jmp 0x14023d28b
cmp dl, 0x87
jne 0x14023d28d
lea eax, [rsi + r13]
cmp dword [rcx + 8], eax
je 0x14023d2a2
inc r9d
add r8, 0x14
cmp r9d, r10d
jge 0x14023d303
mov rcx, qword [rbp + 0xc0]
jmp 0x14023d248
mov r10d, dword [rcx + 0xc]
mov r9d, dword [rcx + 8]
mov r8d, dword [rcx + 4]
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x14023d2cd
mov rcx, r15
mov dword [rsp + 0x20], r10d
call fcn.1401cea20
jmp 0x14023d303
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], di
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], rdi
mov byte [rax + rcx*8 + 1], 0
mov r8, qword [rbp - 0x80]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax]
cmp r14w, word [rcx + 0x1a4]
jbe 0x14023d33b
cmp dword [rcx + 0x1a0], 0
jne 0x14023d32f
inc dword [rcx + 0x1b4]
jmp 0x14023d3b9
cmp byte [rcx + 0x67], 0
jne 0x14023d41d
jmp 0x14023d3b9
mov rdi, qword [rcx + 0x1d8]
test rdi, rdi
je 0x14023d359
mov rax, qword [rdi]
mov qword [rcx + 0x1d8], rax
inc dword [rcx + 0x1b0]
jmp 0x14023d3c9
mov rdi, qword [rcx + 0x1d0]
test rdi, rdi
je 0x14023d377
mov rax, qword [rdi]
mov qword [rcx + 0x1d0], rax
inc dword [rcx + 0x1b0]
jmp 0x14023d3c9
mov rdi, qword [rcx + 0x1c8]
test rdi, rdi
je 0x14023d395
mov rax, qword [rdi]
mov qword [rcx + 0x1c8], rax
inc dword [rcx + 0x1b0]
jmp 0x14023d3c9
mov rdi, qword [rcx + 0x1c0]
test rdi, rdi
je 0x14023d3b3
mov rax, qword [rdi]
inc dword [rcx + 0x1b0]
mov qword [rcx + 0x1c0], rax
jmp 0x14023d3c9
inc dword [rcx + 0x1b8]
mov rdx, r14
call fcn.1401c0cb0
mov rdi, rax
test rax, rax
je 0x14023d419
mov rcx, qword [rbp + 0xa0]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor eax, eax
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x35
mov dword [rdi + 0x28], 1
mov rax, qword [rcx]
mov r8d, dword [rax + 0x94]
cmp r8d, 1
jge 0x14023d419
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.1401fc3e0
mov r8, qword [rbp - 0x80]
cmp byte [r8 + 0x67], 0
jne 0x14023d4d2
mov rax, qword [rbx]
movsxd rcx, dword [rbx + 0x24]
mov rdx, qword [rax + 0x10]
test ecx, ecx
jle 0x14023d444
mov rax, qword [rdx + 0x20]
shl rcx, 5
mov rdx, qword [rcx + rax - 0x18]
mov qword [rdi + 0x10], rdx
mov rcx, r8
mov edx, 0x49
call fcn.1401f9700
mov rcx, rax
test rax, rax
je 0x14023d4c2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx], xmm0
mov r9d, 0x10
mov rdx, rdi
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xb0
mov byte [rax], 0
lea eax, [rsi + r13]
mov dword [rcx + 0x28], 1
mov qword [rdi + 0x18], rcx
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbp + 0xc0]
mov r8d, dword [rcx + 0x18]
mov rcx, qword [rbp + 0xa0]
call fcn.140201460
jmp 0x14023d4c6
mov qword [rdi + 0x18], rcx
mov r8, qword [rbp - 0x80]
mov qword [rdi + 0x10], 0
test rdi, rdi
je 0x14023d4e6
mov rdx, rdi
mov rcx, r8
call fcn.140201170
mov r8, qword [rbp - 0x80]
mov r9, qword [rbp + 0xc0]
mov rdx, qword [rsp + 0x50]
inc esi
add r12, 8
cmp esi, dword [rbp + 0xb8]
jl 0x14023d150
xor r14d, r14d
jmp 0x14023cc96
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x14023d644
mov rax, qword [r11 + 0x48]
xor r9d, r9d
mov r8, r12
mov rcx, r10
mov rdx, qword [rax]
inc dword [r10 + 0x38]
mov ebx, dword [r10 + 0x38]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], esi
call fcn.1401bb840
mov rsi, qword [rbp + 0xa0]
mov edi, eax
cmp eax, ebx
je 0x14023d569
test ebx, ebx
je 0x14023d569
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14023d569
mov dword [rsi + rax*4 + 0xe4], ebx
inc byte [rsi + 0x1f]
mov ebx, dword [r12 + 0x10]
cmp dword [r12 + 0x34], r14d
je 0x14023d5ce
mov r9d, ebx
mov r8d, edi
mov edx, 0xd
mov rcx, r15
call fcn.140229e00
mov r8d, dword [r12 + 0x34]
mov r9d, ebx
mov edx, 0x40
mov dword [rsp + 0x28], 1
mov rcx, r15
mov dword [rsp + 0x20], edi
call fcn.14022a010
mov rax, qword [rbp + 0xc8]
mov r9d, ebx
mov r8d, dword [rbp + 0xb8]
mov rcx, rsi
mov rdx, qword [rbp + 0xb0]
mov qword [rsp + 0x20], rax
call fcn.1401c7580
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x14023d605
mov r8d, dword [rsp + 0x44]
mov r9d, ebx
mov edx, 0x1e
mov dword [rsp + 0x20], edi
mov rcx, r15
call fcn.1401cea20
mov r9, r12
mov byte [r12 + 0x41], 0xb8
jmp 0x14023cc96
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov r9, r12
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r14
mov byte [r12 + 0x41], 0xb8
jmp 0x14023cc96
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x14023d914
xor eax, eax
mov dword [rsp + 0x4c], r14d
mov r12d, 0xb8
mov edi, r14d
mov r15d, r12d
mov ebx, eax
test dl, 0x20
je 0x14023d67e
mov rax, qword [r11 + 0x48]
mov ecx, 8
mov rbx, qword [rax]
jmp 0x14023d681
mov rcx, rax
test dl, 0x10
je 0x14023d68e
mov rax, qword [r11 + 0x48]
mov r14, qword [rcx + rax]
test esi, esi
je 0x14023d69b
mov rax, rbx
mov rbx, r14
mov r14, rax
test rbx, rbx
je 0x14023d79f
mov rdi, qword [rbx]
mov dword [rbp + 0xb8], 0x17151618
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x14023d6c0
movzx eax, byte [rdx + 2]
cmp al, 0xb1
jne 0x14023d6ca
mov rax, qword [rdx + 0x20]
jmp 0x14023d6d6
cmp al, 0x8a
jne 0x14023d72d
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x14023d72d
movzx eax, byte [r10 + 0x1f]
test al, al
jne 0x14023d6ee
inc dword [r10 + 0x38]
mov ebx, dword [r10 + 0x38]
jmp 0x14023d6ff
dec al
movzx eax, al
mov byte [r10 + 0x1f], al
mov ebx, dword [r10 + rax*4 + 0xe4]
mov rdx, qword [rdi + 0x18]
mov r9d, 1
mov r8d, ebx
mov rcx, r10
call fcn.1401bc0d0
movzx eax, byte [rdi]
mov esi, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0xb8]
jmp 0x14023d75c
lea r8, [rsp + 0x70]
mov rcx, r10
call fcn.140200850
mov rcx, qword [rbp + 0xc0]
mov rdx, rbx
mov esi, eax
call fcn.1401c1b20
movzx r10d, byte [rdi]
mov ebx, dword [rsp + 0x70]
movzx ecx, byte [rbp + r10 + 0x82]
mov r8d, dword [rsp + 0x44]
mov r9d, r13d
movzx edx, cl
mov rcx, qword [rbp + 0xa8]
mov dword [rsp + 0x20], esi
call fcn.140229e70
mov rcx, qword [rbp + 0xa0]
mov edi, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x58]
test ebx, ebx
je 0x14023d7c3
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x14023d7c3
mov dword [rcx + rax*4 + 0xe4], ebx
inc byte [rcx + 0x1f]
jmp 0x14023d7c3
mov r8d, dword [rsp + 0x44]
mov edx, esi
mov rcx, qword [rbp + 0xa8]
xor edx, 1
lea edx, [rdx*4 + 0x20]
call fcn.140229e00
mov rcx, qword [rbp + 0xa0]
test r14, r14
je 0x14023d86a
mov rbx, qword [r14]
mov r9d, 1
inc dword [rcx + 0x38]
mov edi, dword [rcx + 0x38]
mov r8d, edi
mov rdx, qword [rbx + 0x18]
call fcn.1401bc0d0
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rcx]
movzx eax, dl
cmp dl, 0xb0
jne 0x14023d7fa
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x14023d804
mov rax, qword [rcx + 0x20]
jmp 0x14023d810
cmp al, 0x8a
jne 0x14023d815
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x14023d81e
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
je 0x14023d828
lea r15d, [rsi*2 + 0x36]
jmp 0x14023d835
mov eax, esi
xor eax, 1
lea r15d, [rax*2 + 0x37]
cmp dl, 0xb0
jne 0x14023d83e
movzx edx, byte [rcx + 2]
cmp dl, 0xb1
jne 0x14023d849
mov rax, qword [rcx + 0x20]
jmp 0x14023d856
cmp dl, 0x8a
jne 0x14023d85b
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jg 0x14023d86a
mov rcx, qword [rbp + 0xc0]
mov rdx, r14
call fcn.1401c1b20
mov r9, qword [rbp + 0xc0]
test esi, esi
mov r10, qword [rbp + 0xa8]
mov edx, dword [rsp + 0x44]
sete al
add al, 0x26
mov ecx, dword [r10 + 0x90]
mov byte [r9 + 0x41], al
mov dword [r9 + 0x44], edx
mov dword [r9 + 0x48], ecx
cmp r15d, r12d
je 0x14023d504
mov rax, qword [rbp + 0xa0]
mov r8d, edx
mov edx, 0x87
mov rcx, r10
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.140229e00
mov edx, r15d
mov dword [rsp + 0x20], ebx
mov r15, qword [rbp + 0xa8]
mov r9d, r13d
mov rcx, r15
mov r8d, edi
call fcn.140229e70
movsxd rax, dword [r15 + 0x90]
xor r14d, r14d
mov r9, qword [rbp + 0xc0]
mov r13, r15
test eax, eax
jle 0x14023d908
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [r15 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rcx, qword [rbp + 0xb0]
jmp 0x14023cca4
bt edx, 9
jae 0x14023e713
movzx r14d, word [r11 + 0x18]
xor ecx, ecx
mov eax, dword [r12 + 8]
xor sil, sil
movzx r9d, word [r11 + 0x1c]
mov r13d, ecx
mov r10, qword [r11 + 0x20]
mov ebx, ecx
movzx r15d, word [r11 + 0x1a]
mov r12d, r14d
mov word [rbp - 0x70], r9w
mov r8d, r14d
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x60], rcx
mov byte [rsp + 0x60], cl
mov dword [rsp + 0x40], ecx
mov dword [rbp - 0x74], ecx
mov qword [rsp + 0x78], r10
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x6c], r14d
test dl, 0x20
je 0x14023d987
mov rax, qword [r11 + 0x48]
inc r8d
mov ebx, r15d
mov r13, qword [rax + r14*8]
mov qword [rbp - 0x68], r13
test dl, 0x10
je 0x14023da61
mov rax, qword [r11 + 0x48]
cmp ebx, r9d
mov ecx, r8d
mov edi, r9d
cmova edi, ebx
mov r10, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rbp - 0x50], r10
test word [r10 + 0x12], ax
je 0x14023da20
mov rcx, qword [rbp + 0xa0]
mov edx, 0x47
mov rax, qword [rbp + 0xc0]
mov rbx, qword [rbp + 0xa8]
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x46]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, rbx
mov dword [rax + 0x2c], r9d
call fcn.140229e00
mov eax, dword [rbx + 0x90]
xor ecx, ecx
mov r8, qword [rbp + 0xc0]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x50]
shl dword [r8 + 0x2c], 1
mov dword [r8 + 0x30], eax
mov rax, qword [r10 + 0x38]
cmp byte [r14 + rax], 1
sete cl
xor ecx, dword [rsp + 0x58]
or dword [r8 + 0x2c], ecx
jmp 0x14023da25
mov r10, qword [rsp + 0x78]
mov rdx, r14
mov ebx, edi
test r13, r13
jne 0x14023da5b
mov rax, qword [r10 + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x14023da50
mov rax, qword [r10 + 0x18]
lea rdx, [r8 + r8*2]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
je 0x14023da56
cmp r8d, 0xfffffffe
jne 0x14023da5b
mov sil, 1
mov ebx, edi
mov edi, dword [rbp + 0xb8]
mov eax, dword [r11 + 0x38]
test al, 0x30
jne 0x14023dac8
bt eax, 0x13
jae 0x14023dac8
mov rcx, qword [rbp + 0xa0]
mov ebx, 1
mov rdx, qword [rbp + 0xc0]
movzx esi, bl
inc dword [rcx + 0x38]
cmp dword [rdx], 0
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x40], eax
mov dword [rdx + 0x24], eax
je 0x14023dabf
mov rcx, qword [rbp + 0xa8]
lea edx, [rbx + 0x46]
mov r9d, eax
xor r8d, r8d
call fcn.140229e00
mov r11, qword [rsp + 0x50]
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xc0]
dec dword [rcx + 0x44]
mov eax, dword [rcx + 0x44]
mov dword [rdx + 0x28], eax
mov rax, qword [rsp + 0x78]
cmp r14w, word [rax + 0x60]
jae 0x14023db0b
mov rax, qword [rax + 0x38]
xor edx, edx
cmp byte [r14 + rax], dl
sete dl
cmp dword [rsp + 0x58], edx
jne 0x14023db0b
mov rcx, qword [rbp - 0x50]
movzx eax, r15b
movzx r15d, word [rbp - 0x70]
mov qword [rbp - 0x50], r13
mov r13, rcx
mov byte [rsp + 0x60], sil
xor sil, sil
mov qword [rbp - 0x68], rcx
mov word [rbp - 0x70], ax
test edi, edi
jle 0x14023db2f
test dword [r11 + 0x38], 0x100000
je 0x14023db2f
mov r8d, dword [rsp + 0x48]
mov edx, 0x88
mov rcx, qword [rbp + 0xa8]
call fcn.140229d90
mov r8d, dword [rsp + 0x58]
lea rax, [rbp - 0x58]
mov rcx, qword [rbp + 0xa0]
mov r9d, ebx
mov rbx, qword [rbp + 0xc0]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401ba870
mov ecx, eax
mov dword [rsp + 0x68], eax
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14023dbd0
cmp word [rbp - 0x70], 0
je 0x14023dbd0
mov rdi, r14
add rdi, rax
jne 0x14023db7d
xor r8d, r8d
mov qword [rbp - 0x60], r8
jmp 0x14023dbd3
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14023db84
mov rax, qword [rbp - 0x80]
inc rbx
test rax, rax
je 0x14023dba6
mov rdx, rbx
mov rcx, rax
call fcn.1401f9700
jmp 0x14023dbae
mov rcx, rbx
call fcn.14020fe50
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14023dbc5
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call fcn.140263720
mov ecx, dword [rsp + 0x68]
mov rbx, qword [rbp + 0xc0]
xor r8d, r8d
cmp dword [rsp + 0x40], 0
je 0x14023dbdf
mov eax, dword [rbx + 0x28]
jmp 0x14023dbe2
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x64], eax
test r13, r13
je 0x14023dbfc
test byte [r13 + 0x14], 0x28
jne 0x14023dbfc
mov edi, r8d
mov ebx, 1
jmp 0x14023dc03
mov ebx, 1
mov edi, ebx
mov rax, qword [rbp - 0x50]
mov dword [rsp + 0x70], edi
test rax, rax
je 0x14023dc1b
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x4c], r8d
je 0x14023dc1f
mov dword [rsp + 0x4c], ebx
test r13, r13
jne 0x14023dc71
test r14w, r14w
jne 0x14023dc71
mov dword [rbp - 0x78], r8d
mov edx, r14d
mov r13d, edx
test sil, sil
je 0x14023dd9d
mov edi, r8d
lea r9d, [r14 + rcx]
mov rcx, qword [rbp + 0xa8]
xor r8d, r8d
lea edx, [r8 + 0x4b]
call fcn.140229e00
mov r15, qword [rbp - 0x58]
inc r13d
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x6c], r12d
mov r12, qword [rbp - 0x68]
jmp 0x14023dde0
cmp qword [rbp - 0x68], 0
mov edx, r14d
mov dword [rbp - 0x78], ebx
mov r13d, r14d
je 0x14023dc31
mov r12, qword [rbp - 0x68]
lea esi, [r14 + rcx]
mov rcx, qword [rbp + 0xa0]
mov r8d, esi
movzx edi, r15w
mov r9d, edi
mov rax, qword [r12]
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1401bc0d0
movzx eax, word [r12 + 0x12]
bt ax, 8
mov r10, qword [rbp + 0xa8]
jae 0x14023dd0c
mov rax, qword [r10]
cmp byte [rax + 0x67], 0
je 0x14023dcd0
lea rcx, [0x14031bce0]
jmp 0x14023dcea
mov eax, dword [r10 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
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
movzx eax, word [r12 + 0x12]
test al, al
js 0x14023dd31
mov rcx, rbx
call fcn.1401fd3e0
test eax, eax
je 0x14023dd31
mov r9d, dword [rsp + 0x64]
mov r8d, esi
mov edx, 0x32
mov rcx, r10
call fcn.140229e00
mov r15, qword [rbp - 0x58]
test r15, r15
je 0x14023dd48
lea r8, [r15 + r14]
mov edx, edi
mov rcx, rbx
call fcn.140249050
movzx eax, byte [rbx]
add r13d, edi
cmp al, 0xb0
jne 0x14023dd56
movzx eax, byte [rbx + 2]
cmp al, 0xb1
jne 0x14023dd60
mov rax, qword [rbx + 0x20]
jmp 0x14023dd6c
cmp al, 0x8a
jne 0x14023dd80
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x14023dd80
mov r14d, dword [rsp + 0x40]
mov edi, 1
xor sil, sil
jmp 0x14023dddd
mov rcx, qword [rbp + 0xc0]
mov rdx, r12
call fcn.1401c1b20
mov edi, dword [rsp + 0x70]
xor sil, sil
mov r14d, dword [rsp + 0x40]
jmp 0x14023dddd
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x6c], r12d
test r14d, r14d
je 0x14023ddd5
xor r8d, r8d
lea r9d, [r12 + rcx]
mov rcx, qword [rbp + 0xa8]
lea edx, [r8 + 0x4b]
call fcn.140229e00
mov r15, qword [rbp - 0x58]
inc r13d
mov dword [rsp + 0x6c], r12d
mov r12, qword [rbp - 0x68]
jmp 0x14023dde0
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x58]
mov ebx, dword [rbp - 0x78]
mov r8d, dword [rsp + 0x68]
mov r9d, r13d
movzx esi, sil
mov r10, r15
sub r9d, esi
mov dword [rsp + 0x70], esi
test r15, r15
je 0x14023de64
test r9d, r9d
jle 0x14023de14
cmp byte [r10], 0x41
jg 0x14023de14
dec r9d
inc r8d
inc r10
test r9d, r9d
jg 0x14023de00
movsxd rdx, r9d
cmp rdx, 1
jle 0x14023de38
lea rax, [rdx - 1]
add rax, r10
cmp byte [rax], 0x41
jg 0x14023de38
dec r9d
dec rdx
dec rax
cmp rdx, 1
jg 0x14023de24
test r9d, r9d
jle 0x14023de64
mov rax, qword [rbp + 0xa0]
mov edx, 0x60
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], 0
mov rcx, qword [rax + 0x10]
call fcn.140229ee0
mov rax, qword [rsp + 0x50]
lea r15, [0x140000000]
movzx eax, word [rax + 0x3e]
test ax, ax
je 0x14023de82
cmp r13d, eax
je 0x14023e0f0
mov r10, qword [rbp + 0xa8]
test r14d, r14d
je 0x14023def7
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x14023dec3
mov edx, 0x47
mov dword [rsp + 0x20], 0
mov r9d, r14d
mov rcx, r10
lea r8d, [rdx - 0x46]
call fcn.1401cea20
mov r10, qword [rbp + 0xa8]
jmp 0x14023def7
lea eax, [rcx + 1]
xor edx, edx
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbp + 0xc0]
mov r14d, dword [rsp + 0x64]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x14023df55
mov eax, dword [rsp + 0x6c]
mov r9d, r14d
mov dword [rsp + 0x28], eax
mov edx, 0x40
mov eax, dword [rsp + 0x68]
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.14022a010
mov rax, qword [rbp + 0xc8]
mov r9d, r14d
mov r8d, dword [rbp + 0xb8]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.1401c7580
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + rbx*2]
lea ecx, [rcx + rax*2]
mov rax, qword [rsp + 0x50]
movzx ebx, byte [rcx + r15 + 0x28bd88]
test dword [rax + 0x38], 0x100000
je 0x14023e024
cmp ebx, 0x17
jne 0x14023e024
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
movsx ecx, word [rax]
mov eax, 0x66666667
add ecx, 9
imul ecx
mov rcx, qword [rbp + 0xa8]
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
lea edx, [rbx + 0x65]
call fcn.140229d90
movsxd r8, eax
mov dword [rbp - 0x74], r8d
test r12, r12
jne 0x14023dfc8
cmp qword [rbp - 0x50], r12
je 0x14023e024
mov r9, qword [rbp + 0xa8]
movsxd rcx, dword [r9 + 0x90]
test ecx, ecx
jle 0x14023dff6
mov rax, qword [r9 + 0x88]
lea rcx, [rcx + rcx*2]
mov edx, 1
mov word [rax + rcx*8 - 0x16], dx
mov ecx, dword [r9 + 0x90]
mov rax, qword [r9]
lea edx, [rcx + 1]
cmp byte [rax + 0x67], 0
je 0x14023e00b
lea rax, [0x14031bce0]
jmp 0x14023e01a
mov rax, qword [r9 + 0x88]
lea rcx, [r8 + r8*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov dword [rbp - 0x74], 0
mov r12d, dword [rsp + 0x68]
mov edx, ebx
mov rbx, qword [rbp + 0xa8]
mov r9d, r14d
mov r8d, dword [rsp + 0x48]
mov rcx, rbx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r12d
call fcn.14022a010
cmp dword [rsp + 0x40], 0
je 0x14023e0fc
movsxd rcx, dword [rbx + 0x90]
lea edx, [rcx + 2]
cmp dword [rbx + 0x94], ecx
jg 0x14023e085
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edx
mov rcx, rbx
lea edx, [r8 + 9]
call fcn.1401cea20
jmp 0x14023e0b2
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov r8d, dword [rsp + 0x48]
mov eax, 2
mov edx, 6
mov ecx, r13d
sub ecx, edi
mov r9d, r14d
mov dword [rsp + 0x28], ecx
cmp r13d, 1
mov rcx, rbx
mov dword [rsp + 0x20], r12d
cmova eax, edx
add eax, dword [rsp + 0x58]
movzx edx, byte [rax + r15 + 0x28bd88]
call fcn.14022a010
jmp 0x14023e0fc
mov r12d, dword [rsp + 0x68]
mov rbx, qword [rbp + 0xa8]
mov r13, qword [rbp - 0x50]
mov ecx, dword [rsp + 0x6c]
mov r14d, ecx
test r13, r13
je 0x14023e290
mov rax, qword [r13]
lea ebx, [rcx + r12]
movzx esi, word [rbp - 0x70]
mov r8d, ebx
mov rcx, qword [rbp + 0xa0]
mov r9d, esi
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.1401bc0d0
movzx eax, word [r13 + 0x12]
bt ax, 8
mov r10, qword [rbp + 0xa8]
jae 0x14023e195
mov rax, qword [r10]
cmp byte [rax + 0x67], 0
je 0x14023e15a
lea rcx, [0x14031bce0]
jmp 0x14023e174
mov eax, dword [r10 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
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
movzx eax, word [r13 + 0x12]
test al, al
js 0x14023e1ba
mov rcx, rdi
call fcn.1401fd3e0
test eax, eax
je 0x14023e1ba
mov r9d, dword [rsp + 0x64]
mov r8d, ebx
mov edx, 0x32
mov rcx, r10
call fcn.140229e00
mov r12, qword [rbp - 0x60]
test r12, r12
je 0x14023e247
mov r8, r12
mov edx, esi
mov rcx, rdi
call fcn.140249050
mov r11, r12
mov r9d, esi
test esi, esi
je 0x14023e1f3
nop
cmp byte [r11], 0x41
jg 0x14023e1f3
dec r9d
inc ebx
inc r11
test r9d, r9d
jg 0x14023e1e0
movsxd rax, r9d
cmp rax, 1
jle 0x14023e218
lea r10, [rax - 1]
add r10, r11
cmp byte [r10], 0x41
jg 0x14023e218
dec r9d
dec rax
dec r10
cmp rax, 1
jg 0x14023e203
test r9d, r9d
jle 0x14023e247
mov rax, qword [rbp + 0xa0]
mov r8d, ebx
mov dword [rsp + 0x30], r9d
mov edx, 0x60
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0
mov rcx, qword [rax + 0x10]
call fcn.140229ee0
movzx eax, byte [rdi]
add r14d, esi
cmp al, 0xb0
jne 0x14023e255
movzx eax, byte [rdi + 2]
cmp al, 0xb1
jne 0x14023e25f
mov rax, qword [rdi + 0x20]
jmp 0x14023e26b
cmp al, 0x8a
jne 0x14023e27b
mov rax, qword [rdi + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x14023e27b
mov esi, dword [rsp + 0x70]
mov ebx, 1
jmp 0x14023e2d1
mov rcx, qword [rbp + 0xc0]
mov rdx, r13
call fcn.1401c1b20
mov esi, dword [rsp + 0x70]
jmp 0x14023e2cd
cmp byte [rsp + 0x60], 0
je 0x14023e2c9
mov edi, dword [rsp + 0x40]
test edi, edi
jne 0x14023e2bc
lea r9d, [rcx + r12]
xor r8d, r8d
mov rcx, rbx
lea edx, [rdi + 0x4b]
call fcn.140229e00
mov r12, qword [rbp - 0x60]
xor ebx, ebx
inc r14d
jmp 0x14023e2d5
mov ebx, dword [rsp + 0x4c]
inc r14d
mov r12, qword [rbp - 0x60]
jmp 0x14023e2d5
mov r12, qword [rbp - 0x60]
mov ebx, dword [rsp + 0x4c]
mov edi, dword [rsp + 0x40]
mov rax, qword [rbp - 0x58]
mov r13, qword [rbp - 0x80]
test rax, rax
je 0x14023e2ed
mov rdx, rax
mov rcx, r13
call fcn.1401f97c0
test r12, r12
je 0x14023e3ae
cmp r12, qword [r13 + 0x1f0]
jae 0x14023e33c
cmp r12, qword [r13 + 0x1e0]
jb 0x14023e31f
mov rax, qword [r13 + 0x1d8]
mov qword [r12], rax
mov qword [r13 + 0x1d8], r12
jmp 0x14023e3ae
cmp r12, qword [r13 + 0x1e8]
jb 0x14023e33c
mov rax, qword [r13 + 0x1c8]
mov qword [r12], rax
mov qword [r13 + 0x1c8], r12
jmp 0x14023e3ae
cmp qword [r13 + 0x308], 0
je 0x14023e353
mov rdx, r12
mov rcx, r13
call fcn.1401d73a0
jmp 0x14023e3ae
cmp dword [0x1403182c0], 0
je 0x14023e3a5
mov rcx, qword [0x14031baa0]
test rcx, rcx
je 0x14023e36e
call qword [0x140318340]
mov rcx, r12
call qword [0x1403182f8]
dec qword [0x14031ba38]
movsxd rcx, eax
sub qword [0x14031b9f0], rcx
mov rcx, r12
call qword [0x1403182e8]
mov rcx, qword [0x14031baa0]
test rcx, rcx
je 0x14023e3ae
call qword [0x140318350]
jmp 0x14023e3ae
mov rcx, r12
call qword [0x1403182e8]
mov r10, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xc0]
mov eax, dword [r10 + 0x90]
mov dword [rcx + 0x48], eax
test r14d, r14d
je 0x14023e46c
test edi, edi
je 0x14023e3f5
mov r9d, dword [r10 + 0x90]
mov r8d, edi
add r9d, 3
mov edx, 0x11
mov rcx, r10
call fcn.140229e00
mov r10, qword [rbp + 0xa8]
mov rax, qword [rsp + 0x58]
mov rcx, r10
mov r13d, dword [rsp + 0x48]
mov r8d, r13d
mov r12d, dword [rsp + 0x68]
mov dword [rsp + 0x28], r14d
lea eax, [rbx + rax*2]
mov dword [rsp + 0x20], r12d
mov ebx, dword [rsp + 0x64]
mov r9d, ebx
movzx edx, byte [rax + r15 + 0x28bd84]
call fcn.14022a010
movsxd rcx, dword [rbp - 0x74]
mov r10, qword [rbp + 0xa8]
test ecx, ecx
je 0x14023e47a
mov rax, qword [r10]
mov edx, dword [r10 + 0x90]
cmp byte [rax + 0x67], 0
je 0x14023e457
lea rax, [0x14031bce0]
mov dword [rax + 8], edx
jmp 0x14023e47a
mov rax, qword [r10 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14023e47a
mov ebx, dword [rsp + 0x64]
mov r12d, dword [rsp + 0x68]
mov r13d, dword [rsp + 0x48]
test edi, edi
je 0x14023e4cf
mov r9d, dword [r10 + 0x90]
mov r8d, edi
add r9d, 2
mov edx, 0x10
mov rcx, r10
call fcn.140229e00
mov rax, qword [rsp + 0x58]
lea r8d, [r14 + rsi]
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8d, r13d
mov dword [rsp + 0x20], r12d
lea eax, [rsi + rax*2]
movzx edx, byte [rax + r15 + 0x28bd84]
mov r15, qword [rbp + 0xa8]
mov rcx, r15
call fcn.14022a010
jmp 0x14023e4d6
mov r15, qword [rbp + 0xa8]
mov rbx, qword [rsp + 0x50]
mov eax, dword [rbx + 0x38]
bt eax, 0x12
jae 0x14023e502
mov eax, dword [rsp + 0x6c]
mov r8d, r13d
mov r9d, eax
mov dword [rsp + 0x20], eax
mov edx, 0x7d
mov rcx, r15
call fcn.140229e70
mov eax, dword [rbx + 0x38]
test al, 0x40
mov rax, qword [rbp + 0xb0]
je 0x14023e52c
mov ecx, 0x1020
test word [rax + 0x3c], cx
jne 0x14023e52c
mov edi, dword [rsp + 0x44]
mov r14d, 1
mov rcx, qword [rsp + 0x78]
jmp 0x14023e68c
mov rcx, qword [rsp + 0x78]
xor r11d, r11d
mov edi, dword [rsp + 0x44]
mov r14d, r11d
mov dword [rbp + 0xb8], r11d
mov rbx, qword [rcx + 0x18]
test byte [rbx + 0x30], 0x80
jne 0x14023e562
mov rdx, rcx
mov r9d, r13d
mov rcx, rax
mov r8d, edi
call fcn.1401bb350
jmp 0x14023e682
cmp edi, r13d
je 0x14023e687
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14023e586
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14023e586
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14023e574
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0xa0]
call fcn.14020a270
mov esi, eax
mov edi, r11d
movzx eax, word [rbx + 0x5e]
cmp r11w, ax
jae 0x14023e65f
mov r14, qword [rsp + 0x78]
nop
movzx r8d, word [r14 + 0x60]
mov edx, r11d
test r8d, r8d
je 0x14023e5e1
mov rax, qword [rbx + 8]
mov r9, qword [r14 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x14023e5e8
inc edx
cmp edx, r8d
jl 0x14023e5d0
mov rdx, 0xffffffffffffffff
movsxd rcx, dword [r15 + 0x90]
movsx r8d, dx
lea edx, [rsi + rdi]
cmp dword [r15 + 0x94], ecx
jg 0x14023e61b
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r13d
mov edx, 0x5e
mov rcx, r15
call fcn.1401cea20
xor r11d, r11d
jmp 0x14023e64a
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
mov dword [rax + rcx*8], 0x5e
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], r11
movzx eax, word [rbx + 0x5e]
inc edi
cmp edi, eax
jl 0x14023e5b0
mov r14d, dword [rbp + 0xb8]
mov edi, dword [rsp + 0x44]
mov edx, 0x1c
mov r9d, dword [rbp - 0x40]
mov r8d, edi
movzx eax, ax
mov rcx, r15
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.14022a010
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x50]
mov r9, qword [rbp + 0xc0]
cmp dword [r9], 0
jne 0x14023e6b4
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x14023e6b4
mov r8, qword [rbp - 0x48]
mov edx, edi
call fcn.140252bb0
mov r9, qword [rbp + 0xc0]
mov eax, 0x1000
test dword [rbx + 0x38], eax
je 0x14023e6c5
mov byte [r9 + 0x41], 0xb8
jmp 0x14023e6d3
cmp dword [rsp + 0x58], 0
sete al
add al, 0x26
mov byte [r9 + 0x41], al
mov dword [r9 + 0x44], r13d
movzx eax, byte [rbx + 0x3a]
and al, 1
mov byte [r9 + 0x42], al
test byte [rbx + 0x38], 0xf
jne 0x14023e6ec
mov byte [r9 + 0x43], 1
mov r13, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xb0]
test r14d, r14d
je 0x14023f432
xor r14d, r14d
mov edx, r14d
mov qword [rsp + 0x78], rdx
jmp 0x14023cca7
bt edx, 0xd
jae 0x14023f3c2
dec dword [r10 + 0x44]
mov r12, r14
inc dword [r10 + 0x38]
mov eax, dword [r10 + 0x34]
mov esi, dword [r10 + 0x38]
mov r8, qword [rbp + 0xc0]
mov dword [rsp + 0x68], eax
inc eax
mov dword [r10 + 0x34], eax
mov eax, dword [r10 + 0x44]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x28], r14
mov dword [rsp + 0x48], r14d
mov dword [rbp + 0xb8], r14d
mov rcx, qword [rax + 0x20]
mov rax, qword [r11 + 0x48]
mov dword [rsp + 0x6c], r14d
mov qword [rbp - 0x60], r14
mov dword [rbp - 0x74], esi
mov r14, qword [rax]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x10], r14
mov rax, qword [r14 + 0x20]
mov qword [rbp - 0x18], rax
mov byte [r8 + 0x41], 0x43
mov dword [r8 + 0x44], esi
movzx eax, byte [rbx + 0x40]
cmp al, 1
jbe 0x14023e9c0
mov rcx, qword [rbp - 0x80]
mov ebx, eax
sub ebx, edi
dec ebx
movsxd rax, ebx
imul rdx, rax, 0x68
movzx eax, word [rcx + 0x1a4]
add rdx, 0x70
cmp rdx, rax
jbe 0x14023e7dc
cmp dword [rcx + 0x1a0], r12d
jne 0x14023e7cd
inc dword [rcx + 0x1b4]
jmp 0x14023e87e
cmp byte [rcx + 0x67], r12b
jne 0x14023e890
jmp 0x14023e87e
cmp rdx, 0x80
ja 0x14023e830
mov r13, qword [rcx + 0x1d8]
mov qword [rsp + 0x58], r13
test r13, r13
je 0x14023e80c
mov rax, qword [r13]
mov qword [rcx + 0x1d8], rax
inc dword [rcx + 0x1b0]
jmp 0x14023e8a3
mov r13, qword [rcx + 0x1d0]
mov qword [rsp + 0x58], r13
test r13, r13
je 0x14023e830
mov rax, qword [r13]
mov qword [rcx + 0x1d0], rax
inc dword [rcx + 0x1b0]
jmp 0x14023e8a3
mov r13, qword [rcx + 0x1c8]
mov qword [rsp + 0x58], r13
test r13, r13
je 0x14023e854
mov rax, qword [r13]
mov qword [rcx + 0x1c8], rax
inc dword [rcx + 0x1b0]
jmp 0x14023e8a3
mov r13, qword [rcx + 0x1c0]
mov qword [rsp + 0x58], r13
test r13, r13
je 0x14023e878
mov rax, qword [r13]
inc dword [rcx + 0x1b0]
mov qword [rcx + 0x1c0], rax
jmp 0x14023e8a3
inc dword [rcx + 0x1b8]
call fcn.1401c0cb0
mov qword [rsp + 0x58], rax
mov r13, rax
test rax, rax
jne 0x14023e89c
mov rax, qword [rbp + 0xc8]
jmp 0x14023fb71
mov r8, qword [rbp + 0xc0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x38]
mov dword [r13 + 4], ecx
mov dword [r13], ecx
movups xmm0, xmmword [rax]
movups xmmword [r13 + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r13 + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r13 + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r13 + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r13 + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r13 + 0x58], xmm1
movsd xmm0, qword [rax + 0x60]
mov rax, qword [rbp + 0xb0]
movsd qword [r13 + 0x68], xmm0
mov r10, qword [rax + 8]
cmp ebx, 1
jl 0x14023e97e
lea rdx, [r13 + 0x70]
mov r9d, ebx
add r8, 0xb0
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x68]
imul rcx, rax, 0x68
lea r8, [r8 + 0x70]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x68], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x58], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x48], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x38], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x28], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x18], xmm1
movsd xmm0, qword [rcx + r10 + 0x68]
movsd qword [rdx - 8], xmm0
sub r9, 1
jne 0x14023e920
mov rbx, qword [rbp + 0xb0]
mov r10, qword [rbp + 0xa0]
mov rcx, qword [rbp - 0x30]
test byte [rbx + 0x3c], 0x10
jne 0x14023ea2f
test byte [rcx + 0x30], 0x80
jne 0x14023e9cb
inc dword [r10 + 0x38]
xor r8d, r8d
mov esi, dword [r10 + 0x38]
mov rcx, r15
mov r9d, esi
mov dword [rsp + 0x48], esi
lea edx, [r8 + 0x4b]
call fcn.140229e00
jmp 0x14023ea19
mov r13, qword [rbx + 8]
mov qword [rsp + 0x58], r13
jmp 0x14023e990
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x14023e9e6
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14023e9e6
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14023e9d4
mov esi, dword [r10 + 0x34]
mov edx, 0x76
mov r8d, esi
mov dword [rsp + 0x48], esi
mov rcx, r15
lea eax, [rsi + 1]
mov dword [r10 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.140229e00
mov rcx, qword [rbp + 0xa0]
mov rdx, rbx
call fcn.140238520
mov rax, qword [rbp + 0xa0]
mov esi, dword [rbp - 0x74]
inc dword [rax + 0x38]
mov eax, dword [rax + 0x38]
mov dword [rbp + 0xb8], eax
movsxd rdx, dword [r15 + 0x90]
mov dword [rsp + 0x64], edx
cmp dword [r15 + 0x94], edx
jg 0x14023ea62
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, esi
mov rcx, r15
lea edx, [r8 + 0x47]
call fcn.1401cea20
mov dword [rsp + 0x64], eax
xor edx, edx
jmp 0x14023ea8e
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbp - 0x48]
cmp dword [rax + 0x14], 1
jle 0x14023ec8d
mov r13, qword [rbp + 0xa0]
mov ebx, edx
mov rsi, qword [rbp - 0x80]
mov rdi, rdx
mov r8d, 0x8006
mov r9d, 0x3fff
mov r15, rax
nop dword [rax + rax]
mov rdx, qword [r15 + 0x20]
movsxd rax, ebx
imul rcx, rax, 0x38
mov r10, qword [rdx + rdi]
add rcx, rdx
cmp rcx, r14
je 0x14023eb1f
test word [rdx + rdi + 0x12], r8w
jne 0x14023eb1f
test word [rdx + rdi + 0x14], r9w
je 0x14023eb1f
test dword [r10 + 4], 0x400000
jne 0x14023eb1f
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, rsi
call fcn.1401c58c0
mov r8, rax
mov rdx, r12
mov rcx, r13
call fcn.1401fcee0
mov r12, rax
mov r8d, 0x8006
mov r9d, 0x3fff
inc ebx
add rdi, 0x38
cmp ebx, dword [r15 + 0x14]
jl 0x14023eac0
mov r15, qword [rbp + 0xa8]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rbp + 0xa0]
mov qword [rbp - 0x60], r12
test r12, r12
je 0x14023ec94
mov rcx, qword [rdi]
mov r14d, 0x48
cmp r14w, word [rcx + 0x1a4]
jbe 0x14023eb92
cmp dword [rcx + 0x1a0], 0
jne 0x14023eb72
inc dword [rcx + 0x1b4]
jmp 0x14023ec10
cmp byte [rcx + 0x67], 0
je 0x14023ec10
xor ebx, ebx
mov rcx, qword [rdi]
mov rdx, r12
call fcn.140201170
mov qword [rbp - 0x60], rbx
jmp 0x14023ec97
mov rbx, qword [rcx + 0x1d8]
test rbx, rbx
je 0x14023ebb0
mov rax, qword [rbx]
mov qword [rcx + 0x1d8], rax
inc dword [rcx + 0x1b0]
jmp 0x14023ec24
mov rbx, qword [rcx + 0x1d0]
test rbx, rbx
je 0x14023ebce
mov rax, qword [rbx]
mov qword [rcx + 0x1d0], rax
inc dword [rcx + 0x1b0]
jmp 0x14023ec24
mov rbx, qword [rcx + 0x1c8]
test rbx, rbx
je 0x14023ebec
mov rax, qword [rbx]
mov qword [rcx + 0x1c8], rax
inc dword [rcx + 0x1b0]
jmp 0x14023ec24
mov rbx, qword [rcx + 0x1c0]
test rbx, rbx
je 0x14023ec0a
mov rax, qword [rbx]
inc dword [rcx + 0x1b0]
mov qword [rcx + 0x1c0], rax
jmp 0x14023ec24
inc dword [rcx + 0x1b8]
mov rdx, r14
call fcn.1401c0cb0
mov rbx, rax
test rax, rax
je 0x14023eb7e
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rbx + 0x32], ax
mov byte [rbx], 0x2c
mov qword [rbx + 0x18], r12
mov eax, dword [r12 + 4]
and eax, 0x400208
or dword [rbx + 4], eax
mov ecx, dword [r12 + 0x28]
inc ecx
mov dword [rbx + 0x28], ecx
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp ecx, r8d
jle 0x14023eb89
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.1401fc3e0
mov qword [rbp - 0x60], rbx
jmp 0x14023ec97
mov rdi, qword [rbp + 0xa0]
mov rbx, r12
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, rdi
call fcn.140234450
mov rax, qword [rbp - 0x18]
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x70], r14d
cmp dword [rax + 0x14], r14d
jle 0x14023ed5e
mov r12d, r14d
mov qword [rbp - 0x58], r14
nop dword [rax + rax]
mov rax, qword [rax + 0x20]
mov ecx, dword [rsp + 0x44]
cmp dword [r12 + rax + 0x1c], ecx
je 0x14023ecec
mov ecx, 0x400
test word [r12 + rax + 0x14], cx
je 0x14023ed3f
mov rdx, qword [r12 + rax]
mov edi, r14d
mov dword [rsp + 0x50], r14d
test rdx, rdx
je 0x14023ed11
mov rcx, qword [rbp - 0x80]
xor r9d, r9d
xor r8d, r8d
call fcn.1401c58c0
mov rbx, rax
jmp 0x14023ed14
mov rbx, r14
mov rax, qword [rbp - 0x80]
mov r14, rbx
mov qword [rbp - 0x68], rbx
cmp byte [rax + 0x67], 0
je 0x14023ed75
test rbx, rbx
je 0x14023ed35
mov rdx, rbx
mov rcx, rax
call fcn.140201170
mov rdi, qword [rbp + 0xa0]
xor r14d, r14d
mov rax, qword [rbp - 0x18]
inc esi
add r12, 0x38
mov dword [rsp + 0x70], esi
mov qword [rbp - 0x58], r12
cmp esi, dword [rax + 0x14]
jl 0x14023ecd0
mov rbx, qword [rbp - 0x60]
movsxd rcx, dword [rdi + 0x140]
test ecx, ecx
jne 0x14023f28c
mov eax, r14d
jmp 0x14023f2b4
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x14023ed85
mov qword [rax + 0x10], rbx
mov rbx, rax
mov rcx, qword [rbp + 0xa0]
lea r9d, [rsi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.140234450
mov eax, dword [rsp + 0x68]
xor r9d, r9d
mov rcx, qword [rbp + 0xa0]
mov r8, rbx
mov dword [rsp + 0x38], eax
mov rdx, r13
mov eax, 0x20
mov word [rsp + 0x30], ax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.14023b5f0
mov qword [rbp - 0x50], rax
mov rbx, rax
test rax, rax
je 0x14023f26b
mov rcx, qword [rbp + 0xa0]
lea r8, [rax + 0x360]
xor r9d, r9d
mov rdx, r13
call fcn.140240dc0
mov rax, qword [rbp + 0xb0]
test byte [rax + 0x3c], 0x10
jne 0x14023f102
mov rax, qword [rbp - 0x18]
mov r13d, esi
mov ecx, dword [rax + 0x14]
mov rax, 0xffffffffffffffff
dec ecx
cmp esi, ecx
cmove r13d, eax
mov rax, qword [rbp - 0x30]
mov dword [rbp - 0x70], r13d
test byte [rax + 0x30], 0x80
jne 0x14023eed1
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x14023ee6c
mov r9d, dword [rbp + 0xb8]
mov edx, 0x87
mov r8d, dword [rsp + 0x44]
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.1401cea20
jmp 0x14023eea7
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
xor r8d, r8d
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp + 0xb8]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rbp + 0xb8]
xor r9d, r9d
mov r8d, dword [rsp + 0x48]
mov rcx, r15
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x2f]
call fcn.14022a010
mov edi, eax
jmp 0x14023f0fd
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14023eef2
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14023eef2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14023eee0
movzx r15d, word [rbx + 0x5e]
mov rdx, qword [rbp + 0xa0]
cmp r15d, 1
jne 0x14023ef27
movzx eax, byte [rdx + 0x1f]
test al, al
jne 0x14023ef15
inc dword [rdx + 0x38]
mov r12d, dword [rdx + 0x38]
jmp 0x14023ef54
dec al
movzx eax, al
mov byte [rdx + 0x1f], al
mov r12d, dword [rdx + rax*4 + 0xe4]
jmp 0x14023ef54
mov ecx, dword [rdx + 0x28]
mov r12d, dword [rdx + 0x2c]
mov dword [rsp + 0x4c], r12d
cmp r15d, ecx
jg 0x14023ef47
lea eax, [r15 + r12]
sub ecx, r15d
mov dword [rdx + 0x2c], eax
mov dword [rdx + 0x28], ecx
jmp 0x14023ef59
mov eax, dword [rdx + 0x38]
lea r12d, [rax + 1]
add eax, r15d
mov dword [rdx + 0x38], eax
mov dword [rsp + 0x4c], r12d
xor edi, edi
mov r14, r15
test r15d, r15d
je 0x14023efb5
mov r13, qword [rbp + 0xa8]
mov esi, r12d
mov r12d, dword [rsp + 0x44]
mov r15, qword [rbp - 0x30]
nop word [rax + rax]
mov rax, qword [rbx + 8]
mov r8d, r12d
mov rdx, r15
mov dword [rsp + 0x20], esi
mov rcx, r13
movsx r9d, word [rax + rdi*2]
call fcn.1401fdb60
inc esi
inc rdi
cmp rdi, r14
jl 0x14023ef80
mov r12d, dword [rsp + 0x4c]
mov r15d, r14d
mov r13d, dword [rbp - 0x70]
mov esi, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x48]
mov rbx, qword [rbp + 0xa8]
test r13d, r13d
je 0x14023efef
xor r9d, r9d
mov dword [rsp + 0x28], r15d
mov r8d, r14d
mov dword [rsp + 0x20], r12d
mov rcx, rbx
lea edx, [r9 + 0x1d]
call fcn.14022a010
mov edi, eax
test r13d, r13d
js 0x14023f09e
jmp 0x14023eff3
mov edi, dword [rsp + 0x50]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x14023f021
mov eax, dword [rbp + 0xb8]
mov r9d, r15d
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, 0x61
mov rcx, rbx
call fcn.1401cea20
jmp 0x14023f058
mov edx, dword [rbp + 0xb8]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
xor r8d, r8d
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov r9d, dword [rbp + 0xb8]
mov r8d, r14d
mov dword [rsp + 0x28], r15d
mov edx, 0x8a
mov rcx, rbx
mov dword [rsp + 0x20], r12d
call fcn.14022a010
test r13d, r13d
je 0x14023f09e
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x14023f09e
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rbx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x68]
cmp r15d, 1
jne 0x14023f0dd
test r12d, r12d
je 0x14023f0f2
mov rdx, qword [rbp + 0xa0]
mov r15, qword [rbp + 0xa8]
mov r13, qword [rsp + 0x58]
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x14023f0d7
mov dword [rdx + rax*4 + 0xe4], r12d
inc byte [rdx + 0x1f]
mov r12, qword [rbp - 0x58]
jmp 0x14023f102
mov rdx, qword [rbp + 0xa0]
cmp r15d, dword [rdx + 0x28]
jle 0x14023f0f2
mov dword [rdx + 0x28], r15d
mov dword [rdx + 0x2c], r12d
mov r15, qword [rbp + 0xa8]
mov r12, qword [rbp - 0x58]
mov r13, qword [rsp + 0x58]
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x14023f134
mov r9d, dword [rbp - 0x78]
mov edx, 0xa
mov r8d, dword [rbp - 0x74]
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.1401cea20
xor r9d, r9d
jmp 0x14023f16b
mov edx, dword [rbp - 0x74]
lea eax, [rcx + 1]
mov dword [r15 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x88]
xor r9d, r9d
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x78]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
test edi, edi
je 0x14023f19d
mov rax, qword [r15]
mov edx, dword [r15 + 0x90]
cmp byte [rax + 0x67], 0
je 0x14023f188
lea rax, [0x14031bce0]
jmp 0x14023f19a
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [rbx + 0x44]
mov edx, 1
mov ecx, dword [rsp + 0x6c]
test al, 2
cmovne ecx, edx
mov rdx, qword [rbx + 0x3c0]
mov dword [rsp + 0x6c], ecx
mov ecx, eax
test dword [rdx + 0x38], 0x200
je 0x14023f1ee
test esi, esi
je 0x14023f1d2
mov r8, qword [rbp - 0x28]
cmp qword [rdx + 0x20], r8
jne 0x14023f1ee
mov r8, qword [rbp - 0x30]
test byte [r8 + 0x30], 0x80
je 0x14023f226
mov rdx, qword [rdx + 0x20]
mov qword [rbp - 0x28], rdx
mov eax, dword [rdx + 0x64]
and al, 3
cmp al, 2
jne 0x14023f1f2
mov qword [rbp - 0x28], r9
test cl, 1
je 0x14023f202
mov rax, qword [rbp + 0xb0]
or dword [rax + 0x44], 1
mov rcx, rbx
call fcn.14023fb90
mov rdi, qword [rbp + 0xa0]
movsxd rcx, dword [rdi + 0x140]
test ecx, ecx
jne 0x14023f232
xor eax, eax
mov dword [rdi + 0x140], eax
jmp 0x14023f272
mov ecx, eax
mov rax, qword [rdx + 0x20]
mov qword [rbp - 0x28], rax
jmp 0x14023f1f2
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x14023f251
lea rax, [0x14031bce0]
mov eax, dword [rax + 8]
mov dword [rdi + 0x140], eax
jmp 0x14023f272
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [rdi + 0x140], eax
jmp 0x14023f272
mov rdi, qword [rbp + 0xa0]
test r14, r14
je 0x14023ed3c
mov rcx, qword [rbp - 0x80]
mov rdx, r14
call fcn.140201170
jmp 0x14023ed3c
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x14023f2a2
lea rax, [0x14031bce0]
jmp 0x14023f2b1
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xc0]
mov dword [rdi + 0x140], eax
mov rax, qword [rbp - 0x28]
mov qword [r8 + 0x50], rax
test rax, rax
je 0x14023f2d6
mov eax, dword [rsp + 0x68]
mov dword [r8 + 8], eax
test rbx, rbx
je 0x14023f2f7
mov qword [rbx + 0x10], r14
mov rdx, rbx
mov rbx, qword [rbp - 0x80]
mov rcx, rbx
call fcn.140201170
mov r8, qword [rbp + 0xc0]
jmp 0x14023f2fb
mov rbx, qword [rbp - 0x80]
mov rax, qword [r15]
mov edx, dword [r15 + 0x90]
cmp byte [rax + 0x67], 0
je 0x14023f314
lea rax, [0x14031bce0]
jmp 0x14023f328
movsxd rax, dword [rsp + 0x64]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov rcx, r15
mov edx, dword [r8 + 0xc]
call fcn.140234bd0
mov rcx, qword [r15 + 0x18]
mov edx, dword [rbp - 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14023f355
mov r8d, edx
mov rdx, r15
call fcn.1401e47c0
jmp 0x14023f367
mov rcx, qword [rcx + 0x50]
mov eax, dword [r15 + 0x90]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov r9, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb0]
mov eax, dword [r15 + 0x90]
mov dword [r9 + 0x48], eax
cmp byte [rcx + 0x40], 1
jbe 0x14023f39f
mov rdx, r13
mov rcx, rbx
call fcn.1401f9570
mov r9, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb0]
cmp dword [rsp + 0x6c], 0
jne 0x14023cc9d
mov rdx, qword [rbp - 0x10]
mov rcx, r9
call fcn.1401c1b20
mov r9, qword [rbp + 0xc0]
jmp 0x14023cc96
mov r13, qword [rbp + 0xa8]
test r8b, 0x40
je 0x14023f3e4
mov rcx, qword [rbp + 0xb0]
mov r9, r12
mov byte [r12 + 0x41], 0xb8
jmp 0x14023cca4
mov edi, dword [rsp + 0x44]
lea r15, [0x140000000]
movzx eax, byte [rsi + r15 + 0x28bd94]
mov r8d, edi
movzx edx, byte [rsi + r15 + 0x28bdc8]
mov rcx, r13
mov byte [r12 + 0x41], al
mov dword [r12 + 0x44], edi
call fcn.140229e00
mov rcx, qword [rbp + 0xb0]
inc eax
mov dword [r12 + 0x48], eax
mov r9, r12
mov byte [r12 + 0x43], 1
jmp 0x14023cca4
mov rdx, qword [rsp + 0x78]
xor r14d, r14d
jmp 0x14023cca7
xor r14d, r14d
mov r15d, dword [rax + 0x14]
mov rbx, qword [rax + 0x20]
test r15d, r15d
jle 0x14023f638
movzx r10d, word [rbx + 0x12]
xor esi, esi
test r10b, 6
jne 0x14023f5ff
mov r11, qword [r9 + 0x68]
test qword [rbx + 0x30], r11
je 0x14023f478
or dword [rcx + 0x44], 2
jmp 0x14023f5ff
mov rax, qword [rbp - 0x38]
mov rdi, qword [rbx]
movzx eax, byte [rax + 0x3c]
test al, 0x58
je 0x14023f512
mov ecx, dword [rdi + 4]
test cl, 3
je 0x14023f5ff
test al, 8
je 0x14023f4a4
test cl, 1
je 0x14023f5ff
mov rcx, qword [rbp + 0xb0]
mov r8d, dword [rdi + 0x34]
cmp dword [rcx + 0x260], r8d
jne 0x14023f4bf
mov eax, 1
jmp 0x14023f502
movsxd r9, dword [rcx + 0x25c]
mov edx, 1
mov eax, 2
cmp rdx, r9
jge 0x14023f4f4
add rcx, 0x264
nop dword [rax]
cmp dword [rcx], r8d
je 0x14023f4f6
rol rax, 1
inc rdx
add rcx, 4
cmp rdx, r9
jl 0x14023f4e0
xor eax, eax
mov rdx, qword [rsp + 0x78]
mov r9, qword [rbp + 0xc0]
test r11, rax
jne 0x14023f5ff
lea r8, [0x1401c5d50]
cmp r12d, 1
jne 0x14023f568
mov eax, dword [r9 + 4]
xorps xmm0, xmm0
mov dword [rbp - 8], eax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x28], rax
mov qword [rbp], rsi
mov qword [rbp + 0x20], rsi
mov qword [rbp - 0x10], rdx
mov qword [rbp + 8], r8
movdqu xmmword [rbp + 0x10], xmm0
test rdi, rdi
je 0x14023f557
mov rdx, rdi
lea rcx, [rbp]
call fcn.140252430
mov r9, qword [rbp + 0xc0]
cmp word [rbp + 0x24], si
je 0x14023f56e
mov r14d, 2
jmp 0x14023f5ff
cmp r12d, 3
jge 0x14023f588
movzx r10d, word [rbx + 0x12]
bt r10w, 0xc
jae 0x14023f588
test r14d, r14d
jne 0x14023f5ff
mov r14d, 3
jmp 0x14023f5ff
bt r10w, 9
jae 0x14023f5ae
mov edx, dword [r9 + 0x2c]
test edx, edx
je 0x14023f5ae
mov r8d, edx
mov rcx, r13
and edx, 1
shr r8d, 1
or edx, 0x10
call fcn.140229d90
mov esi, eax
mov r8d, dword [rbp - 0x40]
mov r9d, 0x10
mov rcx, qword [rbp + 0xa0]
mov rdx, rdi
call fcn.140201460
test esi, esi
je 0x14023f5fa
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
cmp byte [rcx + 0x67], 0
je 0x14023f5e5
lea rax, [0x14031bce0]
jmp 0x14023f5f7
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [rbx + 0x12], 4
mov r9, qword [rbp + 0xc0]
lea r8, [0x1401c5d50]
mov rcx, qword [rbp + 0xb0]
dec r15d
mov rdx, qword [rsp + 0x78]
add rbx, 0x38
test r15d, r15d
jg 0x14023f454
mov rax, qword [rbp - 0x48]
lea r8, [0x1401c5d50]
mov rbx, qword [rax + 0x20]
mov r9, qword [rbp + 0xc0]
mov r12d, r14d
mov rcx, qword [rbp + 0xb0]
test r14d, r14d
jg 0x14023f440
mov r12, qword [rbp - 0x48]
mov esi, dword [r12 + 0x1c]
test esi, esi
jle 0x14023f76a
mov r15, qword [rbp - 0x38]
lea rdi, [rbx + 0x14]
xor r13d, r13d
nop
test byte [rdi - 2], 6
jne 0x14023f755
movzx eax, word [rdi]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x14023f755
mov eax, dword [rsp + 0x44]
cmp dword [rdi + 8], eax
jne 0x14023f755
test byte [r15 + 0x3c], 0x58
jne 0x14023f755
mov r9, qword [rbp + 0xc8]
mov edx, eax
mov r8d, dword [rdi + 0xc]
mov rcx, r12
mov r14, qword [rdi - 0x14]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x83
call fcn.140241430
mov rbx, rax
test rax, rax
je 0x14023f755
test byte [rax + 0x12], 4
jne 0x14023f755
test byte [rax + 0x14], 1
je 0x14023f702
mov rax, qword [rax]
mov ecx, 0x1000
test dword [rax + 4], ecx
je 0x14023f702
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x14023f755
mov rax, qword [rbx]
lea rdx, [rbp]
mov r8d, dword [rbp - 0x40]
mov r9d, 0x10
mov rcx, qword [rbp + 0xa0]
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x40], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rbp + 0x10], rax
call fcn.140201460
or word [rbx + 0x12], 4
dec esi
add rdi, 0x38
test esi, esi
jg 0x14023f670
mov r13, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xc0]
mov rdi, qword [rdx + 0x38]
mov qword [rbp + 0xc8], rdi
test rdi, rdi
je 0x14023fa01
movzx eax, byte [rdx + 0x40]
imul rcx, rax, 0x68
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov r13, qword [rcx + rax + 0x28]
test byte [r13 + 0x30], 0x80
jne 0x14023f80b
mov r12, qword [rbp + 0xa0]
mov ecx, dword [r12 + 0x28]
mov esi, dword [r12 + 0x2c]
cmp ecx, 2
jl 0x14023f7cc
lea eax, [rsi + 2]
mov dword [r12 + 0x2c], eax
lea eax, [rcx - 2]
mov dword [r12 + 0x28], eax
jmp 0x14023f7dc
mov eax, dword [r12 + 0x38]
lea esi, [rax + 1]
add eax, 2
mov dword [r12 + 0x38], eax
mov r8d, dword [rdx + 4]
lea eax, [rsi + 1]
mov rdx, r13
mov dword [rsp + 0x20], eax
mov r13, qword [rbp + 0xa8]
mov r9, 0xffffffffffffffff
mov rcx, r13
call fcn.1401fdb60
mov r15d, 1
jmp 0x14023f909
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x14023f826
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14023f826
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14023f814
movzx r15d, word [rbx + 0x5e]
mov dword [rbp + 0xb0], r15d
lea ecx, [r15 + 1]
cmp ecx, 1
jne 0x14023f863
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x14023f852
inc dword [rcx + 0x38]
mov esi, dword [rcx + 0x38]
jmp 0x14023f898
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov esi, dword [rcx + rax*4 + 0xe4]
jmp 0x14023f898
mov r8, qword [rbp + 0xa0]
mov edx, dword [r8 + 0x28]
mov esi, dword [r8 + 0x2c]
mov dword [rbp + 0xb8], esi
cmp ecx, edx
jg 0x14023f88b
lea eax, [rcx + rsi]
sub edx, ecx
mov dword [r8 + 0x2c], eax
mov dword [r8 + 0x28], edx
jmp 0x14023f89e
mov eax, dword [r8 + 0x38]
lea esi, [rax + 1]
add eax, ecx
mov dword [r8 + 0x38], eax
mov dword [rbp + 0xb8], esi
mov r12, r15
test r15, r15
je 0x14023f8fb
mov r15, qword [rbp + 0xa8]
lea r14d, [rsi + 1]
mov esi, dword [rsp + 0x44]
xor edi, edi
nop word [rax + rax]
mov rax, qword [rbx + 8]
mov r8d, esi
mov rdx, r13
mov dword [rsp + 0x20], r14d
mov rcx, r15
movsx r9d, word [rax + rdi*2]
call fcn.1401fdb60
inc r14d
inc rdi
cmp rdi, r12
jl 0x14023f8c0
mov esi, dword [rbp + 0xb8]
mov r15d, dword [rbp + 0xb0]
mov rdi, qword [rbp + 0xc8]
mov r12, qword [rbp + 0xa0]
mov r13, qword [rbp + 0xa8]
mov r8d, dword [rdi]
lea ebx, [rsi + 1]
xor r9d, r9d
mov dword [rsp + 0x28], r15d
mov rcx, r13
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x1d]
call fcn.14022a010
mov r9d, r15d
movsxd r14, eax
mov r8d, ebx
mov dword [rsp + 0x20], esi
mov edx, 0x61
mov rcx, r13
call fcn.140229e70
mov r8d, dword [rdi]
mov r9d, esi
mov edx, 0x8a
mov dword [rsp + 0x28], r15d
mov rcx, r13
mov dword [rsp + 0x20], ebx
call fcn.14022a010
mov r8d, dword [rdi + 4]
xor r9d, r9d
mov edx, 0xb4
mov dword [rsp + 0x28], r15d
mov rcx, r13
mov dword [rsp + 0x20], ebx
call fcn.14022a010
movsxd rdx, dword [r13 + 0x90]
test edx, edx
jle 0x14023f9a1
mov rax, qword [r13 + 0x88]
lea rcx, [rdx + rdx*2]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [r13 + 0x90]
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x14023f9b4
lea rax, [0x14031bce0]
jmp 0x14023f9c3
mov rax, qword [r13 + 0x88]
lea rcx, [r14 + r14*2]
lea rax, [rax + rcx*8]
inc r15d
mov dword [rax + 8], edx
cmp r15d, 1
jne 0x14023f9ec
test esi, esi
je 0x14023f9fd
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x14023f9fd
mov dword [r12 + rax*4 + 0xe4], esi
inc byte [r12 + 0x1f]
jmp 0x14023f9fd
cmp r15d, dword [r12 + 0x28]
jle 0x14023f9fd
mov dword [r12 + 0x28], r15d
mov dword [r12 + 0x2c], esi
mov r12, qword [rbp - 0x48]
mov rdi, qword [rbp + 0xc0]
mov r9d, dword [rdi]
test r9d, r9d
je 0x14023fa8a
mov eax, dword [r13 + 0x90]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x14023fa45
mov edx, 0x47
mov dword [rsp + 0x20], 0
mov rcx, r13
lea r8d, [rdx - 0x46]
call fcn.1401cea20
jmp 0x14023fa79
lea eax, [rcx + 1]
xor edx, edx
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
cmp qword [rdi + 0x38], 0
je 0x14023fb0a
mov rbx, qword [rdi + 0x38]
jmp 0x14023fa97
mov rbx, qword [rdi + 0x38]
test rbx, rbx
je 0x14023fb6d
movsxd rcx, dword [r13 + 0x90]
mov edx, dword [rbx + 8]
cmp dword [r13 + 0x94], ecx
jg 0x14023fac6
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edx
mov rcx, r13
lea edx, [r8 + 0x4a]
call fcn.1401cea20
jmp 0x14023faf4
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x88]
mov qword [rax + rcx*8], 0x4a
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [r13 + 0x90]
mov rcx, qword [rbp + 0xa0]
mov dword [rbx + 0xc], eax
inc byte [rcx + 0x26]
jmp 0x14023fb11
mov rcx, qword [rbp + 0xa0]
cmp dword [r12 + 0x1c], 0
mov rbx, qword [r12 + 0x20]
jle 0x14023fb6d
xor eax, eax
test byte [rbx + 0x12], 6
jne 0x14023fb55
mov rax, qword [rbx + 0x30]
test qword [rdi + 0x68], rax
jne 0x14023fb51
mov rax, qword [rbp - 0x38]
test byte [rax + 0x3c], 0x40
jne 0x14023fb51
mov r8d, dword [rbp - 0x40]
mov r9d, 0x10
mov rdx, qword [rbx]
call fcn.140201460
or word [rbx + 0x12], 4
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0xa0]
inc eax
add rbx, 0x38
mov qword [rbp - 0x20], rax
cmp eax, dword [r12 + 0x1c]
jl 0x14023fb20
mov rax, qword [rdi + 0x68]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret