Function at 0x1800ad2f0
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, 0xd8
mov rdi, qword [rcx + 0x10]
xor r12d, r12d
xor bpl, bpl
mov qword [rsp + 0x68], r12
mov r9, r8
mov byte [rsp + 0x120], bpl
mov rsi, rdx
mov dword [rsp + 0x78], r12d
movsxd r13, dword [rdi + 0x90]
mov rbx, rcx
mov r15d, r12d
mov dword [rsp + 0x60], r12d
mov qword [rsp + 0x90], rdi
mov dword [rsp + 0x7c], r13d
cmp dword [rdi + 0x94], r13d
jg 0x1800ad382
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0xf
mov rcx, rdi
call fcn.180029bc0
mov r9, qword [rsp + 0x130]
mov dword [rsp + 0x7c], eax
jmp 0x1800ad3b0
lea eax, [r13 + 1]
mov dword [rdi + 0x90], eax
lea rcx, [r13*2]
mov rax, qword [rdi + 0x88]
add rcx, r13
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, qword [rsp + 0x140]
mov r8d, r12d
mov r14, qword [rsi + 0x20]
mov r10, r12
movsxd rax, dword [rsi + 0x14]
mov r11, qword [r9 + 0x20]
mov rdx, qword [rcx + 0x60]
movabs rcx, 0x8000000000000000
imul rax, rax, 0x38
mov dword [rsp + 0x40], r12d
add rax, r14
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r12
cmp r14, rax
jae 0x1800ad870
lea r12, [r9 + 0x44]
mov r13, r12
nop dword [rax + rax]
test byte [r14 + 0x12], 2
lea r8, [0x1800213c0]
mov rsi, qword [r14]
lea rdx, [fcn.180021570]
jne 0x1800ad6f5
movzx ecx, byte [r9 + 0x3c]
test cl, 0x40
jne 0x1800ad6f5
mov eax, dword [rsi + 4]
and eax, 1
test cl, 8
je 0x1800ad45e
test eax, eax
je 0x1800ad6f0
mov eax, dword [r13]
cmp dword [rsi + 0x34], eax
je 0x1800ad46a
mov r12, r13
jmp 0x1800ad6f0
test eax, eax
jne 0x1800ad6f0
mov eax, dword [r13]
mov qword [rsp + 0xa0], rdx
mov ecx, 3
mov word [rsp + 0xbc], cx
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xc0], eax
test rsi, rsi
je 0x1800ad4ab
mov rdx, rsi
lea rcx, [rsp + 0x98]
call fcn.180084c60
movzx ecx, word [rsp + 0xbc]
mov r12, r13
test cx, cx
je 0x1800ad6f0
test rsi, rsi
je 0x1800ad4d2
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.18001fe70
mov rbp, rax
jmp 0x1800ad4d4
xor ebp, ebp
mov rsi, qword [rbx]
test r15, r15
jne 0x1800ad4e9
mov r15, rbp
mov qword [rsp + 0x68], rbp
jmp 0x1800ad6e8
test rbp, rbp
jne 0x1800ad4f8
mov qword [rsp + 0x68], r15
jmp 0x1800ad6e8
mov eax, dword [r15 + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x1800ad51b
mov eax, dword [rbp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x1800ad636
cmp byte [rbx + 0x134], 2
jae 0x1800ad636
test rsi, rsi
je 0x1800ad53c
mov edx, 0x18
mov rcx, rsi
call fcn.180008a30
jmp 0x1800ad546
mov ecx, 0x18
call fcn.1800083b0
mov rcx, rax
test rax, rax
je 0x1800ad570
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.18001fc60]
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r15
jmp 0x1800ad57b
mov rcx, qword [rbx]
mov rdx, r15
call fcn.18001fb40
mov rdx, rbp
mov rcx, rbx
call fcn.18001fc70
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], 0
lea rcx, [0x1800e320c]
call fcn.180031250
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, rsi
call fcn.180008a30
mov qword [rsp + 0x68], rax
mov r15, rax
test rax, rax
je 0x1800ad6e8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x30], xmm0
mov qword [r15 + 0x40], rax
mov byte [r15], 0x9b
mov word [r15 + 0x32], 0xffff
test ebp, ebp
je 0x1800ad61c
mov eax, dword [rsp + 0x70]
mov ecx, 0x20800800
test eax, eax
mov dword [r15 + 8], eax
mov edx, 0x10800800
mov dword [r15 + 0x28], 1
cmovne ecx, edx
or dword [r15 + 4], ecx
jmp 0x1800ad6e8
lea rax, [r15 + 0x48]
mov qword [r15 + 8], rax
mov word [rax], 0x30
mov dword [r15 + 0x28], 1
jmp 0x1800ad6e8
mov edx, 0x48
mov rcx, rsi
call fcn.180008a30
mov rsi, rax
test rax, rax
je 0x1800ad6ca
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov byte [rsi], 0x2c
mov word [rsi + 0x32], 0xffff
mov qword [rsi + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x400208
or ecx, dword [rsi + 4]
mov dword [rsi + 4], ecx
mov edx, dword [rbp + 0x28]
inc edx
mov dword [rsi + 0x28], edx
mov qword [rsi + 0x10], r15
mov eax, dword [r15 + 4]
and eax, 0x400208
or eax, ecx
mov dword [rsi + 4], eax
mov eax, dword [r15 + 0x28]
cmp eax, edx
jl 0x1800ad6a7
lea edx, [rax + 1]
mov dword [rsi + 0x28], edx
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
cmp edx, r8d
jle 0x1800ad6e0
lfence
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.180030740
jmp 0x1800ad6e0
mov rcx, qword [rbx]
mov rdx, r15
call fcn.18001fb40
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.18001fb40
mov r15, rsi
mov qword [rsp + 0x68], rsi
movzx ebp, byte [rsp + 0x120]
mov rax, qword [rsp + 0x48]
mov edx, dword [r12]
mov r9, qword [rsp + 0x130]
cmp dword [r14 + 0x1c], edx
jne 0x1800ad929
test byte [r14 + 0x14], 0x82
je 0x1800ad929
movzx ecx, byte [r9 + 0x3c]
test cl, 0x58
je 0x1800ad749
mov rax, qword [r14]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800ad915
cmp dword [rax + 0x34], edx
jne 0x1800ad915
test cl, 0x18
je 0x1800ad749
test r8b, 2
jne 0x1800ad915
mov rax, qword [rsp + 0x138]
test qword [r14 + 0x28], rax
jne 0x1800ad915
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x1800ad915
lea rdx, [rax + rax*2]
mov rax, qword [r9 + 0x20]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r14]
call fcn.18001e1b0
test eax, eax
je 0x1800ad82a
movsxd rcx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x1800ad79d
movabs rsi, 0x8000000000000000
jmp 0x1800ad7a5
mov esi, 1
shl rsi, cl
test bpl, bpl
jne 0x1800ad7da
mov rax, qword [rsp + 0x80]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.18004ea80
mov byte [rsp + 0x120], 1
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
test r10, rsi
jne 0x1800ad834
mov ebp, dword [rsp + 0x40]
mov rcx, qword [rbx]
inc ebp
mov r8d, ebp
call fcn.1800af3e0
test eax, eax
jne 0x1800ae30d
movsxd rcx, dword [rsp + 0x40]
mov r8d, ebp
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
or r10, rsi
mov dword [rsp + 0x40], ebp
mov qword [rsp + 0x58], r10
mov rax, qword [rdx + 0x48]
mov qword [rax + rcx*8], r14
jmp 0x1800ad839
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x130]
mov rax, qword [rsp + 0x48]
movzx ebp, byte [rsp + 0x120]
add r14, 0x38
cmp r14, rax
jb 0x1800ad410
mov r11, qword [rsp + 0x80]
xor r12d, r12d
movabs rcx, 0x8000000000000000
mov word [rdx + 0x3c], r8w
not r10
mov word [rdx + 0x18], r8w
or r10, rcx
mov dword [rdx + 0x38], 0x4241
mov ebp, 0x3f
and r10, qword [r9 + 0x50]
mov edx, r12d
movsx eax, word [r11 + 0x36]
mov qword [rsp + 0x58], r10
cmp bp, ax
jl 0x1800ad8b0
mov ebp, eax
test eax, eax
jle 0x1800ad8cb
nop dword [rax + rax]
mov eax, edx
lea ecx, [r8 + 1]
bt r10, rax
cmovae ecx, r8d
inc edx
mov r8d, ecx
cmp edx, ebp
jl 0x1800ad8b0
mov dword [rsp + 0x40], ecx
cmp qword [r9 + 0x50], 0
jge 0x1800ad8e3
movsx eax, word [r11 + 0x36]
add r8d, 0xffffffc1
add r8d, eax
mov dword [rsp + 0x40], r8d
mov rcx, qword [rbx]
lea esi, [r8 + 1]
movsx r13d, si
lea eax, [r13*4 + 9]
add eax, r13d
and eax, 0xfffffff8
lea eax, [rax + r13*8]
add eax, 0x70
movsxd r12, eax
test rcx, rcx
je 0x1800ad93d
mov rdx, r12
call fcn.180008a30
jmp 0x1800ad945
mov r8d, dword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
jmp 0x1800ad841
mov r8d, dword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
jmp 0x1800ad846
mov rcx, r12
call fcn.1800083b0
mov r14, rax
test rax, rax
je 0x1800ae30d
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.1800d66b0
mov r9d, dword [rsp + 0x40]
lea rax, [r14 + 0x70]
mov r11, qword [rsp + 0x80]
xor r10d, r10d
mov qword [r14 + 0x40], rax
mov r12d, r10d
mov word [r14 + 0x60], si
mov word [r14 + 0x5e], r9w
movsx r8, si
lea rdx, [rax + r8*8]
mov qword [r14 + 0x10], rdx
lea eax, [r13 + 1]
mov r13, qword [rsp + 0x128]
movsxd rcx, eax
lea rax, [rdx + rcx*2]
mov qword [r14 + 8], rax
lea rax, [rax + r8*2]
mov qword [r14 + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14], rax
mov rax, qword [rsp + 0x48]
mov qword [r14 + 0x18], r11
mov rsi, qword [r13 + 0x20]
cmp rsi, rax
jae 0x1800adb76
mov r15, qword [rsp + 0x130]
mov edi, r10d
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x120], r10
nop
mov edx, dword [r15 + 0x44]
cmp dword [rsi + 0x1c], edx
jne 0x1800adb44
test byte [rsi + 0x14], 0x82
je 0x1800adb44
movzx ecx, byte [r15 + 0x3c]
test cl, 0x58
je 0x1800ada3f
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1800adb3f
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x1800adb44
test cl, 0x18
je 0x1800ada3f
test r8b, 2
jne 0x1800adb44
mov rcx, qword [rsp + 0x138]
mov r13d, ebp
test qword [rsi + 0x28], rcx
jne 0x1800adb44
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x1800adb3f
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x20]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.18001e1b0
test eax, eax
je 0x1800adb3f
mov edx, dword [rsi + 0x20]
cmp edx, 0x40
jl 0x1800ada95
movabs rax, 0x8000000000000000
jmp 0x1800ada9f
mov ecx, edx
mov eax, 1
shl rax, cl
test rdi, rax
jne 0x1800adb3f
mov rcx, qword [rsi]
or rdi, rax
mov rax, qword [r14 + 8]
mov r8, qword [rsp + 0x120]
mov word [r8 + rax], dx
test dword [rcx + 4], 0x400
je 0x1800adad2
mov rbp, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x1800adada
mov rbp, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x10]
test dword [rdx + 4], 0x200
jne 0x1800adb01
test rbp, rbp
je 0x1800adaf1
test dword [rbp + 4], 0x200
jne 0x1800adafe
mov rcx, rbx
call fcn.18001dfa0
test rax, rax
jne 0x1800adb0e
mov rdx, rbp
mov rcx, rbx
call fcn.18001dfa0
test rax, rax
je 0x1800adb13
mov rcx, qword [rax]
jmp 0x1800adb1a
lea rcx, [0x1800e5a10]
mov r8, qword [rsp + 0x70]
inc r12d
mov rax, qword [r14 + 0x40]
mov ebp, r13d
add qword [rsp + 0x120], 2
mov qword [r8 + rax], rcx
add r8, 8
mov qword [rsp + 0x70], r8
mov rax, qword [rsp + 0x48]
add rsi, 0x38
cmp rsi, rax
jb 0x1800ad9f0
mov rdi, qword [rsp + 0x90]
xor r10d, r10d
mov r15, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x80]
mov r13, qword [rsp + 0x128]
lea rsi, [0x1800e5a10]
mov ecx, r10d
test ebp, ebp
jle 0x1800adbc5
mov r10, qword [rsp + 0x58]
movsxd rax, r12d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x1800adbbc
mov rax, qword [r14 + 8]
inc r12d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], rsi
add rdx, 8
inc ecx
cmp ecx, ebp
jl 0x1800adb98
xor r10d, r10d
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x50], 0
jge 0x1800adc1b
mov r8d, 0x3f
cmp r8w, word [r11 + 0x36]
jge 0x1800adc1b
movsxd rax, r12d
lea rcx, [rax*8]
lea rdx, [rax + rax]
mov rax, qword [r14 + 8]
lea rdx, [rdx + 2]
inc r12d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r14 + 0x40]
mov qword [rcx + rax - 8], rsi
movsx eax, word [r11 + 0x36]
cmp r8d, eax
jl 0x1800adbf0
mov rax, qword [r14 + 8]
lea edx, [r9 + 1]
mov rbp, qword [rsp + 0x140]
movsxd rcx, r12d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], rsi
mov eax, dword [rbx + 0x34]
mov dword [rbp + 8], eax
inc dword [rbx + 0x34]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [rdi + 0x94], ecx
jg 0x1800adc6f
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x74
mov rcx, rdi
call fcn.180029bc0
jmp 0x1800adc9d
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x74
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 rsi, qword [rbx + 0x10]
mov rdx, r14
mov rcx, rbx
call fcn.18003e2e0
mov rdx, rax
test rax, rax
je 0x1800adced
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x1800adcd1
cmp qword [rax + 0x2f8], 0
jne 0x1800adced
mov rcx, rdx
call fcn.18006f2b0
jmp 0x1800adced
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rbx]
test dword [rax + 0x60], 0x80000
jne 0x1800add2f
mov edx, dword [rbx + 0x38]
inc edx
mov dword [rbx + 0x38], edx
mov dword [rbp + 0x34], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800add8a
xor eax, eax
mov r9d, edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
mov r8d, 0x2710
mov rcx, rdi
call fcn.180029bc0
xor r9d, r9d
movzx eax, byte [rbp + 0x40]
imul rdx, rax, 0x68
mov rax, qword [r13]
mov r13, qword [rax + 8]
add r13, rdx
test byte [r13 + 0x48], 0x20
je 0x1800ade99
movsxd r8, dword [rdi + 0x90]
mov ebp, dword [r13 + 0x3c]
mov dword [rsp + 0x60], r8d
cmp dword [rdi + 0x94], r8d
jg 0x1800addc3
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov edx, 0x47
mov rcx, rdi
call fcn.180029bc0
mov dword [rsp + 0x60], eax
xor r9d, r9d
jmp 0x1800addee
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], 0x4d
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
jmp 0x1800add32
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13 + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x1800ade1d
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, 0xb
mov r8d, ebp
mov rcx, rdi
call fcn.180029bc0
xor r9d, r9d
jmp 0x1800ade4a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movsxd rsi, dword [rdi + 0x90]
cmp dword [rdi + 0x94], esi
jg 0x1800ade78
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov edx, 0xc
mov rcx, rdi
call fcn.180029bc0
mov esi, eax
jmp 0x1800adef4
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebp
jmp 0x1800adee6
movsxd rsi, dword [rdi + 0x90]
mov edx, dword [rbp + 4]
cmp dword [rdi + 0x94], esi
jg 0x1800adec7
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov edx, 0x24
mov rcx, rdi
call fcn.180029bc0
mov esi, eax
jmp 0x1800adef4
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], r9
mov qword [rax + rcx*8 + 8], 0
mov eax, 0x10
test r15, r15
je 0x1800adf24
dec dword [rbx + 0x44]
mov r9d, eax
mov r8d, dword [rbx + 0x44]
mov rdx, r15
mov rcx, rbx
mov dword [rsp + 0x78], r8d
call fcn.180028090
mov rcx, qword [rsp + 0x50]
or dword [rcx + 0x38], 0x20000
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1800adf34
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x1800adf43
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe4]
mov rcx, qword [rsp + 0x140]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, ebp
mov qword [rsp + 0x30], rax
mov rdx, r14
mov qword [rsp + 0x28], rax
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov dword [rsp + 0x130], ebp
mov dword [rsp + 0x20], eax
call fcn.18009e0e0
mov r10, qword [rsp + 0x140]
mov r14d, eax
mov r8d, dword [r10 + 0x34]
test r8d, r8d
je 0x1800ae02d
mov rax, qword [rsp + 0x50]
movsxd rdx, dword [rdi + 0x90]
movzx r9d, word [rax + 0x18]
mov dword [rsp + 0x128], r9d
cmp dword [rdi + 0x94], edx
jg 0x1800adfda
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov edx, 0xb4
mov rcx, rdi
call fcn.180029bc0
mov r9d, dword [rsp + 0x128]
mov edx, eax
mov r10, qword [rsp + 0x140]
jmp 0x1800ae00c
lea rcx, [rdx + rdx*2]
xor r11d, r11d
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xb4
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r11d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x1800ae02d
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r9d
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r10 + 8]
cmp dword [rdi + 0x94], ecx
jg 0x1800ae05b
xor eax, eax
mov r8d, edx
mov edx, 0x8a
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov rcx, rdi
call fcn.180029bc0
jmp 0x1800ae08b
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], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1800ae0a8
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r15, r15
je 0x1800ae0dc
mov rcx, qword [rdi + 0x18]
mov edx, dword [rsp + 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800ae0cc
mov r8d, edx
mov rdx, rdi
call fcn.18002a930
jmp 0x1800ae0dc
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
test byte [r13 + 0x48], 0x20
lea rbp, [0x1800ffba8]
je 0x1800ae21d
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1800ae0fc
mov rcx, rbp
jmp 0x1800ae110
movsxd rax, dword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r14 + r12]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x140]
mov rdx, qword [rbx + 0x10]
mov r11d, dword [r13 + 0x40]
mov r9d, dword [rax + 8]
mov r10d, dword [rax + 4]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
je 0x1800ae13d
mov r8, rbp
jmp 0x1800ae14f
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [rbx]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1800ae1b6
cmp esi, ecx
jge 0x1800ae1b6
sub ecx, esi
lea rdx, [r8 + 0xc]
mov r8d, ecx
xor r15d, r15d
nop
cmp dword [rdx - 8], r10d
jne 0x1800ae1a7
movzx eax, byte [rdx - 0xc]
cmp al, 0x5e
jne 0x1800ae19b
mov ecx, dword [rdx - 4]
mov eax, dword [rdx]
add ecx, r11d
mov dword [rdx - 8], ecx
mov byte [rdx - 0xc], 0x50
mov dword [rdx - 4], eax
mov dword [rdx], r15d
mov word [rdx - 0xa], 2
jmp 0x1800ae1a7
cmp al, 0x87
jne 0x1800ae1a7
mov byte [rdx - 0xc], 0x7e
mov dword [rdx - 8], r9d
add rdx, 0x18
sub r8, 1
jne 0x1800ae170
mov r15, qword [rsp + 0x68]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800ae1e8
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 9
mov rcx, rdi
call fcn.180029bc0
and dword [r13 + 0x48], 0xffffffdf
jmp 0x1800ae2a1
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], 9
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [r13 + 0x48], 0xffffffdf
jmp 0x1800ae2a1
mov rcx, qword [rsp + 0x140]
lea edx, [rsi + 1]
mov r8d, dword [rcx + 4]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1800ae253
xor eax, eax
mov r9d, edx
mov edx, 0x27
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.180029bc0
jmp 0x1800ae284
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], 0x27
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 0x1800ae2a1
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800ae2b5
mov rax, rbp
jmp 0x1800ae2c7
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov ecx, dword [rsp + 0x130]
mov dword [rax + 8], edx
test ecx, ecx
je 0x1800ae2e7
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1800ae2e7
mov dword [rbx + rax*4 + 0xe4], ecx
inc byte [rbx + 0x1f]
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1800ae30a
movsxd rax, dword [rsp + 0x7c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rbp, [rax + rcx*8]
mov dword [rbp + 8], edx
test r15, r15
je 0x1800ae31d
mov rcx, qword [rbx]
mov rdx, r15
call fcn.18001fb40
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret