Function at 0x6e7190
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
mov eax, edx
mov dword [esp + 0x20], ecx
push ebx
push esi
push edi
mov edx, dword [eax]
mov dword [esp + 0x10], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov ebx, dword [edx]
mov dword [esp + 0x34], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov ecx, dword [ebx]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ecx
mov byte [esp + 0xf], 0
cmp byte [ecx + 0x57], 0
jne 0x6e87bd
mov ecx, dword [ebp + 8]
lea esi, [ecx + ecx*2]
shl esi, 4
lea ecx, [edx + 0x1f0]
add esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov edi, dword [esi]
mov dword [ecx], 0
mov dword [esp + 0x40], edi
mov edx, dword [edi + 0xc]
test edx, edx
je 0x6e722b
call fcn.006e8d60
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
jmp 0x6e723b
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov al, byte [edi]
mov byte [esp + 0xe], al
movzx eax, al
mov dword [esp + 0x58], eax
cmp eax, 0x31
jne 0x6e7302
mov edx, edi
mov ecx, ebx
call fcn.00696a40
test eax, eax
jne 0x6e87bd
test dword [edi + 4], 0x1000
mov eax, dword [edi + 0x14]
mov dword [esp + 0x38], eax
je 0x6e7292
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.006e6d30
mov ecx, eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
or ecx, dword [esp + 0x44]
or edx, dword [esp + 0x48]
jmp 0x6e73b6
xor ecx, ecx
xor edx, edx
test eax, eax
je 0x6e72ef
mov dword [esp + 0x54], ecx
cmp dword [eax], ecx
jle 0x6e72ef
xor esi, esi
lea edi, [eax + 8]
xor ebx, ebx
lea esp, [esp]
mov edx, dword [edi]
mov ecx, dword [esp + 0x18]
call fcn.006e8df0
mov ecx, dword [esp + 0x38]
lea edi, [edi + 0x14]
or esi, eax
or ebx, edx
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
cmp eax, dword [ecx]
jl 0x6e72b0
mov edi, dword [esp + 0x40]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
or ecx, dword [esp + 0x44]
or edx, dword [esp + 0x48]
jmp 0x6e73b6
mov edx, dword [edi + 0x10]
test edx, edx
je 0x6e7312
call fcn.006e8d60
mov ecx, eax
jmp 0x6e7316
xor ecx, ecx
xor edx, edx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
cmp dword [edi + 0xc], 0
je 0x6e733b
test dword [edi + 4], 0x41000
jne 0x6e733b
cmp dword [edi + 0x14], 0
jne 0x6e733b
or ecx, dword [esp + 0x44]
or edx, dword [esp + 0x48]
jmp 0x6e73b6
cmp byte [edi], 0xa7
jne 0x6e739a
test byte [edi + 4], 0x20
jne 0x6e739a
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 0x1c]
cmp dword [ecx + 8], edx
jne 0x6e735b
mov ecx, 1
xor edx, edx
jmp 0x6e73b6
mov eax, 1
cmp dword [ecx + 4], eax
jle 0x6e73a3
add ecx, 0xc
cmp dword [ecx], edx
je 0x6e7383
mov ebx, dword [esp + 0x18]
inc eax
add ecx, 4
cmp eax, dword [ebx + 4]
mov ebx, dword [esp + 0x20]
jl 0x6e7368
xor ecx, ecx
xor edx, edx
jmp 0x6e73b6
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x6e73b6
test dword [edi + 4], 0x810000
je 0x6e73a9
xor ecx, ecx
xor edx, edx
jmp 0x6e73b6
mov ecx, dword [esp + 0x18]
mov edx, edi
call fcn.006e8b30
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
cmp dword [eax], 0
je 0x6e73d0
mov eax, 0x1000
or word [esi + 0xa], ax
test byte [edi + 4], 3
je 0x6e7513
mov ebx, dword [esp + 0x18]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x54], eax
cmp dword [ebx + 8], eax
mov eax, 1
jne 0x6e73f9
mov dword [esp + 0x30], 0
jmp 0x6e743d
mov esi, ebx
cmp dword [esi + 4], eax
mov esi, dword [esp + 0x14]
jle 0x6e7437
add ebx, 0xc
mov dword [esp + 0x38], ebx
jmp 0x6e7410
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x54]
cmp dword [esi], edi
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
je 0x6e7497
mov edi, dword [esp + 0x18]
inc eax
add dword [esp + 0x38], 4
cmp eax, dword [edi + 4]
mov edi, dword [esp + 0x40]
jl 0x6e7410
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov ebx, dword [edi + 4]
test bl, 1
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x20]
je 0x6e74c5
or edx, dword [esp + 0x30]
or ecx, eax
add eax, 0xffffffff
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
adc eax, 0xffffffff
mov dword [esp + 0x24], ecx
mov dword [esp + 0x60], eax
mov eax, edx
shrd dword [esp + 0x54], eax, 1
mov dword [esp + 0x28], edx
shr eax, 1
cmp eax, dword [esp + 0x30]
ja 0x6e74f4
jb 0x6e7513
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x38]
jae 0x6e74f4
jmp 0x6e7513
xor ebx, ebx
xor esi, esi
bts ebx, eax
cmp eax, 0x20
cmovae esi, ebx
xor ebx, esi
mov dword [esp + 0x30], esi
cmp eax, 0x40
mov dword [esp + 0x38], ebx
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 0x14]
cmovae ebx, eax
mov dword [esp + 0x30], ebx
jmp 0x6e7441
mov eax, edx
mov dword [esp + 0x54], ecx
shrd dword [esp + 0x54], eax, 1
shr eax, 1
cmp eax, dword [esp + 0x30]
jb 0x6e7513
ja 0x6e74e5
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x38]
jb 0x6e7513
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
jle 0x6e7509
test byte [eax + 0x2c], 0x40
je 0x6e7509
push str.ON_clause_references_tables_to_its_right
push ebx
call fcn.00658480
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x64]
and eax, 0xfffffffd
mov dword [edi + 4], eax
xor eax, eax
mov dword [esi + 0x28], ecx
mov word [esi + 0xc], ax
mov al, byte [esp + 0xe]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
cmp al, 0x31
je 0x6e7ed3
cmp al, 0x35
jb 0x6e7545
cmp al, 0x39
jbe 0x6e7ed3
cmp al, 0x32
je 0x6e7ed3
cmp al, 0x2d
je 0x6e7ed3
mov cl, byte [edi]
cmp cl, 0x30
jne 0x6e773a
mov eax, dword [esp + 0x10]
cmp byte [eax + 8], 0x2c
jne 0x6e7769
mov ecx, dword [ebp + 8]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x48], esi
lea ecx, [ecx + ecx*2]
shl ecx, 4
add eax, 8
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x58], eax
jmp 0x6e7594
mov esi, dword [esp + 0x48]
mov edx, dword [eax]
test edx, edx
je 0x6e75b0
mov ecx, dword [esp + 0x1c]
push 0
push 0
call fcn.006936b0
add esp, 8
mov dword [esp + 0x54], eax
jmp 0x6e75b8
mov dword [esp + 0x54], 0
mov edx, dword [edi + 0xc]
test edx, edx
je 0x6e75d1
mov ecx, dword [esp + 0x1c]
push 0
push 0
call fcn.006936b0
add esp, 8
jmp 0x6e75d3
xor eax, eax
mov ecx, dword [ebx]
mov dword [esp + 0x50], eax
mov al, byte [esi + 0x779a6c]
push 0
push 0x34
mov byte [esp + 0x16], al
call fcn.00654db0
mov esi, eax
add esp, 8
test esi, esi
je 0x6e7696
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov al, byte [esp + 0x1a]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ecx, ecx
je 0x6e7631
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x6e7636
mov ecx, 1
mov dword [esi + 0x18], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
test edx, edx
je 0x6e7666
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
mov dword [esp + 0x54], ecx
or dword [esi + 4], eax
mov eax, dword [edx + 0x18]
cmp eax, ecx
jl 0x6e7666
inc eax
mov dword [esp + 0x54], eax
mov dword [esi + 0x18], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp dword [esp + 0x54], eax
jle 0x6e7683
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00658480
add esp, 0xc
mov eax, dword [edi + 4]
and eax, 3
je 0x6e76b8
or dword [esi + 4], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x24], eax
jmp 0x6e76b8
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6e76a7
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6e76b8
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov ecx, dword [esp + 0x10]
mov edx, esi
push 3
call fcn.006e5ad0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov esi, eax
push esi
call fcn.006e7190
mov eax, dword [esp + 0x14]
lea edx, [esi + esi*2]
mov esi, dword [esp + 0x14]
add edx, edx
add esp, 4
mov ecx, dword [eax + 0x18]
mov eax, dword [esp + 0x4c]
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ecx + edx*8 + 0x10], eax
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x4c]
mov ax, word [ecx + eax + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x4c]
inc byte [eax + ecx + 0xe]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
inc ecx
add eax, 0x14
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], eax
cmp ecx, 2
jl 0x6e7590
jmp 0x6e820f
cmp cl, 0x2b
jne 0x6e7765
push dword [ebp + 8]
mov esi, dword [esp + 0x14]
mov edx, esi
mov ecx, dword [esp + 0x30]
call fcn.006e6290
mov ecx, dword [ebp + 8]
add esp, 4
lea edx, [ecx + ecx*2]
shl edx, 4
add edx, dword [esi + 0x18]
jmp 0x6e8213
mov eax, dword [esp + 0x10]
cmp cl, 0x33
jne 0x6e796f
mov eax, dword [edi + 0xc]
mov dword [esp + 0x4c], eax
cmp byte [eax], 0xa7
jne 0x6e820b
cmp word [eax + 0x20], 0
jl 0x6e820b
test byte [edi + 4], 1
jne 0x6e820b
mov ecx, dword [esp + 0x1c]
push 0
push 0x34
call fcn.00654db0
mov esi, eax
add esp, 8
mov dword [esp + 0x54], esi
lea eax, [esi + 0x18]
mov dword [esp + 0x58], eax
test esi, esi
je 0x6e77d8
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [esi], 0x79
or eax, 0xffffffff
mov dword [esi + 0x18], 1
mov word [esi + 0x22], ax
jmp 0x6e77dc
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x6e77f8
mov ecx, dword [esp + 0x1c]
mov edx, eax
push 0
push 0
call fcn.006936b0
add esp, 8
jmp 0x6e77fa
xor eax, eax
mov ecx, dword [ebx]
push 0
push 0x34
mov dword [esp + 0x58], eax
call fcn.00654db0
mov esi, eax
add esp, 8
test esi, esi
je 0x6e78a0
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x60]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x36
mov word [esi + 0x22], ax
test edx, edx
je 0x6e784c
mov dword [esi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [esp + 0x58]
mov edx, dword [eax]
inc edx
jmp 0x6e7851
mov edx, 1
mov dword [esi + 0x18], edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], edx
test ecx, ecx
je 0x6e7881
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
mov dword [esp + 0x54], edx
or dword [esi + 4], eax
mov eax, dword [ecx + 0x18]
cmp eax, edx
jl 0x6e7881
inc eax
mov dword [esp + 0x54], eax
mov dword [esi + 0x18], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp dword [esp + 0x54], eax
jle 0x6e78c0
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00658480
add esp, 0xc
jmp 0x6e78c0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6e78b1
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov edx, dword [esp + 0x54]
test edx, edx
je 0x6e78c0
mov ecx, dword [ebx]
call fcn.006934d0
mov edx, esi
mov esi, dword [esp + 0x10]
push 0x83
mov ecx, esi
call fcn.006e5ad0
add esp, 4
test eax, eax
je 0x6e820f
mov esi, dword [esi + 0x18]
lea edx, [eax + eax*2]
mov ecx, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
shl edx, 4
add esi, edx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x14], eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x18], eax
mov eax, 4
mov word [esi + 0xc], ax
mov eax, dword [ecx + 0x18]
mov dword [eax + edx + 0x10], edi
mov eax, edi
mov ecx, dword [ecx + 0x18]
lea eax, [eax + eax*2]
add eax, eax
mov ax, word [ecx + eax*8 + 8]
mov word [edx + ecx + 8], ax
mov edx, edi
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
lea ecx, [edx + edx*2]
mov eax, dword [eax + 0x18]
lea edx, [edx + edx*2]
add ecx, ecx
shl edx, 4
inc byte [eax + ecx*8 + 0xe]
mov eax, dword [esp + 0x10]
add edx, dword [eax + 0x18]
or word [edx + 0xa], 8
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x10]
jmp 0x6e8213
cmp cl, 0xac
jne 0x6e820b
cmp byte [eax + 8], 0x2c
jne 0x6e8289
lea eax, [esp + 0x50]
mov edx, edi
push eax
lea eax, [esp + 0x50]
mov ecx, ebx
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.006e5c50
add esp, 0xc
test eax, eax
je 0x6e820b
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x6e79d3
push 0
mov edx, ecx
mov ecx, dword [esp + 0x20]
push 0
call fcn.006936b0
mov ecx, dword [esp + 0x3c]
add esp, 8
mov dword [esp + 0x38], eax
jmp 0x6e79db
mov dword [esp + 0x38], 0
cmp dword [esp + 0x50], 0
je 0x6e7a4b
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x6e7a4b
mov eax, 0x400
or word [esi + 0xa], ax
xor esi, esi
mov ecx, dword [ecx + 8]
mov dword [esp + 0x64], ecx
mov cl, byte [ecx]
test cl, cl
je 0x6e7a4b
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
lea ebx, [ebx]
movzx edx, cl
lea esi, [esi + 1]
movzx eax, byte [edx + 0x7fbcb8]
and al, 0x20
not al
and al, cl
mov byte [esi + edi - 1], al
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 8]
movzx eax, byte [edx + 0x7fc958]
mov byte [esi + ecx - 1], al
mov edi, dword [ebx + 8]
mov cl, byte [edi + esi]
test cl, cl
jne 0x6e7a10
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x57], 0
jne 0x6e7ab6
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 8]
test edx, edx
jne 0x6e7a64
xor ecx, ecx
jmp 0x6e7a7f
mov ecx, edx
lea esi, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x6e7a70
sub ecx, esi
and ecx, 0x3fffffff
cmp dword [esp + 0x50], 0
mov al, byte [edx + ecx - 1]
mov esi, dword [esp + 0x4c]
je 0x6e7aa6
cmp al, 0x40
mov dword [esp + 0x64], 0
movzx eax, al
cmove esi, dword [esp + 0x64]
mov al, byte [eax + 0x7fc958]
inc al
mov dword [esp + 0x4c], esi
mov byte [edx + ecx - 1], al
mov ecx, dword [esp + 0x1c]
jmp 0x6e7abe
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x50], 0
mov eax, 0x7fc3dc
mov esi, str.NOCASE
cmove esi, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x50], esi
test eax, eax
je 0x6e7af0
push 0
push 0
mov edx, eax
call fcn.006936b0
add esp, 8
mov dword [esp + 0x40], eax
jmp 0x6e7af8
mov dword [esp + 0x40], 0
lea ecx, [esi + 1]
jmp 0x6e7b00
mov al, byte [esi]
inc esi
test al, al
jne 0x6e7b00
sub esi, ecx
and esi, 0x3fffffff
jbe 0x6e7b7c
mov ecx, dword [ebx]
lea eax, [esi + 0x35]
push 0
push eax
call fcn.00654db0
add esp, 8
mov dword [esp + 0x58], eax
test eax, eax
je 0x6e7b7c
push 0x34
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x64]
add esp, 0xc
or eax, 0xffffffff
push esi
push dword [esp + 0x54]
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x34]
push eax
mov byte [ecx], 0x71
mov dword [ecx + 8], eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x64]
add esp, 0xc
mov eax, dword [ecx + 8]
mov byte [esi + eax], 0
mov eax, dword [esp + 0x40]
or dword [ecx + 4], 0x2200
mov dword [ecx + 0x18], 1
mov dword [ecx + 0xc], eax
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.00654db0
mov esi, eax
add esp, 8
test esi, esi
je 0x6e7c2c
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x40]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x39
mov word [esi + 0x22], ax
test ecx, ecx
je 0x6e7bc7
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov edx, dword [ecx + 0x18]
inc edx
jmp 0x6e7bcc
mov edx, 1
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x18], edx
mov dword [esp + 0x54], edx
test ecx, ecx
je 0x6e7bfc
mov dword [esi + 0xc], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
mov dword [esp + 0x54], edx
or dword [esi + 4], eax
mov eax, dword [ecx + 0x18]
cmp eax, edx
jl 0x6e7bfc
inc eax
mov dword [esp + 0x54], eax
mov dword [esi + 0x18], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp dword [esp + 0x54], eax
jle 0x6e7c19
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00658480
add esp, 0xc
mov eax, dword [edi + 4]
and eax, 3
je 0x6e7c4e
or dword [esi + 4], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x24], eax
jmp 0x6e7c4e
mov eax, dword [esp + 0x40]
test eax, eax
je 0x6e7c3d
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x6e7c4e
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov edx, esi
mov esi, dword [esp + 0x10]
push 0x103
mov ecx, esi
call fcn.006e5ad0
mov dword [esp + 0x48], eax
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x6e7c87
mov ecx, dword [esp + 0x1c]
mov edx, eax
push 0
push 0
call fcn.006936b0
add esp, 8
mov dword [esp + 0x40], eax
jmp 0x6e7c8f
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x50]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x6e7c96
sub ecx, edx
and ecx, 0x3fffffff
mov dword [esp + 0x54], ecx
jbe 0x6e7d1d
lea eax, [ecx + 0x35]
mov ecx, dword [ebx]
push 0
push eax
call fcn.00654db0
add esp, 8
mov dword [esp + 0x58], eax
test eax, eax
je 0x6e7d1d
push 0x34
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x64]
add esp, 0xc
or eax, 0xffffffff
push dword [esp + 0x54]
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x34]
push dword [esp + 0x54]
mov byte [ecx], 0x71
push eax
mov dword [ecx + 8], eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x64]
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + 8]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x40]
or dword [edx + 4], 0x2200
mov dword [edx + 0x18], 1
mov dword [edx + 0xc], eax
mov dword [esp + 0x40], edx
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.00654db0
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
je 0x6e7de9
push 0x34
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x5c]
or eax, 0xffffffff
mov edx, dword [esp + 0x44]
add esp, 0xc
mov byte [ecx], 0x38
mov word [ecx + 0x22], ax
test edx, edx
je 0x6e7d6e
mov dword [ecx + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx + 4], eax
mov eax, dword [edx + 0x18]
inc eax
jmp 0x6e7d73
mov eax, 1
mov edx, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov dword [ecx + 0x18], eax
mov dword [esp + 0x54], eax
test edx, edx
je 0x6e7db3
mov dword [ecx + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
or dword [ecx + 4], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
mov edx, eax
cmp dword [esp + 0x54], eax
jl 0x6e7db7
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x54]
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp edx, eax
jle 0x6e7dd6
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00658480
mov ecx, dword [esp + 0x5c]
add esp, 0xc
mov eax, dword [edi + 4]
and eax, 3
je 0x6e7e0b
or dword [ecx + 4], eax
mov eax, dword [edi + 0x24]
mov dword [ecx + 0x24], eax
jmp 0x6e7e0b
mov eax, dword [esp + 0x40]
test eax, eax
je 0x6e7dfa
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x6e7e0b
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov edx, dword [esp + 0x50]
mov ecx, esi
push 0x103
call fcn.006e5ad0
mov ecx, dword [esp + 0x30]
add esp, 4
mov edx, esi
mov dword [esp + 0x58], eax
push dword [esp + 0x44]
call fcn.006e7190
mov ecx, dword [esp + 0x30]
add esp, 4
mov edx, esi
push dword [esp + 0x58]
call fcn.006e7190
mov ecx, dword [ebp + 8]
add esp, 4
mov eax, dword [esi + 0x18]
lea edx, [ecx + ecx*2]
shl edx, 4
add edx, eax
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x14], edx
je 0x6e8213
mov ecx, dword [esp + 0x44]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x18]
lea eax, [eax + eax*2]
add eax, eax
movzx eax, word [ecx + eax*8 + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x18]
add ecx, ecx
inc byte [eax + ecx*8 + 0xe]
mov eax, dword [esp + 0x58]
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x18]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x18]
lea eax, [eax + eax*2]
add eax, eax
movzx eax, word [ecx + eax*8 + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x18]
add ecx, ecx
inc byte [eax + ecx*8 + 0xe]
jmp 0x6e820f
mov edx, dword [edi + 0xc]
mov dword [esp + 0x50], edx
test edx, edx
je 0x6e7ef4
mov edi, edi
test dword [edx + 4], 0x2000
je 0x6e7ef0
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x6e7ee0
mov dword [esp + 0x50], edx
mov eax, dword [edi + 0x10]
mov dword [esp + 0x54], eax
test eax, eax
je 0x6e7f14
nop
test dword [eax + 4], 0x2000
je 0x6e7f10
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x6e7f00
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esi + 0x24]
and ecx, dword [esi + 0x20]
and eax, dword [esp + 0x48]
or ecx, eax
mov dword [esp + 0x4c], 0x3fff
je 0x6e7f36
mov dword [esp + 0x4c], 0x800
mov eax, dword [esi + 0x1c]
test eax, eax
jle 0x6e7f4b
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x14]
mov edx, dword [eax + ecx*4 - 0xc]
mov dword [esp + 0x50], edx
push dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
push edx
lea edx, [esp + 0x40]
call fcn.006e70f0
add esp, 8
test eax, eax
je 0x6e7fb1
mov eax, dword [esp + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x18], eax
mov al, byte [esp + 0xe]
cmp al, 0x31
jne 0x6e7f81
mov eax, 1
jmp 0x6e7fa9
cmp al, 0x32
jne 0x6e7f8c
mov eax, 0x100
jmp 0x6e7fa9
cmp al, 0x2d
jne 0x6e7f97
mov eax, 0x80
jmp 0x6e7fa9
mov ecx, dword [esp + 0x58]
mov eax, 2
lea ecx, [ecx - 0x35]
shl ax, cl
movzx eax, ax
and eax, dword [esp + 0x4c]
mov word [esi + 0xc], ax
cmp byte [esp + 0xe], 0x2d
mov eax, 0x800
jne 0x6e7fc1
or word [esi + 0xa], ax
mov eax, dword [esp + 0x54]
test eax, eax
je 0x6e8236
push dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x3c]
push eax
call fcn.006e70f0
add esp, 8
test eax, eax
je 0x6e8236
mov eax, dword [esp + 0x54]
test byte [eax + 4], 0x20
jne 0x6e8236
cmp dword [esi + 0x14], 0
mov dword [esp + 0x40], 0
jl 0x6e80db
mov esi, dword [esp + 0x1c]
mov edx, edi
push 0
push 0
mov ecx, esi
call fcn.006936b0
add esp, 8
mov dword [esp + 0x58], eax
cmp byte [esi + 0x57], 0
je 0x6e8040
test eax, eax
je 0x6e87bd
mov edx, eax
mov ecx, esi
call fcn.006934d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x10]
mov edx, eax
push 3
mov ecx, esi
call fcn.006e5ad0
add esp, 4
test eax, eax
je 0x6e87bd
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x18]
shl edx, 4
add eax, edx
mov dword [esp + 0x54], eax
mov dword [eax + 0x10], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x18]
lea eax, [eax + eax*2]
add eax, eax
mov ax, word [ecx + eax*8 + 8]
mov word [ecx + edx + 8], ax
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x18]
lea ecx, [edx + edx*2]
add ecx, ecx
inc byte [eax + ecx*8 + 0xe]
cmp byte [esp + 0xe], 0x2d
jne 0x6e80a7
mov esi, dword [esp + 0x54]
mov eax, 0x800
or word [esi + 0xa], ax
mov eax, dword [esp + 0x10]
lea esi, [edx + edx*2]
mov edx, dword [esp + 0x58]
mov ecx, ebx
shl esi, 4
add esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
or word [esi + 0xa], 8
call fcn.006e6c20
test eax, eax
je 0x6e80e3
mov eax, 0x800
or word [esi + 0xc], ax
mov dword [esp + 0x40], eax
jmp 0x6e80e3
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x58]
mov edx, dword [esi + 0xc]
cmp byte [edx], 0xb1
je 0x6e8177
mov eax, dword [esi + 0x10]
mov dword [esp + 0x64], eax
cmp byte [eax], 0xb1
je 0x6e8177
test dword [edx + 4], 0x200
jne 0x6e812c
test eax, eax
je 0x6e8119
test dword [eax + 4], 0x200
je 0x6e8119
mov edx, eax
jmp 0x6e812c
mov ecx, ebx
call fcn.00691c50
mov dword [esp + 0x50], eax
test eax, eax
jne 0x6e8137
mov edx, dword [esp + 0x64]
mov ecx, ebx
call fcn.00691c50
mov dword [esp + 0x50], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x64], eax
test dword [edx + 4], 0x200
jne 0x6e816a
test eax, eax
je 0x6e815b
test dword [eax + 4], 0x200
je 0x6e815b
mov edx, eax
jmp 0x6e816a
mov ecx, ebx
call fcn.00691c50
test eax, eax
jne 0x6e8171
mov edx, dword [esp + 0x64]
mov ecx, ebx
call fcn.00691c50
cmp dword [esp + 0x50], eax
je 0x6e817e
xor dword [esi + 4], 0x400
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x10], eax
mov al, byte [esi]
mov dword [esi + 0xc], ecx
cmp al, 0x36
jb 0x6e8198
sub al, 0x36
xor al, 2
add al, 0x36
mov byte [esi], al
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
or ecx, dword [esp + 0x60]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x5c]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x2c], eax
movzx ecx, byte [esi]
cmp ecx, 0x31
jne 0x6e81db
lea eax, [ecx - 0x30]
jmp 0x6e81ff
cmp ecx, 0x32
jne 0x6e81e7
mov eax, 0x100
jmp 0x6e81ff
cmp ecx, 0x2d
jne 0x6e81f1
lea eax, [ecx + 0x53]
jmp 0x6e81ff
mov eax, 2
add ecx, 0xffffffcb
shl ax, cl
movzx eax, ax
add eax, dword [esp + 0x40]
and eax, dword [esp + 0x4c]
mov word [edx + 0xc], ax
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov al, byte [edi]
cmp al, 0x35
je 0x6e8221
cmp al, 0x2d
jne 0x6e847b
mov ecx, dword [edi + 0xc]
mov al, byte [ecx]
cmp al, 0xb0
jne 0x6e822d
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x6e8293
mov ecx, dword [ecx + 0x14]
jmp 0x6e82a1
cmp byte [esp + 0xe], 0x32
jne 0x6e820b
mov eax, dword [edi + 4]
mov dword [esp + 0x64], eax
test al, 1
jne 0x6e820b
mov ecx, dword [esp + 0x50]
call fcn.00694d60
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x6e828d
mov eax, dword [esp + 0x64]
or eax, 0x20000000
mov byte [edi], 0xaa
mov dword [edi + 4], eax
xor eax, eax
mov dword [edi + 8], str.false
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov word [esi + 0xc], ax
mov esi, dword [esp + 0x10]
jmp 0x6e8213
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
jmp 0x6e8213
cmp al, 0x8a
jne 0x6e847b
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx]
mov dword [esp + 0x4c], ecx
cmp ecx, 1
jle 0x6e847b
mov eax, dword [edi + 0x10]
mov bl, byte [eax]
mov byte [esp + 0xe], bl
cmp bl, 0xb0
mov ebx, dword [esp + 0x20]
jne 0x6e82cd
mov bl, byte [eax + 2]
mov byte [esp + 0xe], bl
mov ebx, dword [esp + 0x20]
cmp byte [esp + 0xe], 0xb1
jne 0x6e82d9
mov eax, dword [eax + 0x14]
jmp 0x6e82ea
cmp byte [esp + 0xe], 0x8a
jne 0x6e847b
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], ecx
jne 0x6e847b
mov eax, dword [edi + 0xc]
test dword [eax + 4], 0x1000
je 0x6e830e
mov eax, dword [edi + 0x10]
test dword [eax + 4], 0x1000
jne 0x6e847b
cmp byte [esi + 8], 0x2c
jne 0x6e847b
xor eax, eax
mov dword [esp + 0x54], eax
mov edi, edi
mov edx, dword [edi + 0xc]
push ecx
push eax
mov ecx, ebx
call fcn.00692090
push dword [esp + 0x54]
mov edx, dword [edi + 0x10]
mov ecx, ebx
push dword [esp + 0x60]
mov dword [esp + 0x60], eax
call fcn.00692090
mov ecx, dword [ebx]
mov dword [esp + 0x68], eax
mov al, byte [edi]
push 0
push 0x34
mov byte [esp + 0x27], al
call fcn.00654db0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x6e8401
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov al, byte [esp + 0x1b]
add esp, 0xc
mov ecx, dword [esp + 0x58]
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ecx, ecx
je 0x6e839c
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x6e83a1
mov ecx, 1
mov dword [esi + 0x18], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x58], ecx
test edx, edx
je 0x6e83d1
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x400208
mov dword [esp + 0x58], ecx
or dword [esi + 4], eax
mov eax, dword [edx + 0x18]
cmp eax, ecx
jl 0x6e83d1
inc eax
mov dword [esp + 0x58], eax
mov dword [esi + 0x18], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp dword [esp + 0x58], eax
jle 0x6e83ee
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00658480
add esp, 0xc
mov eax, dword [edi + 4]
and eax, 3
je 0x6e8423
or dword [esi + 4], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x24], eax
jmp 0x6e8423
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6e8412
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6e8423
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
mov edx, esi
mov esi, dword [esp + 0x10]
push 0x8001
mov ecx, esi
call fcn.006e5ad0
mov ecx, dword [esp + 0x30]
add esp, 4
mov edx, esi
push eax
call fcn.006e7190
mov eax, dword [esp + 0x58]
add esp, 4
mov ecx, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x54], eax
cmp eax, ecx
jl 0x6e8320
mov eax, dword [ebp + 8]
mov ecx, 0x2000
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esi + 0x18]
or word [eax + 0xa], 6
mov word [eax + 0xc], cx
jmp 0x6e87a3
cmp byte [edi], 0x31
jne 0x6e8578
cmp dword [edx + 0x1c], 0
jne 0x6e8578
mov eax, dword [edi + 0xc]
cmp byte [eax], 0xb1
jne 0x6e8578
test dword [edi + 4], 0x1000
je 0x6e8578
mov eax, dword [edi + 0x14]
cmp dword [eax + 0x34], 0
je 0x6e84bd
test dword [eax + 4], 0x200
je 0x6e8578
cmp dword [eax + 0x44], 0
jne 0x6e8578
cmp byte [esi + 8], 0x2c
jne 0x6e87a3
mov eax, dword [ebp + 8]
xor ebx, ebx
lea eax, [eax + eax*2]
shl eax, 4
mov dword [esp + 0x64], eax
mov ecx, dword [edi + 0xc]
mov al, byte [ecx]
cmp al, 0xb0
jne 0x6e84ec
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x6e84f7
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x6e850a
cmp al, 0x8a
jne 0x6e8505
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x6e850a
mov eax, 1
cmp ebx, eax
jge 0x6e87a3
push 0x8002
mov edx, edi
mov ecx, esi
call fcn.006e5ad0
inc ebx
add esp, 4
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x58]
lea esi, [eax + eax*2]
add esi, esi
push eax
mov ecx, dword [ebx + 0x18]
mov dword [ecx + esi*8 + 0x1c], edx
mov edx, ebx
mov ecx, dword [esp + 0x30]
call fcn.006e7190
mov eax, dword [ebx + 0x18]
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x64]
mov dword [eax + esi*8 + 0x10], ecx
mov ecx, dword [ebx + 0x18]
mov ax, word [edx + ecx + 8]
mov word [ecx + esi*8 + 8], ax
mov esi, ebx
mov ebx, dword [esp + 0x58]
mov eax, dword [esi + 0x18]
inc byte [eax + edx + 0xe]
jmp 0x6e84e0
cmp byte [esi + 8], 0x2c
jne 0x6e87a3
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x5c], 0
push eax
lea eax, [esp + 0x17]
mov dword [esp + 0x5c], 0
push eax
mov edx, edi
call fcn.006e60d0
add esp, 0xc
test eax, eax
jle 0x6e87a3
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x44], esi
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov dword [esp + 0x4c], ecx
mov cl, byte [esp + 0xf]
mov byte [esp + 0xf], cl
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ecx
lea esp, [esp]
dec eax
mov dword [esp + 0x64], eax
test esi, esi
je 0x6e8602
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.006e8d60
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
jmp 0x6e8612
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
test ecx, ecx
je 0x6e8623
mov edx, ecx
mov ecx, dword [esp + 0x18]
call fcn.006e8d60
jmp 0x6e8627
xor eax, eax
xor edx, edx
and eax, dword [esp + 0x54]
and edx, dword [esp + 0x50]
or eax, edx
jne 0x6e8783
test esi, esi
je 0x6e864d
mov ecx, dword [esp + 0x1c]
mov edx, esi
push eax
push eax
call fcn.006936b0
add esp, 8
jmp 0x6e864f
xor eax, eax
mov ecx, dword [ebx]
push 0
push 0x34
mov dword [esp + 0x60], eax
call fcn.00654db0
mov esi, eax
add esp, 8
test esi, esi
je 0x6e86c4
push 0x34
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x64]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x2e
mov word [esi + 0x22], ax
lea edx, [eax + 0x19]
test ecx, ecx
je 0x6e869d
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x6e86a2
mov ecx, 1
mov eax, esi
mov dword [eax + edx], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x6e86d5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00658480
add esp, 0xc
jmp 0x6e86d5
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6e86d5
mov ecx, dword [ebx]
mov edx, eax
call fcn.006934d0
test byte [edi + 4], 1
je 0x6e86e9
test esi, esi
je 0x6e86e9
or dword [esi + 4], 1
mov eax, dword [edi + 0x24]
mov dword [esi + 0x24], eax
mov ecx, dword [esp + 0x10]
mov edx, esi
push 3
call fcn.006e5ad0
mov ecx, dword [esp + 0x14]
add esp, 4
mov ebx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
mov esi, dword [ecx + 0x18]
shl edx, 4
add esi, edx
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x48]
movsx eax, word [eax + 0x20]
mov dword [esi + 0x18], eax
mov eax, 0x40
mov word [esi + 0xc], ax
mov al, byte [esp + 0xf]
mov byte [esi + 0xf], al
mov eax, dword [ecx + 0x18]
mov dword [eax + edx + 0x10], ebx
mov ecx, dword [ecx + 0x18]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x20]
mov ax, word [eax + ecx + 8]
mov word [edx + ecx + 8], ax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x18]
inc byte [eax + edx + 0xe]
mov ecx, dword [ecx + 0x18]
add ecx, edx
or word [ecx + 0xa], 8
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, esi
mov esi, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x44], esi
test eax, eax
jg 0x6e85e0
mov esi, dword [esp + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x5c]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esi + 0x18]
or dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x60]
or dword [eax + 0x24], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret