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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rdi, qword [rcx + 0x10]
xor r13d, r13d
xor r14b, r14b
mov qword [rsp + 0x70], r13
mov r10, r8
mov byte [rsp + 0x110], r14b
mov r15, rdx
mov dword [rsp + 0x68], r13d
movsxd rbp, dword [rdi + 0x90]
mov rsi, rcx
mov r12d, r13d
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x6c], ebp
cmp dword [rdi + 0x94], ebp
jg 0x14017ed8f
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea edx, [r13 + 0x11]
mov rcx, rdi
call fcn.14018dca0
mov r10, qword [rsp + 0x120]
mov dword [rsp + 0x6c], eax
jmp 0x14017edbc
lea eax, [rbp + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rbp*2]
mov rax, qword [rdi + 0x88]
add rcx, rbp
mov qword [rax + rcx*8], 0x11
mov qword [rax + rcx*8 + 8], r13
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rsp + 0x130]
mov r8d, r13d
mov rbx, qword [r15 + 0x20]
mov r9, r13
movsxd rax, dword [r15 + 0x14]
mov r11, qword [r10 + 0x20]
mov rdx, qword [rcx + 0x50]
movabs rcx, 0x8000000000000000
imul rax, rax, 0x38
mov dword [rsp + 0x40], r13d
add rax, rbx
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r13
cmp rbx, rax
jae 0x14017f207
lea r15, [r10 + 0x44]
mov r13, r15
lea rcx, [fcn.140185ce0]
lea r11, [0x1401d5740]
nop word [rax + rax]
cmp qword [rdx], 0
mov rbp, qword [rbx]
jne 0x14017f09d
test byte [rbx + 0x12], 2
jne 0x14017f09d
test byte [rbp + 4], 1
jne 0x14017f09d
mov eax, 3
mov qword [rsp + 0x98], rcx
mov word [rsp + 0xb4], ax
lea rcx, [rsp + 0x90]
mov eax, dword [r13]
mov rdx, rbp
mov dword [rsp + 0xb8], eax
mov qword [rsp + 0xa0], r11
call fcn.140200ba0
cmp word [rsp + 0xb4], 0
mov r15, r13
je 0x14017f086
mov rcx, qword [rsi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.1401851a0
mov r14, qword [rsi]
mov rbp, rax
test r12, r12
jne 0x14017eec4
mov r12, rax
mov qword [rsp + 0x70], rax
jmp 0x14017f07d
test rbp, rbp
je 0x14017f07d
mov eax, dword [r12 + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x14017eef1
mov eax, dword [rbp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x14017efd1
cmp byte [rsi + 0x11c], 2
jae 0x14017efd1
mov rdx, r12
mov rcx, r14
call fcn.1401b7260
mov rdx, rbp
mov rcx, r14
call fcn.1401b7260
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], 0
lea rcx, [0x140228508]
call fcn.1401bf4e0
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r14
call fcn.1401b03f0
mov qword [rsp + 0x70], rax
mov r12, rax
test rax, rax
je 0x14017f07d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm0
mov qword [r12 + 0x40], rax
mov byte [r12], 0x98
mov word [r12 + 0x32], 0xffff
test ebp, ebp
je 0x14017efb4
mov eax, dword [rsp + 0x60]
mov ecx, 0x20800400
test eax, eax
mov dword [r12 + 8], eax
mov edx, 0x10800400
mov dword [r12 + 0x28], 1
cmovne ecx, edx
or dword [r12 + 4], ecx
jmp 0x14017f07d
lea rax, [r12 + 0x48]
mov qword [r12 + 8], rax
mov word [rax], 0x30
mov dword [r12 + 0x28], 1
jmp 0x14017f07d
mov edx, 0x48
mov rcx, r14
call fcn.1401b03f0
mov r14, rax
test rax, rax
je 0x14017f05f
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x40], rax
mov byte [r14], 0x2c
mov word [r14 + 0x32], 0xffff
mov qword [r14 + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x200104
mov qword [r14 + 0x10], r12
or ecx, dword [r14 + 4]
mov dword [r14 + 4], ecx
mov eax, dword [r12 + 4]
and eax, 0x200104
or eax, ecx
mov rcx, r14
mov dword [r14 + 4], eax
call fcn.1401862d0
mov rax, qword [rsi]
mov r8d, dword [rax + 0x88]
cmp dword [r14 + 0x28], r8d
jle 0x14017f075
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.1401b29d0
jmp 0x14017f075
mov rcx, qword [rsi]
mov rdx, r12
call fcn.1401b7260
mov rcx, qword [rsi]
mov rdx, rbp
call fcn.1401b7260
mov r12, r14
mov qword [rsp + 0x70], r14
movzx r14d, byte [rsp + 0x110]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x48]
mov eax, dword [r15]
cmp dword [rbx + 0x1c], eax
jne 0x14017f1c4
movzx ecx, word [rbx + 0x14]
test cl, 0x82
je 0x14017f1c4
test byte [r10 + 0x3c], 8
je 0x14017f0ce
mov rax, qword [rbx]
test byte [rax + 4], 1
jne 0x14017f0ce
test cl, cl
js 0x14017f1c4
mov rax, qword [rsp + 0x128]
test qword [rbx + 0x28], rax
jne 0x14017f1c4
movsxd rax, dword [rbx + 0x20]
test eax, eax
js 0x14017f1c4
mov rdx, rax
mov rax, qword [r10 + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx edx, byte [rdx + rcx + 0x19]
mov rcx, qword [rbx]
call fcn.1401c09e0
test eax, eax
je 0x14017f1b5
movsxd rcx, dword [rbx + 0x20]
cmp ecx, 0x40
jl 0x14017f125
movabs rbp, 0x8000000000000000
jmp 0x14017f12d
mov ebp, 1
shl rbp, cl
test r14b, r14b
jne 0x14017f162
mov rax, rcx
lea rdx, str.automatic_index_on__s__s_
mov rcx, qword [rsp + 0x78]
shl rax, 5
mov r9, qword [rcx + 8]
mov r8, qword [rcx]
mov ecx, 0x11c
mov r9, qword [rax + r9]
call fcn.140161170
mov byte [rsp + 0x110], 1
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
test r9, rbp
jne 0x14017f1bf
mov r14d, dword [rsp + 0x40]
mov rcx, qword [rsi]
inc r14d
mov r8d, r14d
call fcn.140203ea0
test eax, eax
jne 0x14017fb6c
movsxd rcx, dword [rsp + 0x40]
mov r8d, r14d
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
or r9, rbp
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x50], r9
mov rax, qword [rdx + 0x38]
mov qword [rax + rcx*8], rbx
jmp 0x14017f1c4
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
movzx r14d, byte [rsp + 0x110]
lea rcx, [fcn.140185ce0]
mov r10, qword [rsp + 0x120]
lea r11, [0x1401d5740]
add rbx, 0x38
cmp rbx, qword [rsp + 0x80]
jb 0x14017ee30
mov r11, qword [rsp + 0x78]
xor r13d, r13d
movabs rcx, 0x8000000000000000
mov word [rdx + 0x2c], r8w
not r9
mov word [rdx + 0x18], r8w
or r9, rcx
mov dword [rdx + 0x28], 0x4241
mov ebx, 0x3f
and r9, qword [r10 + 0x58]
mov edx, r13d
movsx eax, word [r11 + 0x46]
mov qword [rsp + 0x50], r9
cmp bx, ax
jl 0x14017f240
mov ebx, eax
test eax, eax
jle 0x14017f25b
nop
mov ecx, r8d
mov eax, edx
inc r8d
bt r9, rax
cmovae r8d, ecx
inc edx
cmp edx, ebx
jl 0x14017f240
mov dword [rsp + 0x40], r8d
cmp qword [r10 + 0x58], 0
jge 0x14017f273
movsx eax, word [r11 + 0x46]
add r8d, 0xffffffc1
add r8d, eax
mov dword [rsp + 0x40], r8d
mov rcx, qword [rsi]
lea ebp, [r8 + 1]
movsx r14d, bp
movsx r13, bp
lea eax, [r14*4 + 9]
add eax, r14d
and eax, 0xfffffff8
lea eax, [rax + r14*8]
add eax, 0x70
movsxd r12, eax
test rcx, rcx
je 0x14017f2a9
mov rdx, r12
call fcn.1401b03f0
jmp 0x14017f2b1
mov rcx, r12
call fcn.1401c5350
mov r15, rax
test rax, rax
je 0x14017fb6c
mov r8, r12
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r12, qword [rsp + 0x48]
lea rax, [r15 + 0x70]
mov r9d, dword [rsp + 0x40]
lea rdx, [rax + r13*8]
mov r11, qword [rsp + 0x78]
xor r10d, r10d
mov qword [r15 + 0x40], rax
lea eax, [r14 + 1]
mov r14, qword [rsp + 0x118]
movsxd rcx, eax
mov word [r15 + 0x60], bp
lea rbp, [0x140224094]
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x5e], r9w
lea rax, [rdx + rcx*2]
mov qword [rsp + 0x110], r10
mov qword [r15 + 8], rax
lea rax, [rax + r13*2]
mov qword [r15 + 0x38], rax
mov r13d, r10d
mov qword [r12 + 0x20], r15
lea rax, str.auto_index
mov qword [r15], rax
mov qword [r15 + 0x18], r11
mov r14, qword [r14 + 0x20]
cmp r14, qword [rsp + 0x80]
jae 0x14017f4ca
mov rdi, qword [rsp + 0x120]
mov r12d, r10d
mov qword [rsp + 0x60], r10
nop dword [rax]
mov eax, dword [rdi + 0x44]
mov ebp, ebx
cmp dword [r14 + 0x1c], eax
jne 0x14017f497
movzx ecx, word [r14 + 0x14]
test cl, 0x82
je 0x14017f497
test byte [rdi + 0x3c], 8
je 0x14017f394
mov rax, qword [r14]
test byte [rax + 4], 1
jne 0x14017f394
test cl, cl
js 0x14017f497
mov rax, qword [rsp + 0x128]
test qword [r14 + 0x28], rax
jne 0x14017f497
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x14017f497
mov rdx, rax
mov rax, qword [rdi + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx edx, byte [rdx + rcx + 0x19]
mov rcx, qword [r14]
call fcn.1401c09e0
test eax, eax
je 0x14017f497
mov edx, dword [r14 + 0x20]
cmp edx, 0x40
jl 0x14017f3eb
movabs rax, 0x8000000000000000
jmp 0x14017f3f5
mov ecx, edx
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x110]
test r8, rax
jne 0x14017f497
mov rcx, qword [r14]
or r8, rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x110], r8
mov word [r12 + rax], dx
test dword [rcx + 4], 0x200
je 0x14017f430
mov rbx, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x14017f438
mov rbx, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x100
jne 0x14017f45f
test rbx, rbx
je 0x14017f44f
test dword [rbx + 4], 0x100
jne 0x14017f45c
mov rcx, rsi
call fcn.1401b6d70
test rax, rax
jne 0x14017f46c
mov rdx, rbx
mov rcx, rsi
call fcn.1401b6d70
test rax, rax
je 0x14017f471
mov rcx, qword [rax]
jmp 0x14017f478
lea rcx, [0x140224094]
mov rdx, qword [rsp + 0x60]
inc r13d
mov rax, qword [r15 + 0x40]
add r12, 2
mov ebx, ebp
mov qword [rdx + rax], rcx
add rdx, 8
mov qword [rsp + 0x60], rdx
add r14, 0x38
cmp r14, qword [rsp + 0x80]
jb 0x14017f360
mov rdi, qword [rsp + 0x88]
lea rbp, [0x140224094]
mov r9d, dword [rsp + 0x40]
xor r10d, r10d
mov r11, qword [rsp + 0x78]
mov r12, qword [rsp + 0x48]
mov ecx, r10d
test ebx, ebx
jle 0x14017f512
mov r10, qword [rsp + 0x50]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x14017f509
mov rax, qword [r15 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], rbp
add rdx, 8
inc ecx
cmp ecx, ebx
jl 0x14017f4e5
xor r10d, r10d
mov rax, qword [rsp + 0x120]
cmp qword [rax + 0x58], 0
jge 0x14017f56b
mov r8d, 0x3f
cmp r8w, word [r11 + 0x46]
jge 0x14017f56b
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], rbp
movsx eax, word [r11 + 0x46]
cmp r8d, eax
jl 0x14017f540
mov rax, qword [r15 + 8]
lea edx, [r9 + 1]
movsxd rcx, r13d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], rbp
mov rbp, qword [rsp + 0x130]
mov eax, dword [rsi + 0x34]
mov dword [rbp + 8], eax
inc dword [rsi + 0x34]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [rdi + 0x94], ecx
jg 0x14017f5bf
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x63
mov rcx, rdi
call fcn.14018dca0
jmp 0x14017f5ed
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x63
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rbx, qword [rsi + 0x10]
mov rdx, r15
mov rcx, rsi
call fcn.1401c40e0
mov r8, rax
test rax, rax
je 0x14017f647
mov rax, qword [rbx]
cmp byte [rax + 0x61], 0
je 0x14017f62b
cmp qword [rax + 0x2d8], 0
jne 0x14017f647
add dword [r8], 0xffffffff
jne 0x14017f647
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.1401b0260
jmp 0x14017f647
movsxd rax, dword [rbx + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf7
mov qword [rax + rcx*8 - 8], r8
movzx eax, byte [rbp + 0x34]
imul r14, rax, 0x70
mov rax, qword [rsp + 0x118]
mov rax, qword [rax]
add r14, qword [rax + 8]
test byte [r14 + 0x48], 0x10
je 0x14017f77e
movsxd r8, dword [rdi + 0x90]
mov ebp, dword [r14 + 0x3c]
mov dword [rsp + 0x58], r8d
cmp dword [rdi + 0x94], r8d
jg 0x14017f6a2
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x45]
call fcn.14018dca0
mov dword [rsp + 0x58], eax
xor r8d, r8d
jmp 0x14017f6cc
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x45
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r14 + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x14017f6fa
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0xd]
call fcn.14018dca0
xor r8d, r8d
jmp 0x14017f727
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rbx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ebx
jg 0x14017f754
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0xe]
call fcn.14018dca0
mov ebx, eax
jmp 0x14017f7d7
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
jmp 0x14017f7d2
movsxd rbx, dword [rdi + 0x90]
mov edx, dword [rbp + 4]
cmp dword [rdi + 0x94], ebx
jg 0x14017f7ab
xor eax, eax
mov r8d, edx
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x25]
call fcn.14018dca0
mov ebx, eax
jmp 0x14017f7d7
lea rcx, [rbx + rbx*2]
xor r8d, r8d
lea eax, [rbx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rbp, qword [rsp + 0x70]
mov eax, 0x10
test rbp, rbp
je 0x14017f809
dec dword [rsi + 0x44]
mov r9d, eax
mov r8d, dword [rsi + 0x44]
mov rdx, rbp
mov rcx, rsi
mov dword [rsp + 0x68], r8d
call fcn.1401b7620
or dword [r12 + 0x28], 0x20000
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x14017f81a
inc dword [rsi + 0x38]
mov r12d, dword [rsi + 0x38]
jmp 0x14017f82a
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov r12d, dword [rsi + rax*4 + 0xd4]
mov rcx, qword [rsp + 0x130]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, r12d
mov qword [rsp + 0x30], rax
mov rdx, r15
mov qword [rsp + 0x28], rax
mov r8d, dword [rcx + 4]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1401be7e0
movsxd rcx, dword [rdi + 0x90]
mov r15d, eax
mov rax, qword [rsp + 0x130]
mov edx, dword [rax + 8]
cmp dword [rdi + 0x94], ecx
jg 0x14017f890
xor eax, eax
mov r8d, edx
mov edx, 0x83
mov dword [rsp + 0x20], eax
mov r9d, r12d
mov rcx, rdi
call fcn.14018dca0
jmp 0x14017f8c1
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x83
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14017f8de
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test rbp, rbp
je 0x14017f912
mov rcx, qword [rdi + 0x18]
mov edx, dword [rsp + 0x68]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14017f902
mov r8d, edx
mov rdx, rdi
call fcn.14019ddf0
jmp 0x14017f912
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
test byte [r14 + 0x48], 0x10
lea rbp, [0x1402dfee8]
je 0x14017fa73
mov ecx, dword [rsp + 0x58]
test ecx, ecx
jns 0x14017f934
mov ecx, dword [rdi + 0x90]
dec ecx
mov rax, qword [rdi]
cmp byte [rax + 0x61], 0
je 0x14017f942
mov rcx, rbp
jmp 0x14017f954
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r15 + r13]
mov dword [rcx + 8], eax
mov ecx, ebx
mov rax, qword [rsp + 0x130]
mov r8, qword [rsi + 0x10]
mov r11d, dword [r14 + 0x40]
mov r9d, dword [rax + 8]
mov r10d, dword [rax + 4]
lea rdx, [r8 + 0x90]
test ebx, ebx
jns 0x14017f984
mov ecx, dword [rdx]
dec ecx
mov rax, qword [r8]
cmp byte [rax + 0x61], 0
je 0x14017f992
mov r8, rbp
jmp 0x14017f9a4
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [rsi]
mov ecx, dword [rdx]
cmp byte [rax + 0x61], 0
jne 0x14017fa0e
cmp ebx, ecx
jge 0x14017fa0e
sub ecx, ebx
lea rdx, [r8 + 4]
mov r8d, ecx
xor edi, edi
nop
cmp dword [rdx], r10d
jne 0x14017f9fc
movzx eax, byte [rdx - 4]
cmp al, 0x59
jne 0x14017f9e1
mov ecx, dword [rdx + 4]
mov eax, dword [rdx + 8]
add ecx, r11d
mov dword [rdx], ecx
mov byte [rdx - 4], 0x4d
mov dword [rdx + 4], eax
jmp 0x14017f9f9
cmp al, 0x80
jne 0x14017f9fc
test r9d, r9d
je 0x14017f9f3
mov byte [rdx - 4], 0x78
mov dword [rdx], r9d
jmp 0x14017f9fc
mov byte [rdx - 4], 0x48
mov dword [rdx], edi
mov dword [rdx + 8], edi
add rdx, 0x18
sub r8, 1
jne 0x14017f9c0
mov rdi, qword [rsp + 0x88]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14017fa3e
xor eax, eax
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0xb]
call fcn.14018dca0
and dword [r14 + 0x48], 0xffffffef
jmp 0x14017faf5
lea eax, [rcx + 1]
xor edx, edx
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [r14 + 0x48], 0xffffffef
jmp 0x14017faf5
mov rax, qword [rsp + 0x130]
lea edx, [rbx + 1]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rax + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14017faa7
xor eax, eax
mov r9d, edx
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 5]
call fcn.14018dca0
jmp 0x14017fad8
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14017faf5
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov edx, dword [rdi + 0x90]
test ebx, ebx
jns 0x14017fb02
lea ebx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x61], 0
je 0x14017fb10
mov rax, rbp
jmp 0x14017fb22
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r12d, r12d
je 0x14017fb3d
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14017fb3d
mov dword [rsi + rax*4 + 0xd4], r12d
inc byte [rsi + 0x1f]
mov ecx, dword [rsp + 0x6c]
mov edx, dword [rdi + 0x90]
test ecx, ecx
jns 0x14017fb4e
lea ecx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x61], 0
jne 0x14017fb69
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rbp, [rax + rcx*8]
mov dword [rbp + 8], edx
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x14017fb7e
mov rcx, qword [rsi]
call fcn.1401b7260
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret