Function at 0x1800ab6a0
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, 0xb8
mov rsi, qword [rcx + 0x10]
xor r11d, r11d
xor r12b, r12b
movsxd r10, dword [rsi + 0x90]
mov r14, rdx
mov r13, rcx
mov byte [rsp + 0x58], r12b
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x5c], r11d
mov qword [rsp + 0xa8], rsi
mov dword [rsp + 0x7c], r10d
cmp dword [rsi + 0x94], r10d
jg 0x1800ab72b
lea edx, [r11 + 0xf]
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r11d
call fcn.1800346c0
mov r9, qword [rsp + 0x118]
xor r11d, r11d
mov dword [rsp + 0x7c], eax
jmp 0x1800ab756
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8 + 4], r11
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov dword [rax + rcx*8], 0xf
mov rax, qword [r14]
mov rbx, qword [r14 + 0x20]
movzx ebp, byte [r9 + 0x40]
imul rbp, rbp, 0x68
mov rdi, qword [rax + 8]
movsxd rax, dword [r14 + 0x14]
mov rdx, qword [r9 + 0x60]
imul rax, rax, 0x38
mov r15, qword [rdi + rbp + 0x28]
add rax, rbx
mov r8d, r11d
mov dword [rsp + 0x100], r11d
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
mov r14, r11
movabs r10, 0x8000000000000000
cmp rbx, rax
jae 0x1800ab9a9
nop dword [rax + rax]
test byte [rbx + 0x12], 2
mov rdi, qword [rbx]
jne 0x1800ab821
movzx r8d, byte [r9 + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
call fcn.180052b50
test eax, eax
je 0x1800ab80f
test rdi, rdi
je 0x1800ab7f8
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.180051410
jmp 0x1800ab7fa
xor eax, eax
mov rdx, qword [rsp + 0x68]
mov r8, rax
mov rcx, r13
call fcn.180050d50
mov qword [rsp + 0x68], rax
mov r15, qword [rsp + 0x70]
mov rax, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x100]
mov rdi, qword [rsp + 0x50]
mov edx, dword [rdi + rbp + 0x4c]
cmp dword [rbx + 0x1c], edx
jne 0x1800ab97d
test byte [rbx + 0x14], 0x82
je 0x1800ab97d
movzx ecx, byte [rdi + rbp + 0x44]
test cl, 0x58
je 0x1800ab870
mov rax, qword [rbx]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800ab970
cmp dword [rax + 0x34], edx
jne 0x1800ab970
test cl, 0x18
je 0x1800ab870
test r8b, 2
jne 0x1800ab970
mov rax, qword [rsp + 0x110]
test qword [rbx + 0x28], rax
jne 0x1800ab970
movsxd rax, dword [rbx + 0x20]
test eax, eax
js 0x1800ab970
lea rdx, [rax + rax*2]
mov rax, qword [rdi + rbp + 0x28]
mov rcx, qword [rax + 8]
movzx edi, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rbx]
call fcn.18004f6b0
cmp al, 0x42
jl 0x1800ab8ca
jne 0x1800ab8b9
xor eax, eax
cmp dil, 0x42
sete al
jmp 0x1800ab8c2
xor eax, eax
cmp dil, 0x43
setge al
test eax, eax
je 0x1800ab96b
movsxd rcx, dword [rbx + 0x20]
cmp ecx, 0x40
jl 0x1800ab8df
movabs rdi, 0x8000000000000000
jmp 0x1800ab8e7
mov edi, 1
shl rdi, cl
test r12b, r12b
jne 0x1800ab90f
mov r9, qword [r15 + 8]
mov r8, qword [r15]
lea rcx, [rcx + rcx*2]
mov r9, qword [r9 + rcx*8]
lea rdx, str.automatic_index_on__s__s_
mov ecx, 0x11c
call sym.sqlite.dll_sqlite3_log
mov r12b, 1
mov rdx, qword [rsp + 0x48]
test r14, rdi
jne 0x1800ab9ca
movsxd r15, dword [rsp + 0x100]
mov rcx, qword [r13]
lea ebp, [r15 + 1]
mov r8d, ebp
call fcn.1800ad590
test eax, eax
jne 0x1800ac47c
mov rdx, qword [rsp + 0x48]
mov r8d, ebp
mov dword [rsp + 0x100], ebp
mov rax, qword [rdx + 0x48]
mov rbp, qword [rsp + 0x60]
or r14, rdi
mov rdi, qword [rsp + 0x50]
mov qword [rax + r15*8], rbx
mov rax, qword [rsp + 0x40]
mov rcx, r15
jmp 0x1800ab982
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov r9, qword [rsp + 0x118]
add rbx, 0x38
cmp rbx, rax
jb 0x1800ab7c0
xor r11d, r11d
movabs r10, 0x8000000000000000
mov word [rdx + 0x3c], r8w
mov word [rdx + 0x18], r8w
mov dword [rdx + 0x38], 0x4241
or rax, 0xffffffffffffffff
cmp byte [r15 + 0x3f], 2
jne 0x1800ab9de
mov r14, rax
jmp 0x1800ab9e9
mov rdi, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x100]
mov rax, qword [rsp + 0x40]
jmp 0x1800ab982
not r14
or r14, r10
and r14, qword [rdi + rbp + 0x58]
movzx edx, word [r15 + 0x36]
mov r15d, 0x3f
mov qword [rsp + 0x90], r14
mov ebx, r15d
cmp r15w, dx
jl 0x1800aba08
movsx ebx, dx
mov dword [rsp + 0x80], ebx
mov ecx, r11d
test ebx, ebx
jle 0x1800aba2f
mov eax, ecx
bt r14, rax
jae 0x1800aba21
inc r8d
inc ecx
cmp ecx, ebx
jl 0x1800aba16
mov dword [rsp + 0x100], r8d
test qword [rdi + rbp + 0x58], r10
je 0x1800aba46
movsx eax, dx
lea r8d, [r8 + rax - 0x3f]
mov dword [rsp + 0x100], r8d
mov rcx, qword [r13]
lea edx, [r8 + 1]
lea r9, [rsp + 0x98]
xor r8d, r8d
call fcn.18006aec0
mov r12, rax
test rax, rax
je 0x1800ac47c
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x108]
mov qword [rax + 0x20], r12
lea rax, str.auto_index
xor r9d, r9d
mov qword [r12], rax
mov rax, qword [rsp + 0x40]
mov qword [r12 + 0x18], r10
mov rbp, qword [rbp + 0x20]
mov r14d, r9d
lea r11, [0x180143868]
cmp rbp, rax
jae 0x1800abcb4
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x88], r9
mov esi, r9d
nop word [rax + rax]
mov edx, dword [r15 + rdi + 0x4c]
cmp dword [rbp + 0x1c], edx
jne 0x1800abc8d
test byte [rbp + 0x14], 0x82
je 0x1800abc8d
movzx ecx, byte [r15 + rdi + 0x44]
test cl, 0x58
je 0x1800abb22
mov rax, qword [rbp]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800abc88
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x40]
jne 0x1800abc8d
test cl, 0x18
je 0x1800abb22
test r8b, 2
jne 0x1800abc8d
mov rcx, qword [rsp + 0x110]
test qword [rbp + 0x28], rcx
jne 0x1800abc8d
movsxd rax, dword [rbp + 0x20]
test eax, eax
js 0x1800abc88
lea rdx, [rax + rax*2]
mov rax, qword [r15 + rdi + 0x28]
mov rcx, qword [rax + 8]
movzx ebx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rbp]
call fcn.18004f6b0
cmp al, 0x42
jl 0x1800abb83
jne 0x1800abb6f
xor r9d, r9d
cmp bl, 0x42
mov eax, r9d
sete al
jmp 0x1800abb7b
xor r9d, r9d
cmp bl, 0x43
mov eax, r9d
setge al
test eax, eax
je 0x1800abdc8
mov ecx, dword [rbp + 0x20]
cmp ecx, 0x40
jl 0x1800abb97
movabs rax, 0x8000000000000000
jmp 0x1800abb9f
mov eax, 1
shl rax, cl
test rsi, rax
jne 0x1800abc7e
mov rdi, qword [rbp]
mov rcx, qword [r12 + 8]
mov rdx, qword [rsp + 0x88]
or rsi, rax
movzx eax, word [rbp + 0x20]
mov word [rdx + rcx], ax
test dword [rdi + 4], 0x400
je 0x1800abbd7
mov rbx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
jmp 0x1800abbdf
mov rbx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x10]
test dword [rdx + 4], 0x200
jne 0x1800abc06
test rbx, rbx
je 0x1800abbf6
test dword [rbx + 4], 0x200
jne 0x1800abc03
mov rcx, r13
call fcn.18004f410
test rax, rax
jne 0x1800abc13
mov rdx, rbx
mov rcx, r13
call fcn.18004f410
test rax, rax
je 0x1800abc1f
mov rcx, qword [rax]
lea r11, [0x180143868]
jmp 0x1800abc29
lea r11, [0x180143868]
mov rcx, r11
mov r8, qword [rsp + 0xa0]
mov rax, qword [r12 + 0x40]
add qword [rsp + 0x88], 2
mov qword [r8 + rax], rcx
mov rcx, qword [rdi + 0x10]
add r8, 8
inc r14d
mov qword [rsp + 0xa0], r8
test rcx, rcx
je 0x1800abdbe
call fcn.18004efe0
mov ecx, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
cmp al, 0x42
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x58], ecx
lea r11, [0x180143868]
xor r9d, r9d
mov rax, qword [rsp + 0x40]
add rbp, 0x38
cmp rbp, rax
jb 0x1800abad0
mov rsi, qword [rsp + 0xa8]
mov ebx, dword [rsp + 0x80]
mov r10, qword [rsp + 0x70]
mov r15d, 0x3f
mov ecx, r9d
movsxd r8, r14d
test ebx, ebx
jle 0x1800abd02
mov r9, qword [rsp + 0x90]
lea rdx, [r8*8]
add r8, r8
mov eax, ecx
bt r9, rax
jae 0x1800abcf9
mov rax, qword [r12 + 8]
inc r14d
add r8, 2
mov word [r8 + rax - 2], cx
mov rax, qword [r12 + 0x40]
add rdx, 8
mov qword [rdx + rax - 8], r11
inc ecx
cmp ecx, ebx
jl 0x1800abcd1
xor r9d, r9d
mov rbp, qword [rsp + 0x60]
movabs rax, 0x8000000000000000
test qword [rdi + rbp + 0x58], rax
je 0x1800abd5c
movsxd rdx, r14d
cmp r15w, word [r10 + 0x36]
jge 0x1800abd5c
lea rcx, [rdx*8]
add rdx, rdx
nop dword [rax]
mov rax, qword [r12 + 8]
inc r14d
add rdx, 2
mov word [rdx + rax - 2], r15w
mov rax, qword [r12 + 0x40]
inc r15d
mov qword [rcx + rax], r11
movsx eax, word [r10 + 0x36]
add rcx, 8
cmp r15d, eax
jl 0x1800abd30
mov rax, qword [r12 + 8]
or rdx, 0xffffffffffffffff
movsxd rcx, r14d
mov word [rax + rcx*2], dx
mov rax, qword [r12 + 0x40]
mov edx, dword [rsp + 0x100]
mov qword [rax + rcx*8], r11
mov rcx, qword [rsp + 0x118]
mov eax, dword [r13 + 0x34]
mov dword [rcx + 8], eax
inc dword [r13 + 0x34]
mov r8d, dword [rcx + 8]
mov r15, rcx
movsxd rcx, dword [rsi + 0x90]
inc edx
cmp dword [rsi + 0x94], ecx
jg 0x1800abdd4
mov dword [rsp + 0x20], r9d
mov r9d, edx
mov rcx, rsi
mov edx, 0x74
call fcn.1800346c0
jmp 0x1800abe02
mov rdi, qword [rsp + 0x50]
jmp 0x1800abc85
lea r11, [0x180143868]
jmp 0x1800abc88
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
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
mov dword [rax + rcx*8], 0x74
mov rbx, qword [r13 + 0x10]
mov rdx, r12
mov rcx, r13
call fcn.18006e180
mov r11, rax
test rax, rax
je 0x1800abe50
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x1800abe31
mov r8, rax
mov edx, 0xfffffff8
call fcn.180035890
jmp 0x1800abe50
mov eax, dword [rbx + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 + 1], 0xf8
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [r13]
test dword [rax + 0x60], 0x80000
jne 0x1800abeb1
cmp byte [rsp + 0x58], 0
je 0x1800abeb1
mov rax, qword [rsp + 0x108]
mov r8, r15
mov rcx, r13
mov rdx, qword [rax]
call fcn.1800a29e0
mov edx, dword [r13 + 0x38]
inc edx
mov dword [r13 + 0x38], edx
mov dword [r15 + 0x34], edx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1800abef8
xor eax, eax
mov r9d, edx
mov r8d, 0x2710
lea edx, [rax + 0x4d]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1800346c0
xor r9d, r9d
test byte [rdi + rbp + 0x48], 0x20
je 0x1800ac02a
movsxd r8, dword [rsi + 0x90]
mov edi, dword [rdi + rbp + 0x3c]
mov dword [rsp + 0x5c], r8d
cmp dword [rsi + 0x94], r8d
jg 0x1800abf2e
mov dword [rsp + 0x20], r9d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x47]
mov rcx, rsi
call fcn.1800346c0
xor r9d, r9d
mov dword [rsp + 0x5c], eax
jmp 0x1800abf5d
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
xor r9d, r9d
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], 0x2710
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0x4d
jmp 0x1800abeb4
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8 + 4], 0
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0x47
mov r15, qword [rsp + 0x50]
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r15 + rbp + 0x38]
cmp dword [rsi + 0x94], ecx
jg 0x1800abf91
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edi
lea edx, [r9 + 0xb]
mov rcx, rsi
call fcn.1800346c0
xor r9d, r9d
jmp 0x1800abfbe
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0xb
movsxd rbx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ebx
jg 0x1800abff3
mov dword [rsp + 0x20], r9d
xor r9d, r9d
mov r8d, edi
lea edx, [r9 + 0xc]
mov rcx, rsi
call fcn.1800346c0
mov rdi, qword [rsp + 0x118]
mov ebx, eax
jmp 0x1800ac091
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edi
mov rdi, qword [rsp + 0x118]
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0xc
jmp 0x1800ac091
mov rdi, qword [rsp + 0x118]
movsxd rbx, dword [rsi + 0x90]
mov edx, dword [rdi + 4]
cmp dword [rsi + 0x94], ebx
jg 0x1800ac05f
mov dword [rsp + 0x20], r9d
xor r9d, r9d
mov r8d, edx
lea edx, [r9 + 0x24]
mov rcx, rsi
call fcn.1800346c0
mov ebx, eax
jmp 0x1800ac08c
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0x24
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
mov ecx, 0x10
test rax, rax
je 0x1800ac0c7
dec dword [r13 + 0x44]
mov r8d, dword [r13 + 0x44]
mov r9d, ecx
mov rdx, rax
mov rcx, r13
mov dword [rsp + 0x78], r8d
call fcn.1800595e0
mov rax, qword [rsp + 0x48]
or dword [rax + 0x38], 0x20000
movzx eax, byte [r13 + 0x1f]
test al, al
jne 0x1800ac0da
inc dword [r13 + 0x38]
mov ebp, dword [r13 + 0x38]
jmp 0x1800ac0eb
dec al
movzx eax, al
mov byte [r13 + 0x1f], al
mov ebp, dword [r13 + rax*4 + 0xe0]
mov r8d, dword [rdi + 4]
xor eax, eax
mov r9d, ebp
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rdx, r12
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.180071450
mov edx, dword [rdi + 0x34]
mov r12d, eax
test edx, edx
je 0x1800ac151
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rsi + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [rsi + 0x94], ecx
jg 0x1800ac180
mov dword [rsp + 0x28], r8d
mov r8d, edx
xor r9d, r9d
mov edx, 0xb4
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.180034720
xor r9d, r9d
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rdi + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1800ac1b3
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov rcx, rsi
mov r9d, ebp
mov edx, 0x8a
call fcn.1800346c0
jmp 0x1800ac1e0
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
xor r9d, r9d
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 0x10], r8d
mov dword [rax + rcx*8], 0xfdb4
jmp 0x1800ac154
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0x8a
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x1800ac200
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
cmp qword [rsp + 0x68], 0
je 0x1800ac237
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x78]
mov eax, dword [rcx + 0x48]
not edx
add eax, dword [rcx + 0x44]
jns 0x1800ac227
mov r8d, edx
mov rdx, rsi
call fcn.180035230
jmp 0x1800ac237
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov rax, qword [rsp + 0x60]
lea rdi, [0x180180dc0]
test byte [rax + r15 + 0x48], 0x20
je 0x1800ac38c
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x1800ac25d
mov rcx, rdi
jmp 0x1800ac271
movsxd rax, dword [rsp + 0x5c]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r12 + r14]
mov r12, qword [rsp + 0x60]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x118]
mov rdx, qword [r13 + 0x10]
mov rax, qword [rdx]
mov r10d, dword [rcx + 8]
mov r11d, dword [r12 + r15 + 0x40]
cmp byte [rax + 0x67], 0
mov r9d, dword [rcx + 4]
je 0x1800ac2a4
mov r8, rdi
jmp 0x1800ac2b6
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [r13]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1800ac325
cmp ebx, ecx
jge 0x1800ac325
sub ecx, ebx
lea rdx, [r8 + 0xc]
mov r14d, 2
mov r8d, ecx
xor r15d, r15d
nop dword [rax]
cmp dword [rdx - 8], r9d
jne 0x1800ac317
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x1800ac30b
mov eax, dword [rdx - 4]
mov byte [rdx - 0xc], 0x50
mov word [rdx - 0xa], r14w
lea ecx, [r11 + rax]
mov eax, dword [rdx]
mov dword [rdx], r15d
mov dword [rdx - 4], eax
mov dword [rdx - 8], ecx
jmp 0x1800ac317
cmp al, 0x87
jne 0x1800ac317
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r10d
add rdx, 0x18
dec r8
jne 0x1800ac2e0
mov r15, qword [rsp + 0x50]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1800ac356
xor eax, eax
mov r9d, ebx
xor r8d, r8d
lea edx, [rax + 9]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1800346c0
and dword [r12 + r15 + 0x48], 0xffffffdf
jmp 0x1800ac411
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
xor edx, edx
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov qword [rax + rcx*8], 9
and dword [r12 + r15 + 0x48], 0xffffffdf
jmp 0x1800ac411
mov rcx, qword [rsp + 0x118]
lea edx, [rbx + 1]
mov r8d, dword [rcx + 4]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1800ac3c0
xor eax, eax
mov r9d, edx
mov rcx, rsi
lea edx, [rax + 0x27]
mov dword [rsp + 0x20], eax
call fcn.1800346c0
jmp 0x1800ac3f1
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
xor r9d, r9d
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
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
mov dword [rax + rcx*8], 0x27
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x1800ac411
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov edx, 3
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800ac425
mov rax, rdi
jmp 0x1800ac437
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test ebp, ebp
je 0x1800ac456
movzx eax, byte [r13 + 0x1f]
cmp al, 8
jae 0x1800ac456
movzx eax, al
mov dword [r13 + rax*4 + 0xe0], ebp
inc byte [r13 + 0x1f]
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1800ac479
movsxd rax, dword [rsp + 0x7c]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rdi, [rax + rcx*8]
mov dword [rdi + 8], edx
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1800ac492
mov rcx, qword [r13]
mov rdx, rax
call fcn.1800511a0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret