Function at 0x1400d99c0
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 r10, qword [rcx + 0x10]
xor ebp, ebp
xor r15b, r15b
mov qword [rsp + 0x80], rbp
mov rbx, r8
mov byte [rsp + 0x100], r15b
mov r11, r9
mov dword [rsp + 0x78], ebp
movsxd r8, dword [r10 + 0x90]
mov rsi, rdx
mov rdi, rcx
mov r12d, ebp
mov dword [rsp + 0x68], ebp
mov qword [rsp + 0xa0], r10
mov dword [rsp + 0x7c], r8d
cmp dword [r10 + 0x94], r8d
jg 0x1400d9a52
xor r9d, r9d
mov dword [rsp + 0x20], ebp
xor r8d, r8d
lea edx, [rbp + 0xf]
mov rcx, r10
call fcn.1400578a0
mov r11, qword [rsp + 0x118]
mov dword [rsp + 0x7c], eax
jmp 0x1400d9a7a
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi]
xor r10d, r10d
mov r14, qword [rsi + 0x20]
movabs r8, 0x8000000000000000
mov rdx, qword [r11 + 0x60]
mov dword [rsp + 0x40], ebp
mov r13, qword [rax + 8]
movzx eax, byte [r11 + 0x40]
imul r9, rax, 0x68
movsxd rax, dword [rsi + 0x14]
mov esi, r10d
add r9, r13
mov qword [rsp + 0x48], rdx
imul rax, rax, 0x38
mov rcx, qword [r9 + 0x28]
add rax, r14
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], r10
cmp r14, rax
jae 0x1400d9f2e
nop dword [rax]
test byte [r14 + 0x12], 2
jne 0x1400d9dd4
mov rbx, qword [r14]
mov rdx, r13
movzx r8d, byte [r11 + 0x40]
mov rcx, rbx
call fcn.140074c10
test eax, eax
je 0x1400d9dc7
test rbx, rbx
je 0x1400d9b21
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.140072f20
mov rsi, rax
jmp 0x1400d9b27
xor r10d, r10d
mov esi, r10d
mov rbp, qword [rdi]
test r12, r12
jne 0x1400d9b3f
mov r12, rsi
mov qword [rsp + 0x80], rsi
jmp 0x1400d9dbe
test rsi, rsi
je 0x1400d9dbe
mov eax, dword [r12 + 4]
or eax, dword [rsi + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x1400d9d01
cmp byte [rdi + 0x134], 2
jae 0x1400d9d01
test rbp, rbp
je 0x1400d9b81
mov edx, 0x18
mov rcx, rbp
call fcn.140029d80
jmp 0x1400d9b8b
mov ecx, 0x18
call fcn.1400295b0
mov rcx, rax
test rax, rax
je 0x1400d9bb5
mov rax, qword [rdi + 0xc8]
lea rbx, [fcn.140072dc0]
mov qword [rcx], rax
mov qword [rdi + 0xc8], rcx
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], rbx
jmp 0x1400d9bc7
mov rcx, qword [rdi]
mov rdx, r12
call fcn.140072c60
lea rbx, [fcn.140072dc0]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400d9bdb
mov edx, 0x18
call fcn.140029d80
jmp 0x1400d9be5
mov ecx, 0x18
call fcn.1400295b0
mov rcx, rax
test rax, rax
je 0x1400d9c08
mov rax, qword [rdi + 0xc8]
mov qword [rcx], rax
mov qword [rdi + 0xc8], rcx
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rbx
jmp 0x1400d9c13
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.140072c60
mov rbx, 0xffffffffffffffff
lea rcx, [0x140195734]
inc rbx
cmp byte [rcx + rbx], 0
jne 0x1400d9c21
xor eax, eax
lea rdx, [rsp + 0x58]
mov esi, eax
mov dword [rsp + 0x58], eax
and ebx, 0x3fffffff
call fcn.14002eb50
test eax, eax
jne 0x1400d9c49
lea esi, [rbx + 1]
mov edx, esi
mov rcx, rbp
add rdx, 0x48
call fcn.140029d80
mov qword [rsp + 0x80], rax
mov r12, rax
test rax, rax
je 0x1400d9dbe
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 rax, 0xffffffffffffffff
mov word [r12 + 0x32], ax
mov byte [r12], 0x9b
test esi, esi
jne 0x1400d9ccd
mov eax, dword [rsp + 0x58]
mov ecx, 0x20800800
test eax, eax
mov dword [r12 + 8], eax
mov edx, 0x10800800
mov dword [r12 + 0x28], 1
cmovne ecx, edx
or dword [r12 + 4], ecx
jmp 0x1400d9dbe
lea rcx, [r12 + 0x48]
mov qword [r12 + 8], rcx
test ebx, ebx
je 0x1400d9cea
mov r8, rbx
lea rdx, [0x140195734]
call fcn.14011cdf0
mov rax, qword [r12 + 8]
mov byte [rbx + rax], 0
mov dword [r12 + 0x28], 1
jmp 0x1400d9dbe
mov edx, 0x48
mov rcx, rbp
call fcn.140029d80
mov rbx, rax
test rax, rax
je 0x1400d9d9d
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], rsi
mov edx, dword [rsi + 4]
and edx, 0x400208
or edx, dword [rbx + 4]
mov dword [rbx + 4], edx
mov ecx, dword [rsi + 0x28]
inc ecx
mov dword [rbx + 0x28], ecx
mov qword [rbx + 0x10], r12
mov eax, dword [r12 + 4]
and eax, 0x400208
or eax, edx
mov dword [rbx + 4], eax
mov eax, dword [r12 + 0x28]
cmp eax, ecx
jl 0x1400d9d7c
inc eax
mov dword [rbx + 0x28], eax
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp dword [rbx + 0x28], r8d
jle 0x1400d9db3
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.14002d760
jmp 0x1400d9db3
mov rcx, qword [rdi]
mov rdx, r12
call fcn.140072c60
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.140072c60
mov r12, rbx
mov qword [rsp + 0x80], rbx
mov rsi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x4c]
cmp dword [r14 + 0x1c], r8d
jne 0x1400d9ef5
test byte [r14 + 0x14], 0x82
je 0x1400d9ef5
movzx ecx, byte [rax + 0x44]
test cl, 0x58
je 0x1400d9e22
mov rax, qword [r14]
mov edx, dword [rax + 4]
test dl, 3
je 0x1400d9ef0
cmp dword [rax + 0x34], r8d
jne 0x1400d9ef0
test cl, 0x18
je 0x1400d9e22
test dl, 2
jne 0x1400d9ef0
test qword [r14 + 0x28], rbx
jne 0x1400d9ef0
movsxd rax, dword [r14 + 0x20]
test eax, eax
js 0x1400d9ef0
lea rdx, [rax + rax*2]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r14]
call fcn.1400710d0
test eax, eax
je 0x1400d9ef0
movsxd rcx, dword [r14 + 0x20]
cmp ecx, 0x40
jl 0x1400d9e73
movabs rbx, 0x8000000000000000
jmp 0x1400d9e7b
mov ebx, 1
shl rbx, cl
test r15b, r15b
jne 0x1400d9eab
mov rax, qword [rsp + 0x88]
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.14002c770
mov r15b, 1
mov rdx, qword [rsp + 0x48]
test rsi, rbx
jne 0x1400d9ef5
mov rcx, qword [rdi]
lea esi, [rbp + 1]
mov r8d, esi
call fcn.1400db9f0
test eax, eax
jne 0x1400da936
mov rdx, qword [rsp + 0x48]
movsxd rcx, ebp
mov ebp, esi
mov dword [rsp + 0x40], esi
mov rsi, qword [rsp + 0x60]
mov rax, qword [rdx + 0x48]
or rsi, rbx
mov qword [rsp + 0x60], rsi
mov qword [rax + rcx*8], r14
jmp 0x1400d9ef5
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x118]
add r14, 0x38
mov rbx, qword [rsp + 0x110]
cmp r14, qword [rsp + 0x50]
jb 0x1400d9ae0
mov r9, qword [rsp + 0x70]
xor r10d, r10d
mov rcx, qword [rsp + 0x88]
movabs r8, 0x8000000000000000
mov word [rdx + 0x3c], bp
mov word [rdx + 0x18], bp
mov dword [rdx + 0x38], 0x4241
cmp byte [rcx + 0x3f], 2
jne 0x1400d9f4c
mov rsi, 0xffffffffffffffff
jmp 0x1400d9f56
not rsi
or rsi, r8
and rsi, qword [r9 + 0x58]
movsx eax, word [rcx + 0x36]
mov ebx, 0x3f
mov qword [rsp + 0x60], rsi
mov r8d, eax
mov edx, r10d
cmp bx, ax
jl 0x1400d9f80
mov ebx, eax
test eax, eax
jle 0x1400d9f97
nop word [rax + rax]
mov ecx, ebp
mov eax, edx
inc ebp
bt rsi, rax
cmovae ebp, ecx
inc edx
cmp edx, ebx
jl 0x1400d9f80
mov dword [rsp + 0x40], ebp
cmp qword [r9 + 0x58], 0
jge 0x1400d9fa8
add ebp, 0xffffffc1
add ebp, r8d
mov dword [rsp + 0x40], ebp
mov rcx, qword [rdi]
lea esi, [rbp + 1]
movsx rbp, si
mov eax, ebp
movsx r13d, si
add eax, r13d
lea edx, [rax*2 + 9]
add edx, ebp
lea eax, [rbp + 0xe]
and edx, 0xfffffff8
lea eax, [rdx + rax*8]
movsxd r15, eax
test rcx, rcx
je 0x1400d9fdf
mov rdx, r15
call fcn.140029d80
jmp 0x1400d9fe7
mov rcx, r15
call fcn.1400295b0
mov r14, rax
test rax, rax
je 0x1400da936
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.14011d640
mov r9d, dword [rsp + 0x40]
lea rax, [r14 + 0x70]
mov r11, qword [rsp + 0x88]
lea rdx, [rax + rbp*8]
mov qword [r14 + 0x40], rax
xor r10d, r10d
lea eax, [r13 + 1]
mov word [r14 + 0x60], si
mov rsi, qword [rsp + 0x108]
mov r13d, r10d
movsxd rcx, eax
mov qword [r14 + 0x10], rdx
mov word [r14 + 0x5e], r9w
mov dword [rsp + 0x58], r10d
lea rax, [rdx + rcx*2]
mov qword [rsp + 0x90], r10
mov qword [r14 + 8], rax
lea rax, [rax + rbp*2]
mov qword [r14 + 0x38], rax
lea rbp, [0x140168728]
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14], rax
mov rax, qword [rsp + 0x50]
mov qword [r14 + 0x18], r11
mov rsi, qword [rsi + 0x20]
cmp rsi, rax
jae 0x1400da256
mov r12, qword [rsp + 0x70]
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x58], r10
nop dword [rax + rax]
mov edx, dword [r12 + 0x4c]
cmp dword [rsi + 0x1c], edx
jne 0x1400da225
test byte [rsi + 0x14], 0x82
je 0x1400da225
movzx ecx, byte [r12 + 0x44]
test cl, 0x58
je 0x1400da0f1
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x1400da220
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x50]
jne 0x1400da225
test cl, 0x18
je 0x1400da0f1
test r8b, 2
jne 0x1400da225
mov rcx, qword [rsp + 0x110]
mov r15d, ebx
test qword [rsi + 0x28], rcx
jne 0x1400da225
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x1400da220
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.1400710d0
test eax, eax
je 0x1400da220
mov ecx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x1400da148
movabs rax, 0x8000000000000000
jmp 0x1400da150
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x90]
test r8, rax
jne 0x1400da220
mov rbp, qword [rsi]
or r8, rax
mov rax, qword [r14 + 8]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x90], r8
mov word [rdx + rax], cx
test dword [rbp + 4], 0x400
je 0x1400da18f
mov rbx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
jmp 0x1400da197
mov rbx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
test dword [rdx + 4], 0x200
jne 0x1400da1be
test rbx, rbx
je 0x1400da1ae
test dword [rbx + 4], 0x200
jne 0x1400da1bb
mov rcx, rdi
call fcn.140070ec0
test rax, rax
jne 0x1400da1cb
mov rdx, rbx
mov rcx, rdi
call fcn.140070ec0
test rax, rax
je 0x1400da1d0
mov rcx, qword [rax]
jmp 0x1400da1d7
lea rcx, [0x140168728]
mov r8, qword [rsp + 0x98]
inc r13d
mov rax, qword [r14 + 0x40]
mov ebx, r15d
add qword [rsp + 0x58], 2
mov qword [r8 + rax], rcx
add r8, 8
mov rcx, qword [rbp + 0x10]
mov qword [rsp + 0x98], r8
test rcx, rcx
je 0x1400da220
call fcn.140070ba0
cmp al, 0x42
mov rax, qword [rsp + 0x50]
je 0x1400da225
mov byte [rsp + 0x100], 1
jmp 0x1400da225
mov rax, qword [rsp + 0x50]
add rsi, 0x38
cmp rsi, rax
jb 0x1400da0a0
mov r12, qword [rsp + 0x80]
lea rbp, [0x140168728]
mov r9d, dword [rsp + 0x40]
xor r10d, r10d
mov r11, qword [rsp + 0x88]
mov dword [rsp + 0x58], r13d
mov ecx, r10d
test ebx, ebx
jle 0x1400da2a3
mov r10, qword [rsp + 0x60]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x1400da295
mov rax, qword [r14 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], rbp
add rdx, 8
inc ecx
cmp ecx, ebx
jl 0x1400da271
mov dword [rsp + 0x58], r13d
xor r10d, r10d
mov r15, qword [rsp + 0x70]
cmp qword [r15 + 0x58], 0
jge 0x1400da300
mov r8d, 0x3f
cmp r8w, word [r11 + 0x36]
jge 0x1400da300
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop dword [rax + rax]
mov rax, qword [r14 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r14 + 0x40]
mov qword [rcx + rax - 8], rbp
movsx eax, word [r11 + 0x36]
cmp r8d, eax
jl 0x1400da2d0
mov dword [rsp + 0x58], r13d
mov rax, qword [r14 + 8]
mov rdx, 0xffffffffffffffff
movsxd rcx, r13d
mov r13, qword [rsp + 0xa0]
mov word [rax + rcx*2], dx
lea edx, [r9 + 1]
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], rbp
mov rbp, qword [rsp + 0x118]
mov eax, dword [rdi + 0x34]
mov dword [rbp + 8], eax
inc dword [rdi + 0x34]
movsxd rcx, dword [r13 + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [r13 + 0x94], ecx
jg 0x1400da369
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x74
mov rcx, r13
call fcn.1400578a0
lea rbx, [r13 + 0x88]
jmp 0x1400da39b
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
lea rbx, [r13 + 0x88]
mov rax, qword [rbx]
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 [rdi + 0x10]
mov rdx, r14
mov rcx, rdi
call fcn.140092210
mov rdx, rax
test rax, rax
je 0x1400da3ed
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x1400da3d1
mov r8, rax
mov edx, 0xfffffff8
call fcn.140058390
lea rbx, [r13 + 0x88]
jmp 0x1400da3ed
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 [rdi]
test dword [rax + 0x60], 0x80000
jne 0x1400da44c
cmp byte [rsp + 0x100], 0
je 0x1400da44c
mov rax, qword [rsp + 0x108]
mov r8, rbp
mov rcx, rdi
mov rdx, qword [rax]
call fcn.1400ce990
inc dword [rdi + 0x38]
mov edx, dword [rdi + 0x38]
mov dword [rbp + 0x34], edx
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x1400da493
xor eax, eax
mov r9d, edx
mov r8d, 0x2710
mov dword [rsp + 0x20], eax
mov rcx, r13
lea edx, [rax + 0x4d]
call fcn.1400578a0
xor r9d, r9d
test byte [r15 + 0x48], 0x20
je 0x1400da590
movsxd r8, dword [r13 + 0x90]
mov ebp, dword [r15 + 0x3c]
mov dword [rsp + 0x68], r8d
cmp dword [r13 + 0x94], r8d
jg 0x1400da4c6
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov rcx, r13
lea edx, [r9 + 0x47]
call fcn.1400578a0
mov dword [rsp + 0x68], eax
xor r9d, r9d
jmp 0x1400da4ee
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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 0x1400da44f
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r13 + 0x90], eax
mov rax, qword [rbx]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [r13 + 0x90]
mov edx, dword [r15 + 0x38]
cmp dword [r13 + 0x94], ecx
jg 0x1400da51d
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, r13
lea edx, [r9 + 0xb]
call fcn.1400578a0
xor r9d, r9d
jmp 0x1400da547
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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 [r13 + 0x90]
cmp dword [r13 + 0x94], esi
jg 0x1400da572
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov rcx, r13
lea edx, [r9 + 0xc]
call fcn.1400578a0
mov esi, eax
jmp 0x1400da5e8
lea eax, [rsi + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebp
jmp 0x1400da5da
movsxd rsi, dword [r13 + 0x90]
mov edx, dword [rbp + 4]
cmp dword [r13 + 0x94], esi
jg 0x1400da5be
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov rcx, r13
lea edx, [r9 + 0x24]
call fcn.1400578a0
mov esi, eax
jmp 0x1400da5e8
lea eax, [rsi + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rbx]
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 r12, r12
je 0x1400da618
dec dword [rdi + 0x44]
mov r9d, eax
mov r8d, dword [rdi + 0x44]
mov rdx, r12
mov rcx, rdi
mov dword [rsp + 0x78], r8d
call fcn.14007c0d0
mov rax, qword [rsp + 0x48]
or dword [rax + 0x38], 0x20000
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400da628
inc dword [rdi + 0x38]
mov ebp, dword [rdi + 0x38]
jmp 0x1400da637
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0xe8]
xor eax, eax
mov r9d, ebp
mov dword [rsp + 0x38], eax
mov rdx, r14
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x118]
mov r8d, dword [rax + 4]
call fcn.140095550
mov r14, qword [rsp + 0x118]
mov r15d, eax
mov edx, dword [r14 + 0x34]
test edx, edx
je 0x1400da6af
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [r13 + 0x90]
movzx r8d, word [rax + 0x18]
cmp dword [r13 + 0x94], ecx
jg 0x1400da6e0
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0xb5
mov rcx, r13
call fcn.140057900
xor r9d, r9d
movsxd rcx, dword [r13 + 0x90]
mov edx, dword [r14 + 8]
cmp dword [r13 + 0x94], ecx
jg 0x1400da710
mov dword [rsp + 0x20], r9d
mov r8d, edx
mov r9d, ebp
mov edx, 0x8a
mov rcx, r13
call fcn.1400578a0
jmp 0x1400da73a
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0xfdb5
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov dword [rax + rcx*8 + 0x10], r8d
jmp 0x1400da6b2
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rdx, dword [r13 + 0x90]
test edx, edx
jle 0x1400da75d
mov rax, qword [rbx]
lea rcx, [rdx + rdx*2]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [r13 + 0x90]
test r12, r12
je 0x1400da790
mov r9, qword [r13 + 0x18]
mov ecx, dword [rsp + 0x78]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x1400da786
mov r8d, ecx
mov rdx, r13
mov rcx, r9
call fcn.1400580c0
jmp 0x1400da790
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x70]
lea r14, [0x14019f188]
test byte [rax + 0x48], 0x20
je 0x1400da855
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x1400da7b5
mov rcx, r14
jmp 0x1400da7c5
movsxd rax, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x58]
mov edx, esi
add eax, r15d
mov r15, qword [rsp + 0x70]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x118]
mov r9d, dword [r15 + 0x40]
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1400d9900
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x1400da826
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r13
lea edx, [rax + 9]
call fcn.1400578a0
and dword [r15 + 0x48], 0xffffffdf
jmp 0x1400da8d4
lea eax, [rcx + 1]
xor edx, edx
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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 [r15 + 0x48], 0xffffffdf
jmp 0x1400da8d4
mov rax, qword [rsp + 0x118]
lea edx, [rsi + 1]
movsxd rcx, dword [r13 + 0x90]
mov r8d, dword [rax + 4]
cmp dword [r13 + 0x94], ecx
jg 0x1400da88a
xor eax, eax
mov r9d, edx
mov rcx, r13
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x27]
call fcn.1400578a0
jmp 0x1400da8b8
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
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 [r13 + 0x90]
test eax, eax
jle 0x1400da8d4
lea rcx, [rax + rax*2]
mov edx, 3
mov rax, qword [rbx]
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [r13]
mov edx, dword [r13 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400da8ea
mov rax, r14
jmp 0x1400da8f8
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test ebp, ebp
je 0x1400da911
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400da911
mov dword [rdi + rax*4 + 0xe8], ebp
inc byte [rdi + 0x1f]
mov rax, qword [r13]
mov edx, dword [r13 + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1400da932
movsxd rax, dword [rsp + 0x7c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea r14, [rax + rcx*8]
mov dword [r14 + 8], edx
test r12, r12
je 0x1400da946
mov rcx, qword [rdi]
mov rdx, r12
call fcn.140072c60
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret