Function at 0x140109580
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 r14, qword [rcx + 0x10]
xor r11d, r11d
xor r12b, r12b
mov qword [rsp + 0x80], r11
mov rsi, rdx
mov byte [rsp + 0x100], r12b
mov rbx, rcx
mov dword [rsp + 0x74], r11d
movsxd r10, dword [r14 + 0x90]
mov r13d, r11d
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0xa8], r14
mov dword [rsp + 0x78], r10d
cmp dword [r14 + 0x94], r10d
jg 0x140109614
xor r9d, r9d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
lea edx, [r11 + 0xf]
mov rcx, r14
call fcn.140089420
mov r9, qword [rsp + 0x118]
xor r11d, r11d
mov dword [rsp + 0x78], eax
jmp 0x14010963c
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], r11
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rsi]
mov ebp, r11d
mov r15, qword [rsi + 0x20]
movabs r10, 0x8000000000000000
mov r8, qword [r9 + 0x60]
mov dword [rsp + 0x50], r11d
mov rdx, qword [rax + 8]
movzx eax, byte [r9 + 0x40]
imul rdi, rax, 0x68
movsxd rax, dword [rsi + 0x14]
mov rsi, r11
add rdi, rdx
mov qword [rsp + 0x90], rdx
imul rax, rax, 0x38
mov rcx, qword [rdi + 0x28]
add rax, r15
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r11
cmp r15, rax
jae 0x140109ab9
nop dword [rax + rax]
test byte [r15 + 0x12], 2
mov rdi, qword [r15]
jne 0x14010994f
movzx r8d, byte [r9 + 0x40]
mov rcx, rdi
call fcn.1400a5b20
test eax, eax
je 0x14010994a
test rdi, rdi
je 0x1401096f0
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.1400a3ed0
mov rsi, rax
xor edi, edi
jmp 0x1401096f3
mov rsi, rdi
mov rbp, qword [rbx]
test r13, r13
jne 0x14010970b
mov r13, rsi
mov qword [rsp + 0x80], rsi
jmp 0x140109941
test rsi, rsi
je 0x140109941
mov eax, dword [r13 + 4]
or eax, dword [rsi + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x14010988f
cmp byte [rbx + 0x134], 2
jae 0x14010988f
test rbp, rbp
je 0x14010974c
mov edx, 0x18
mov rcx, rbp
call fcn.14005d9a0
jmp 0x140109756
mov ecx, 0x18
call fcn.14005d1f0
mov rcx, rax
test rax, rax
je 0x140109780
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 8], r13
lea r13, [fcn.1400a3d20]
mov qword [rcx + 0x10], r13
jmp 0x140109792
mov rcx, qword [rbx]
mov rdx, r13
call fcn.1400a3c70
lea r13, [fcn.1400a3d20]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1401097a6
mov edx, 0x18
call fcn.14005d9a0
jmp 0x1401097b0
mov ecx, 0x18
call fcn.14005d1f0
mov rcx, rax
test rax, rax
je 0x1401097d3
mov rax, qword [rbx + 0xc0]
mov qword [rcx], rax
mov qword [rbx + 0xc0], rcx
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], r13
jmp 0x1401097de
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.1400a3c70
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], edi
lea rcx, [0x140169224]
call fcn.140062170
test eax, eax
mov edi, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, rbp
call fcn.14005d9a0
mov qword [rsp + 0x80], rax
mov r13, rax
test rax, rax
je 0x140109941
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x30], xmm0
mov qword [r13 + 0x40], rax
mov byte [r13], 0x9b
mov word [r13 + 0x32], 0xffff
test edi, edi
je 0x140109875
mov eax, dword [rsp + 0x40]
mov ecx, 0x20800800
test eax, eax
mov dword [r13 + 8], eax
mov edx, 0x10800800
mov dword [r13 + 0x28], 1
cmovne ecx, edx
or dword [r13 + 4], ecx
jmp 0x140109941
lea rax, [r13 + 0x48]
mov qword [r13 + 8], rax
mov word [rax], 0x30
mov dword [r13 + 0x28], 1
jmp 0x140109941
mov edx, 0x48
mov rcx, rbp
call fcn.14005d9a0
mov rdi, rax
test rax, rax
je 0x140109920
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov byte [rdi], 0x2c
mov word [rdi + 0x32], 0xffff
mov qword [rdi + 0x18], rsi
mov edx, dword [rsi + 4]
and edx, 0x400208
or edx, dword [rdi + 4]
mov dword [rdi + 4], edx
mov ecx, dword [rsi + 0x28]
inc ecx
mov dword [rdi + 0x28], ecx
mov qword [rdi + 0x10], r13
mov eax, dword [r13 + 4]
and eax, 0x400208
or eax, edx
mov dword [rdi + 4], eax
mov eax, dword [r13 + 0x28]
cmp eax, ecx
jl 0x1401098ff
inc eax
mov dword [rdi + 0x28], eax
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
cmp dword [rdi + 0x28], r8d
jle 0x140109936
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.1400616c0
jmp 0x140109936
mov rcx, qword [rbx]
mov rdx, r13
call fcn.1400a3c70
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.1400a3c70
mov r13, rdi
mov qword [rsp + 0x80], rdi
mov rsi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rdi + 0x4c]
cmp dword [r15 + 0x1c], r8d
jne 0x140109a82
test byte [r15 + 0x14], 0x82
je 0x140109a82
movzx ecx, byte [rdi + 0x44]
test cl, 0x58
je 0x14010999d
mov rax, qword [r15]
mov edx, dword [rax + 4]
test dl, 3
je 0x140109a7d
cmp dword [rax + 0x34], r8d
jne 0x140109a7d
test cl, 0x18
je 0x14010999d
test dl, 2
jne 0x140109a7d
mov rax, qword [rsp + 0x110]
test qword [r15 + 0x28], rax
jne 0x140109a7d
movsxd rax, dword [r15 + 0x20]
test eax, eax
js 0x140109a7d
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [r15]
call fcn.1400a2310
test eax, eax
je 0x140109a7d
movsxd rcx, dword [r15 + 0x20]
cmp ecx, 0x40
jl 0x1401099f1
movabs rdi, 0x8000000000000000
jmp 0x1401099f9
mov edi, 1
shl rdi, cl
test r12b, r12b
jne 0x140109a29
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.140060750
mov r12b, 1
test rsi, rdi
jne 0x140109a78
mov rdx, qword [rsp + 0x58]
lea esi, [rbp + 1]
mov rcx, qword [rbx]
mov r8d, esi
call fcn.14010b540
test eax, eax
jne 0x14010a4fb
mov r8, qword [rsp + 0x58]
movsxd rcx, ebp
mov ebp, esi
mov dword [rsp + 0x50], esi
mov rsi, qword [rsp + 0x60]
mov rax, qword [r8 + 0x48]
or rsi, rdi
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x60], rsi
mov qword [rax + rcx*8], r15
mov rax, qword [rsp + 0x48]
jmp 0x140109a87
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x90]
add r15, 0x38
mov r9, qword [rsp + 0x118]
cmp r15, rax
jb 0x1401096b0
mov rcx, qword [rsp + 0x88]
xor r11d, r11d
movabs r10, 0x8000000000000000
mov word [r8 + 0x3c], bp
mov word [r8 + 0x18], bp
mov dword [r8 + 0x38], 0x4241
cmp byte [rcx + 0x3f], 2
jne 0x140109ada
mov rsi, 0xffffffffffffffff
jmp 0x140109ae4
not rsi
or rsi, r10
and rsi, qword [rdi + 0x58]
movsx eax, word [rcx + 0x36]
mov edi, 0x3f
mov qword [rsp + 0x60], rsi
mov r8d, eax
mov edx, r11d
cmp di, ax
jl 0x140109b03
mov edi, eax
test eax, eax
jle 0x140109b1a
mov ecx, ebp
mov eax, edx
inc ebp
bt rsi, rax
cmovae ebp, ecx
inc edx
cmp edx, edi
jl 0x140109b03
mov dword [rsp + 0x50], ebp
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x58], 0
jge 0x140109b30
add ebp, 0xffffffc1
add ebp, r8d
mov dword [rsp + 0x50], ebp
mov rcx, qword [rbx]
lea esi, [rbp + 1]
movsx ebp, si
lea eax, [rbp*4 + 9]
add eax, ebp
and eax, 0xfffffff8
lea eax, [rax + rbp*8]
add eax, 0x70
movsxd r12, eax
test rcx, rcx
je 0x140109b5d
mov rdx, r12
call fcn.14005d9a0
jmp 0x140109b65
mov rcx, r12
call fcn.14005d1f0
mov r15, rax
test rax, rax
je 0x14010a4fb
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.140131fa0
mov r10d, dword [rsp + 0x50]
lea rax, [r15 + 0x70]
mov qword [r15 + 0x40], rax
lea r12, [0x1401619bc]
movsx r8, si
xor r11d, r11d
mov word [r15 + 0x60], si
mov r9d, r11d
mov rsi, qword [rsp + 0x108]
mov word [r15 + 0x5e], r10w
lea rdx, [rax + r8*8]
mov dword [rsp + 0x40], r11d
lea eax, [rbp + 1]
mov qword [r15 + 0x10], rdx
mov rbp, qword [rsp + 0x88]
movsxd rcx, eax
mov qword [rsp + 0xa0], r11
lea rax, [rdx + rcx*2]
mov qword [r15 + 8], rax
lea rax, [rax + r8*2]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x20], r15
lea rax, str.auto_index
mov qword [r15], rax
mov rax, qword [rsp + 0x48]
mov qword [r15 + 0x18], rbp
mov rsi, qword [rsi + 0x20]
cmp rsi, rax
jae 0x140109df8
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x110]
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x98], r11
nop word [rax + rax]
mov edx, dword [r14 + 0x4c]
cmp dword [rsi + 0x1c], edx
jne 0x140109dc4
test byte [rsi + 0x14], 0x82
je 0x140109dc4
movzx ecx, byte [r14 + 0x44]
test cl, 0x58
je 0x140109c7f
mov rax, qword [rsi]
mov r8d, dword [rax + 4]
test r8b, 3
je 0x140109dbf
cmp dword [rax + 0x34], edx
mov rax, qword [rsp + 0x48]
jne 0x140109dc4
test cl, 0x18
je 0x140109c7f
test r8b, 2
jne 0x140109dc4
mov r12d, edi
test qword [rsi + 0x28], r13
jne 0x140109dc4
movsxd rax, dword [rsi + 0x20]
test eax, eax
js 0x140109dbf
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x28]
mov rcx, qword [rax + 8]
movzx edx, byte [rcx + rdx*8 + 0xc]
mov rcx, qword [rsi]
call fcn.1400a2310
test eax, eax
je 0x140109dba
mov ecx, dword [rsi + 0x20]
cmp ecx, 0x40
jl 0x140109ccd
movabs rax, 0x8000000000000000
jmp 0x140109cd5
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0xa0]
test r8, rax
jne 0x140109dba
mov rbp, qword [rsi]
or r8, rax
mov rax, qword [r15 + 8]
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xa0], r8
mov word [rdx + rax], cx
test dword [rbp + 4], 0x400
je 0x140109d17
mov rdi, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
jmp 0x140109d1f
mov rdi, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
test dword [rdx + 4], 0x200
jne 0x140109d46
test rdi, rdi
je 0x140109d36
test dword [rdi + 4], 0x200
jne 0x140109d43
mov rcx, rbx
call fcn.1400a2100
test rax, rax
jne 0x140109d53
mov rdx, rdi
mov rcx, rbx
call fcn.1400a2100
test rax, rax
je 0x140109d58
mov rcx, qword [rax]
jmp 0x140109d5f
lea rcx, [0x1401619bc]
mov r8, qword [rsp + 0x90]
mov edi, r12d
mov r9d, dword [rsp + 0x40]
mov rax, qword [r15 + 0x40]
inc r9d
add qword [rsp + 0x98], 2
mov dword [rsp + 0x40], r9d
mov qword [r8 + rax], rcx
add r8, 8
mov rcx, qword [rbp + 0x10]
mov qword [rsp + 0x90], r8
test rcx, rcx
je 0x140109dbf
call fcn.1400a1de0
mov r9d, dword [rsp + 0x40]
cmp al, 0x42
mov rax, qword [rsp + 0x48]
je 0x140109dc4
mov byte [rsp + 0x100], 1
jmp 0x140109dc4
mov r9d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
add rsi, 0x38
cmp rsi, rax
jb 0x140109c30
mov r14, qword [rsp + 0xa8]
lea r12, [0x1401619bc]
mov r13, qword [rsp + 0x80]
xor r11d, r11d
mov r10d, dword [rsp + 0x50]
mov rbp, qword [rsp + 0x88]
mov ecx, r11d
test edi, edi
jle 0x140109e45
mov r11, qword [rsp + 0x60]
movsxd rax, r9d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r11, rax
jae 0x140109e37
mov rax, qword [r15 + 8]
inc r9d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r15 + 0x40]
mov qword [rdx + rax], r12
add rdx, 8
inc ecx
cmp ecx, edi
jl 0x140109e13
mov dword [rsp + 0x40], r9d
xor r11d, r11d
mov r12, qword [rsp + 0x68]
lea rdi, [0x1401619bc]
cmp qword [r12 + 0x58], 0
jge 0x140109eaf
mov r8d, 0x3f
cmp r8w, word [rbp + 0x36]
jge 0x140109eaf
movsxd rax, r9d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop word [rax + rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 2]
inc r9d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r15 + 0x40]
mov qword [rcx + rax - 8], rdi
movsx eax, word [rbp + 0x36]
cmp r8d, eax
jl 0x140109e80
mov dword [rsp + 0x40], r9d
mov rax, qword [r15 + 8]
lea edx, [r10 + 1]
mov rbp, qword [rsp + 0x118]
movsxd rcx, r9d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r15 + 0x40]
mov qword [rax + rcx*8], rdi
mov eax, dword [rbx + 0x34]
mov dword [rbp + 8], eax
inc dword [rbx + 0x34]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [rbp + 8]
cmp dword [r14 + 0x94], ecx
jg 0x140109f0b
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, 0x74
mov rcx, r14
call fcn.140089420
lea rdi, [r14 + 0x88]
jmp 0x140109f3d
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
lea rdi, [r14 + 0x88]
mov rax, qword [rdi]
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], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov rsi, qword [rbx + 0x10]
mov rdx, r15
mov rcx, rbx
call fcn.1400c2d50
mov rdx, rax
test rax, rax
je 0x140109f8f
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x140109f73
mov r8, rax
mov edx, 0xfffffff8
call fcn.140089fe0
lea rdi, [r14 + 0x88]
jmp 0x140109f8f
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 0x140109fee
cmp byte [rsp + 0x100], 0
je 0x140109fee
mov rax, qword [rsp + 0x108]
mov r8, rbp
mov rcx, rbx
mov rdx, qword [rax]
call fcn.1400fe660
inc dword [rbx + 0x38]
mov edx, dword [rbx + 0x38]
mov dword [rbp + 0x34], edx
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x14010a037
xor eax, eax
mov r9d, edx
mov r8d, 0x2710
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x4d]
call fcn.140089420
xor r9d, r9d
test byte [r12 + 0x48], 0x20
je 0x14010a135
movsxd r8, dword [r14 + 0x90]
mov ebp, dword [r12 + 0x3c]
mov dword [rsp + 0x70], r8d
cmp dword [r14 + 0x94], r8d
jg 0x14010a06a
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0x47]
call fcn.140089420
mov dword [rsp + 0x70], eax
xor r9d, r9d
jmp 0x14010a092
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
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 0x140109ff1
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [rdi]
mov qword [rax + rcx*8], 0x47
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r12 + 0x38]
cmp dword [r14 + 0x94], ecx
jg 0x14010a0c2
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, r14
lea edx, [r9 + 0xb]
call fcn.140089420
xor r9d, r9d
jmp 0x14010a0ec
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
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 [r14 + 0x90]
cmp dword [r14 + 0x94], esi
jg 0x14010a117
mov dword [rsp + 0x20], r9d
mov r8d, ebp
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0xc]
call fcn.140089420
mov esi, eax
jmp 0x14010a18d
lea eax, [rsi + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], ebp
jmp 0x14010a17f
movsxd rsi, dword [r14 + 0x90]
mov edx, dword [rbp + 4]
cmp dword [r14 + 0x94], esi
jg 0x14010a163
mov dword [rsp + 0x20], r9d
mov r8d, edx
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 0x24]
call fcn.140089420
mov esi, eax
jmp 0x14010a18d
lea eax, [rsi + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi]
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 r13, r13
je 0x14010a1bd
dec dword [rbx + 0x44]
mov r9d, eax
mov r8d, dword [rbx + 0x44]
mov rdx, r13
mov rcx, rbx
mov dword [rsp + 0x74], r8d
call fcn.1400ace10
mov rax, qword [rsp + 0x58]
or dword [rax + 0x38], 0x20000
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14010a1cd
inc dword [rbx + 0x38]
mov ebp, dword [rbx + 0x38]
jmp 0x14010a1dc
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebp, dword [rbx + rax*4 + 0xe4]
mov r8, qword [rsp + 0x118]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, ebp
mov qword [rsp + 0x30], rax
mov rdx, r15
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov r8d, dword [r8 + 4]
mov dword [rsp + 0x20], eax
call fcn.1400c6330
mov r9, qword [rsp + 0x118]
mov r12d, eax
mov r8d, dword [r9 + 0x34]
test r8d, r8d
je 0x14010a2a9
mov rax, qword [rsp + 0x58]
movsxd rdx, dword [r14 + 0x90]
movzx r15d, word [rax + 0x18]
cmp dword [r14 + 0x94], edx
jg 0x14010a25d
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, 0xb4
mov rcx, r14
call fcn.140089420
mov r9, qword [rsp + 0x118]
mov edx, eax
jmp 0x14010a28c
lea rcx, [rdx + rdx*2]
xor r10d, r10d
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [rdi]
mov dword [rax + rcx*8], 0xb4
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne 0x14010a2a9
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r15d
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r9 + 8]
cmp dword [r14 + 0x94], ecx
jg 0x14010a2d8
xor eax, eax
mov r8d, edx
mov edx, 0x8a
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov rcx, r14
call fcn.140089420
jmp 0x14010a305
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
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 rdx, dword [r14 + 0x90]
test edx, edx
jle 0x14010a325
mov rax, qword [rdi]
lea rcx, [rdx + rdx*2]
mov word [rax + rcx*8 - 0x16], 0x10
mov edx, dword [r14 + 0x90]
test r13, r13
je 0x14010a358
mov r9, qword [r14 + 0x18]
mov ecx, dword [rsp + 0x74]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x14010a34e
mov r8d, ecx
mov rdx, r14
mov rcx, r9
call fcn.140089cb0
jmp 0x14010a358
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x68]
lea r15, [0x140187330]
test byte [rax + 0x48], 0x20
je 0x14010a41f
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x14010a37c
mov rcx, r15
jmp 0x14010a38c
movsxd rax, dword [rsp + 0x70]
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x40]
mov edx, esi
add eax, r12d
mov r12, qword [rsp + 0x68]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x118]
mov r9d, dword [r12 + 0x40]
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401094c0
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x14010a3ef
xor eax, eax
mov r9d, esi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 9]
call fcn.140089420
and dword [r12 + 0x48], 0xffffffdf
jmp 0x14010a49b
lea eax, [rcx + 1]
xor edx, edx
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
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 [r12 + 0x48], 0xffffffdf
jmp 0x14010a49b
mov r8, qword [rsp + 0x118]
lea edx, [rsi + 1]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [r8 + 4]
cmp dword [r14 + 0x94], ecx
jg 0x14010a454
xor eax, eax
mov r9d, edx
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x27]
call fcn.140089420
jmp 0x14010a482
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi]
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 [r14 + 0x90]
test eax, eax
jle 0x14010a49b
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
mov word [rax + rcx*8 - 0x16], 3
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
je 0x14010a4b0
mov rax, r15
jmp 0x14010a4be
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test ebp, ebp
je 0x14010a4d7
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x14010a4d7
mov dword [rbx + rax*4 + 0xe4], ebp
inc byte [rbx + 0x1f]
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
jne 0x14010a4f7
movsxd rax, dword [rsp + 0x78]
lea rcx, [rax + rax*2]
mov rax, qword [rdi]
lea r15, [rax + rcx*8]
mov dword [r15 + 8], edx
test r13, r13
je 0x14010a50b
mov rcx, qword [rbx]
mov rdx, r13
call fcn.1400a3c70
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret