Function at 0x1800ac3c0
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 0x1800ac44b
lea edx, [r11 + 0xf]
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r11d
call fcn.180035350
mov r9, qword [rsp + 0x118]
xor r11d, r11d
mov dword [rsp + 0x7c], eax
jmp 0x1800ac476
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 0x1800ac6c9
nop dword [rax + rax]
test byte [rbx + 0x12], 2
mov rdi, qword [rbx]
jne 0x1800ac541
movzx r8d, byte [r9 + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
call fcn.180053870
test eax, eax
je 0x1800ac52f
test rdi, rdi
je 0x1800ac518
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.180052130
jmp 0x1800ac51a
xor eax, eax
mov rdx, qword [rsp + 0x68]
mov r8, rax
mov rcx, r13
call fcn.180051a70
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 0x1800ac69d
test byte [rbx + 0x14], 0x82
je 0x1800ac69d
movzx ecx, byte [rdi + rbp + 0x44]
test cl, 0x58
je 0x1800ac590
mov rax, qword [rbx]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800ac690
cmp dword [rax + 0x34], edx
jne 0x1800ac690
test cl, 0x18
je 0x1800ac590
test r8b, 2
jne 0x1800ac690
mov rax, qword [rsp + 0x110]
test qword [rbx + 0x28], rax
jne 0x1800ac690
movsxd rax, dword [rbx + 0x20]
test eax, eax
js 0x1800ac690
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.1800503d0
cmp al, 0x42
jl 0x1800ac5ea
jne 0x1800ac5d9
xor eax, eax
cmp dil, 0x42
sete al
jmp 0x1800ac5e2
xor eax, eax
cmp dil, 0x43
setge al
test eax, eax
je 0x1800ac68b
movsxd rcx, dword [rbx + 0x20]
cmp ecx, 0x40
jl 0x1800ac5ff
movabs rdi, 0x8000000000000000
jmp 0x1800ac607
mov edi, 1
shl rdi, cl
test r12b, r12b
jne 0x1800ac62f
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 0x1800ac6ea
movsxd r15, dword [rsp + 0x100]
mov rcx, qword [r13]
lea ebp, [r15 + 1]
mov r8d, ebp
call fcn.1800ae2b0
test eax, eax
jne 0x1800ad19c
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 0x1800ac6a2
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 0x1800ac4e0
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 0x1800ac6fe
mov r14, rax
jmp 0x1800ac709
mov rdi, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x100]
mov rax, qword [rsp + 0x40]
jmp 0x1800ac6a2
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 0x1800ac728
movsx ebx, dx
mov dword [rsp + 0x80], ebx
mov ecx, r11d
test ebx, ebx
jle 0x1800ac74f
mov eax, ecx
bt r14, rax
jae 0x1800ac741
inc r8d
inc ecx
cmp ecx, ebx
jl 0x1800ac736
mov dword [rsp + 0x100], r8d
test qword [rdi + rbp + 0x58], r10
je 0x1800ac766
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.18006bbe0
mov r12, rax
test rax, rax
je 0x1800ad19c
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, [0x180144b18]
cmp rbp, rax
jae 0x1800ac9d4
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 0x1800ac9ad
test byte [rbp + 0x14], 0x82
je 0x1800ac9ad
movzx ecx, byte [r15 + rdi + 0x44]
test cl, 0x58
je 0x1800ac842
mov rax, qword [rbp]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800ac9a8
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x40]
jne 0x1800ac9ad
test cl, 0x18
je 0x1800ac842
test r8b, 2
jne 0x1800ac9ad
mov rcx, qword [rsp + 0x110]
test qword [rbp + 0x28], rcx
jne 0x1800ac9ad
movsxd rax, dword [rbp + 0x20]
test eax, eax
js 0x1800ac9a8
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.1800503d0
cmp al, 0x42
jl 0x1800ac8a3
jne 0x1800ac88f
xor r9d, r9d
cmp bl, 0x42
mov eax, r9d
sete al
jmp 0x1800ac89b
xor r9d, r9d
cmp bl, 0x43
mov eax, r9d
setge al
test eax, eax
je 0x1800acae8
mov ecx, dword [rbp + 0x20]
cmp ecx, 0x40
jl 0x1800ac8b7
movabs rax, 0x8000000000000000
jmp 0x1800ac8bf
mov eax, 1
shl rax, cl
test rsi, rax
jne 0x1800ac99e
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 0x1800ac8f7
mov rbx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
jmp 0x1800ac8ff
mov rbx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x10]
test dword [rdx + 4], 0x200
jne 0x1800ac926
test rbx, rbx
je 0x1800ac916
test dword [rbx + 4], 0x200
jne 0x1800ac923
mov rcx, r13
call fcn.180050130
test rax, rax
jne 0x1800ac933
mov rdx, rbx
mov rcx, r13
call fcn.180050130
test rax, rax
je 0x1800ac93f
mov rcx, qword [rax]
lea r11, [0x180144b18]
jmp 0x1800ac949
lea r11, [0x180144b18]
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 0x1800acade
call fcn.18004fd00
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, [0x180144b18]
xor r9d, r9d
mov rax, qword [rsp + 0x40]
add rbp, 0x38
cmp rbp, rax
jb 0x1800ac7f0
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 0x1800aca22
mov r9, qword [rsp + 0x90]
lea rdx, [r8*8]
add r8, r8
mov eax, ecx
bt r9, rax
jae 0x1800aca19
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 0x1800ac9f1
xor r9d, r9d
mov rbp, qword [rsp + 0x60]
movabs rax, 0x8000000000000000
test qword [rdi + rbp + 0x58], rax
je 0x1800aca7c
movsxd rdx, r14d
cmp r15w, word [r10 + 0x36]
jge 0x1800aca7c
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 0x1800aca50
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 0x1800acaf4
mov dword [rsp + 0x20], r9d
mov r9d, edx
mov rcx, rsi
mov edx, 0x74
call fcn.180035350
jmp 0x1800acb22
mov rdi, qword [rsp + 0x50]
jmp 0x1800ac9a5
lea r11, [0x180144b18]
jmp 0x1800ac9a8
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.18006eea0
mov r11, rax
test rax, rax
je 0x1800acb70
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x1800acb51
mov r8, rax
mov edx, 0xfffffff8
call fcn.180036520
jmp 0x1800acb70
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 0x1800acbd1
cmp byte [rsp + 0x58], 0
je 0x1800acbd1
mov rax, qword [rsp + 0x108]
mov r8, r15
mov rcx, r13
mov rdx, qword [rax]
call fcn.1800a3700
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 0x1800acc18
xor eax, eax
mov r9d, edx
mov r8d, 0x2710
lea edx, [rax + 0x4d]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.180035350
xor r9d, r9d
test byte [rdi + rbp + 0x48], 0x20
je 0x1800acd4a
movsxd r8, dword [rsi + 0x90]
mov edi, dword [rdi + rbp + 0x3c]
mov dword [rsp + 0x5c], r8d
cmp dword [rsi + 0x94], r8d
jg 0x1800acc4e
mov dword [rsp + 0x20], r9d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x47]
mov rcx, rsi
call fcn.180035350
xor r9d, r9d
mov dword [rsp + 0x5c], eax
jmp 0x1800acc7d
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 0x1800acbd4
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 0x1800accb1
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edi
lea edx, [r9 + 0xb]
mov rcx, rsi
call fcn.180035350
xor r9d, r9d
jmp 0x1800accde
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 0x1800acd13
mov dword [rsp + 0x20], r9d
xor r9d, r9d
mov r8d, edi
lea edx, [r9 + 0xc]
mov rcx, rsi
call fcn.180035350
mov rdi, qword [rsp + 0x118]
mov ebx, eax
jmp 0x1800acdb1
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 0x1800acdb1
mov rdi, qword [rsp + 0x118]
movsxd rbx, dword [rsi + 0x90]
mov edx, dword [rdi + 4]
cmp dword [rsi + 0x94], ebx
jg 0x1800acd7f
mov dword [rsp + 0x20], r9d
xor r9d, r9d
mov r8d, edx
lea edx, [r9 + 0x24]
mov rcx, rsi
call fcn.180035350
mov ebx, eax
jmp 0x1800acdac
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 0x1800acde7
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.18005a300
mov rax, qword [rsp + 0x48]
or dword [rax + 0x38], 0x20000
movzx eax, byte [r13 + 0x1f]
test al, al
jne 0x1800acdfa
inc dword [r13 + 0x38]
mov ebp, dword [r13 + 0x38]
jmp 0x1800ace0b
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.180072170
mov edx, dword [rdi + 0x34]
mov r12d, eax
test edx, edx
je 0x1800ace71
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rsi + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [rsi + 0x94], ecx
jg 0x1800acea0
mov dword [rsp + 0x28], r8d
mov r8d, edx
xor r9d, r9d
mov edx, 0xb4
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.1800353b0
xor r9d, r9d
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rdi + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1800aced3
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov rcx, rsi
mov r9d, ebp
mov edx, 0x8a
call fcn.180035350
jmp 0x1800acf00
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 0x1800ace74
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 0x1800acf20
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 0x1800acf57
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x78]
mov eax, dword [rcx + 0x48]
not edx
add eax, dword [rcx + 0x44]
jns 0x1800acf47
mov r8d, edx
mov rdx, rsi
call fcn.180035ec0
jmp 0x1800acf57
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, [0x180181dc0]
test byte [rax + r15 + 0x48], 0x20
je 0x1800ad0ac
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x1800acf7d
mov rcx, rdi
jmp 0x1800acf91
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 0x1800acfc4
mov r8, rdi
jmp 0x1800acfd6
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 0x1800ad045
cmp ebx, ecx
jge 0x1800ad045
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 0x1800ad037
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x1800ad02b
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 0x1800ad037
cmp al, 0x87
jne 0x1800ad037
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r10d
add rdx, 0x18
dec r8
jne 0x1800ad000
mov r15, qword [rsp + 0x50]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1800ad076
xor eax, eax
mov r9d, ebx
xor r8d, r8d
lea edx, [rax + 9]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.180035350
and dword [r12 + r15 + 0x48], 0xffffffdf
jmp 0x1800ad131
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 0x1800ad131
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 0x1800ad0e0
xor eax, eax
mov r9d, edx
mov rcx, rsi
lea edx, [rax + 0x27]
mov dword [rsp + 0x20], eax
call fcn.180035350
jmp 0x1800ad111
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 0x1800ad131
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 0x1800ad145
mov rax, rdi
jmp 0x1800ad157
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 0x1800ad176
movzx eax, byte [r13 + 0x1f]
cmp al, 8
jae 0x1800ad176
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 0x1800ad199
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 0x1800ad1b2
mov rcx, qword [r13]
mov rdx, rax
call fcn.180051ec0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret