Function at 0x640f40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
cmp byte [edx + 0x791860], 0
mov eax, ecx
push ebx
push esi
push edi
mov esi, dword [eax]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
jne 0x640f77
cmp esi, dword [eax + 0x4b8]
jb 0x640f77
call fcn.00640ef0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x144
ja case.0x640f8a.218
movzx eax, byte [edx + 0x644c54]
jmp dword [eax*4 + 0x6448cc]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xcb], 1
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xcb], 2
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
call fcn.005fa650
jmp case.0x640f8a.218
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
call fcn.00601e10
jmp case.0x640f8a.218
mov dword [esi + 0x10], 7
jmp case.0x640f8a.218
movzx eax, word [esi + 2]
mov dword [esi + 4], eax
jmp case.0x640f8a.218
movzx ecx, word [esi - 0xa]
xor eax, eax
mov ebx, dword [ebp + 0xc]
cmp ecx, 0xc
push 0
sete al
mov edx, str.COMMIT
mov dword [esp + 0x1c], eax
mov ecx, ebx
mov eax, str.ROLLBACK
cmovne eax, edx
mov edx, 0x16
push 0
push eax
call fcn.005fa470
add esp, 0xc
test eax, eax
jne case.0x640f8a.218
mov edi, dword [ebx + 8]
test edi, edi
jne 0x641049
cmp dword [ebx + 0x74], edi
jne 0x641038
mov eax, dword [ebx]
test byte [eax + 0x4c], 8
jne 0x641038
mov byte [ebx + 0x17], 1
mov ecx, ebx
call fcn.005d64e0
mov edi, eax
test edi, edi
je case.0x640f8a.218
mov ecx, dword [edi + 0x6c]
mov edx, dword [esp + 0x18]
cmp dword [edi + 0x70], ecx
jg 0x64106e
push 0
push edx
push 1
mov edx, 1
mov ecx, edi
call fcn.005d6700
add esp, 0xc
jmp case.0x640f8a.218
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 1
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
xor edx, edx
call fcn.00601f90
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
mov edx, 1
call fcn.00601f90
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
mov edx, 2
call fcn.00601f90
add esp, 4
jmp case.0x640f8a.218
push dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push 0
push 0
push dword [esi - 0x2c]
lea edx, [esi - 8]
push eax
call fcn.005fba10
add esp, 0x14
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
inc byte [eax + 0x18]
inc dword [ecx + 0x118]
xor eax, eax
mov word [ecx + 0x11c], ax
jmp case.0x640f8a.218
mov dword [esi - 0x14], 1
jmp case.0x640f8a.218
movzx eax, byte [esi + 4]
lea edx, [esi - 0x14]
mov ecx, dword [ebp + 0xc]
push 0
push eax
lea eax, [esi - 8]
push eax
call fcn.005fd920
add esp, 0xc
jmp case.0x640f8a.218
push dword [esi + 4]
mov edi, dword [ebp + 0xc]
xor edx, edx
push 0
push 0
mov ecx, edi
call fcn.005fd920
mov edx, dword [esi + 4]
add esp, 0xc
test edx, edx
je case.0x640f8a.218
mov ecx, dword [edi]
push 1
call fcn.006187b0
add esp, 4
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
cmp eax, 5
jne 0x6411ed
mov edi, dword [esi + 4]
mov edx, eax
test edi, edi
je 0x6411ed
mov ebx, str.rowid
nop dword [eax]
mov al, byte [edi]
dec edx
test al, al
je 0x6411c2
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x792808]
cmp al, byte [ecx + 0x792808]
jne 0x6411c2
inc edi
inc ebx
test edx, edx
jg 0x6411a0
dec edx
test edx, edx
js 0x6411de
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x792808]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x792808]
sub eax, ecx
jne 0x6411ea
mov dword [esi - 8], 0x280
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
push dword [esi + 4]
mov dword [esi - 8], 0
push eax
push str.unknown_table_option:__.s
push dword [ebp + 0xc]
call fcn.005b9110
add esp, 0x10
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
lea edx, [esi - 8]
call fcn.005fc400
add esp, 4
jmp case.0x640f8a.218
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
sub eax, dword [esi - 0x20]
add eax, dword [esi + 4]
mov dword [esi - 0x1c], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
sub eax, dword [esi - 0x38]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
sub eax, dword [esi - 8]
add eax, dword [esi + 4]
mov dword [esi - 4], eax
jmp case.0x640f8a.218
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x10], eax
jmp case.0x640f8a.218
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x14], eax
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x4c], eax
jmp case.0x640f8a.218
mov ecx, dword [esi - 8]
mov eax, dword [esi - 4]
mov edx, dword [esi + 4]
add eax, ecx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.005fc780
add esp, 8
jmp case.0x640f8a.218
mov eax, dword [esi - 0x14]
push dword [esi + 4]
mov edx, dword [esi - 8]
inc eax
mov ecx, dword [ebp + 0xc]
push eax
call fcn.005fc780
add esp, 8
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
add eax, dword [esi - 4]
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0xc]
push eax
push dword [esi - 0x14]
call fcn.005fc780
add esp, 8
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esi + 4]
push 0
push 0x34
mov ecx, dword [ecx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x641357
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0xaa
add esp, 0xc
mov word [edi + 0x22], ax
test ebx, ebx
je 0x641332
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x641367
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edx
call fcn.005b9110
add esp, 0xc
jmp 0x641367
test ebx, ebx
je 0x641367
mov eax, dword [ebp + 0xc]
mov edx, ebx
mov ecx, dword [eax]
call fcn.005ec4f0
mov eax, dword [esi - 8]
mov edx, edi
add eax, dword [esi - 4]
mov ecx, dword [ebp + 0xc]
push eax
push dword [esi - 0x14]
call fcn.005fc780
add esp, 8
jmp case.0x640f8a.218
push dword [esi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, 0x73
push dword [esi + 4]
call fcn.00640c10
mov edi, eax
add esp, 8
test edi, edi
je 0x6413be
mov ebx, dword [edi + 4]
test ebx, 0x4000000
jne 0x6413be
mov ecx, dword [edi + 8]
call fcn.005ed570
test eax, eax
je 0x6413be
or eax, ebx
mov byte [edi], 0xa7
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 0xc]
add eax, edx
push eax
push edx
mov edx, edi
call fcn.005fc780
add esp, 8
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0xe8]
test edi, edi
je case.0x640f8a.218
movzx eax, word [edi + 0x2a]
cmp ax, 1
jl case.0x640f8a.218
cwde
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [eax + ecx*4]
mov al, byte [esi + 4]
mov byte [ecx - 8], al
or dword [edi + 0x24], 0x800
test byte [ecx - 4], 8
je case.0x640f8a.218
mov edx, dword [edi + 8]
test edx, edx
je case.0x640f8a.218
mov eax, dword [edx + 4]
movsx ecx, word [eax]
movsx eax, word [edi + 0x2a]
dec eax
cmp ecx, eax
jne 0x641438
or dword [edx + 0x38], 8
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x641425
jmp case.0x640f8a.218
push dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
xor edx, edx
push dword [esi + 4]
push dword [esi - 8]
call fcn.005fc910
add esp, 0xc
jmp case.0x640f8a.218
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
push 0
mov ecx, dword [ebp + 0xc]
xor edx, edx
push 0
push 0
call fcn.005fffa0
add esp, 0x24
jmp case.0x640f8a.218
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
call fcn.005fcbc0
jmp case.0x640f8a.218
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 0x14]
push dword [esi - 8]
xor edx, edx
push eax
call fcn.005ff210
add esp, 0xc
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xe8]
test eax, eax
je case.0x640f8a.218
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.0x640f8a.218
mov al, byte [esi + 4]
mov byte [ecx + 0x18], al
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
lea ecx, [esi + 4]
mov eax, dword [ebx + 0xe8]
mov dword [esp + 0x10], eax
test eax, eax
je case.0x640f8a.218
movsx eax, word [eax + 0x2a]
mov edx, dword [ebx]
dec eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
test ecx, ecx
je case.0x640f8a.218
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x64151b
xor edi, edi
jmp 0x64154f
mov ecx, eax
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edx
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x64154f
push dword [esp + 0x18]
push dword [esp + 0x24]
push edi
call fcn.006e8ef0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov byte [eax + edi], 0
mov ecx, edi
call fcn.005b9170
test edi, edi
je case.0x640f8a.218
mov ecx, dword [ebx]
mov bl, byte [ecx + 0xa5]
mov bh, byte [ecx + 0x4e]
movzx eax, bl
mov dl, bh
push eax
push edi
call fcn.00602cc0
add esp, 8
test bl, bl
jne 0x641595
test eax, eax
je 0x641586
cmp dword [eax + 0xc], 0
jne 0x641595
mov ecx, dword [ebp + 0xc]
mov dl, bh
push edi
push eax
call fcn.00602e10
add esp, 8
test eax, eax
je 0x641616
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea eax, [ecx + ecx*4]
mov edx, dword [ebx + 4]
shl eax, 2
mov dword [esp + 0x18], eax
mov ebx, dword [edx + eax + 8]
test ebx, ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x10]
je 0x6415d6
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
call fcn.005b5a40
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [edx + eax + 8], edi
mov edx, dword [ebx + 8]
test edx, edx
je case.0x640f8a.218
mov edi, dword [esp + 0x18]
nop dword [eax]
mov eax, dword [edx + 4]
movsx eax, word [eax]
cmp eax, ecx
jne 0x64160a
mov eax, dword [ebx + 4]
mov ecx, dword [edx + 0x20]
mov eax, dword [edi + eax + 8]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x6415f0
jmp case.0x640f8a.218
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.005b5a40
jmp case.0x640f8a.218
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
push 0
call fcn.005fcc40
add esp, 4
jmp case.0x640f8a.218
mov edx, dword [esi - 0x14]
lea eax, [esi + 4]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.005fcc40
add esp, 4
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
not eax
and eax, dword [esi - 8]
or eax, dword [esi + 4]
mov dword [esi - 8], eax
jmp case.0x640f8a.218
mov dword [esi - 8], 0
mov dword [esi - 4], 0
jmp case.0x640f8a.218
mov dword [esi - 0x14], 0
mov dword [esi - 0x10], 0
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], 0xff
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
shl eax, 8
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], 0xff00
jmp case.0x640f8a.218
mov dword [esi - 8], 8
jmp case.0x640f8a.218
mov dword [esi - 8], 9
jmp case.0x640f8a.218
mov dword [esi + 4], 0xa
jmp case.0x640f8a.218
mov dword [esi + 4], 7
jmp case.0x640f8a.218
mov dword [esi - 0x14], 0
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x4c], 0
jmp case.0x640f8a.218
mov edx, dword [esi - 0x20]
mov ecx, dword [ebp + 0xc]
push 0
push dword [esi - 0x14]
push dword [esi + 4]
call fcn.005fc910
add esp, 0xc
jmp case.0x640f8a.218
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
push dword [esi - 0x14]
jmp 0x64146e
mov edx, dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
call fcn.005fcbc0
jmp case.0x640f8a.218
push dword [esi - 8]
mov edi, dword [ebp + 0xc]
lea eax, [esi - 0x20]
push dword [esi - 0x14]
mov edx, dword [esi - 0x44]
mov ecx, edi
push eax
call fcn.005ff210
mov ecx, dword [edi + 0xe8]
add esp, 0xc
test ecx, ecx
je case.0x640f8a.218
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je case.0x640f8a.218
mov al, byte [esi + 4]
mov byte [ecx + 0x18], al
jmp case.0x640f8a.218
mov dword [esi + 0x10], 0xb
jmp case.0x640f8a.218
mov dword [esi + 4], 4
jmp case.0x640f8a.218
mov dword [esi + 4], 5
jmp case.0x640f8a.218
push dword [esi - 8]
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0xc]
push 0
call fcn.005fef30
add esp, 8
jmp case.0x640f8a.218
push dword [esi - 0x38]
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 0x20]
push dword [esi - 0x50]
lea edx, [esi - 0x5c]
push dword [esi + 4]
push dword [esi - 0x14]
push eax
lea eax, [esi - 0x2c]
push eax
call fcn.005fe3a0
add esp, 0x18
jmp case.0x640f8a.218
push dword [esi - 8]
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0xc]
push 1
call fcn.005fef30
add esp, 8
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea eax, [esp + 0x34]
mov edx, dword [esi + 4]
xorps xmm0, xmm0
push eax
mov ecx, edi
mov byte [esp + 0x38], 9
movups xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x4c], 0
call fcn.00622020
mov edx, dword [esi + 4]
add esp, 4
test edx, edx
je case.0x640f8a.218
mov ecx, dword [edi]
push 1
call fcn.006187b0
add esp, 4
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
test edi, edi
je 0x64185b
mov dword [edi + 0x40], edx
mov edx, edi
call fcn.00640bc0
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov ecx, dword [ecx]
call fcn.00602c60
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
test edi, edi
je 0x641889
mov dword [edi + 0x40], edx
mov edx, edi
call fcn.00640bc0
mov dword [esi - 0x20], edi
jmp case.0x640f8a.218
mov ecx, dword [ecx]
call fcn.00602c60
mov dword [esi - 0x20], edi
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
test edi, edi
je 0x6418a9
mov ecx, dword [ebp + 0xc]
mov edx, edi
call fcn.00640bc0
mov dword [esi + 4], edi
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
mov ebx, dword [esi - 0x14]
test edi, edi
je 0x641941
cmp dword [edi + 0x34], 0
je 0x64190b
mov ecx, dword [ebp + 0xc]
mov edx, edi
mov dword [esp + 0x28], 0
call fcn.00640bc0
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x24]
push 0
push 0
push edi
push eax
push 0
push 0
xor edx, edx
call fcn.00601bf0
mov ecx, dword [ebp + 0xc]
xor edx, edx
push 0
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.006188c0
add esp, 0x34
mov edi, eax
test edi, edi
je 0x641941
mov cl, byte [esi - 8]
mov byte [edi], cl
mov dword [edi + 0x34], ebx
test ebx, ebx
je 0x641922
and dword [ebx + 4], 0xfffffbff
and dword [edi + 4], 0xfffffbff
cmp dword [esi - 8], 0x85
je 0x641956
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x16], 1
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
test ebx, ebx
je 0x641956
mov ecx, dword [ebp + 0xc]
mov edx, ebx
push 1
mov ecx, dword [ecx]
call fcn.006187b0
add esp, 4
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov dword [esi - 8], 0x85
jmp case.0x640f8a.218
push dword [esi + 4]
mov edx, dword [esi - 0x44]
push dword [esi - 0x50]
mov ecx, dword [ebp + 0xc]
push dword [esi - 8]
push dword [esi - 0x14]
push dword [esi - 0x20]
push dword [esi - 0x2c]
push dword [esi - 0x38]
call fcn.006188c0
add esp, 0x1c
mov dword [esi - 0x5c], eax
jmp case.0x640f8a.218
push dword [esi + 4]
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
push dword [esi - 0x5c]
mov edx, dword [esi - 0x50]
push dword [esi - 8]
push dword [esi - 0x20]
push dword [esi - 0x2c]
push dword [esi - 0x38]
push dword [esi - 0x44]
call fcn.006188c0
mov edx, dword [esi - 0x14]
add esp, 0x1c
mov dword [esi - 0x68], eax
test eax, eax
je 0x6419cc
mov dword [eax + 0x48], edx
jmp case.0x640f8a.218
mov ebx, dword [ebx]
test edx, edx
je case.0x640f8a.218
mov edi, dword [edx + 0x24]
mov ecx, ebx
call fcn.0063bab0
mov edx, edi
test edi, edi
jne 0x6419d6
jmp case.0x640f8a.218
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
push 0
push 0x200
push 0
push 0
push 0
push 0
push 0
call fcn.006188c0
add esp, 0x1c
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
mov edx, dword [esi - 8]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esi - 0x2c]
push 0
push 0x600
push 0
push 0
push 0
push 0
push 0
call fcn.006188c0
add esp, 0x1c
test edi, edi
je 0x641a3f
and dword [edi + 4], 0xfffffbff
test eax, eax
je 0x641a4e
mov byte [eax], 0x85
mov dword [eax + 0x34], edi
jmp 0x644474
mov eax, edi
jmp 0x644474
push dword [esi - 0x14]
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov edx, dword [esi - 0x2c]
call fcn.005ed1e0
add esp, 4
mov edx, eax
cmp dword [esi + 8], 0
mov dword [esi - 0x2c], edx
jbe 0x641a86
lea ecx, [esi + 4]
push 1
push ecx
mov ecx, ebx
call fcn.005ed430
mov edx, dword [esi - 0x2c]
add esp, 8
test edx, edx
je case.0x640f8a.218
mov eax, dword [edx]
lea eax, [eax + eax*4]
cmp dword [edx + eax*4 - 0xc], 0
lea edi, [edx + eax*4]
jne case.0x640f8a.218
push dword [esi - 8]
mov edx, dword [esi - 0x20]
mov ecx, dword [ebx]
call fcn.005b5fe0
mov dword [edi - 0xc], eax
add esp, 4
mov eax, dword [edi - 4]
and eax, 0xfffffffd
or eax, 1
mov dword [edi - 4], eax
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x35
mov ecx, dword [ebx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x641b03
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0xb1
or eax, 0xffffffff
mov word [edi + 0x22], ax
lea eax, [edi + 0x34]
mov dword [edi + 8], eax
mov byte [eax], 0
mov dword [edi + 0x18], 1
mov edx, dword [esi - 0x14]
mov ecx, ebx
push edi
call fcn.005ed1e0
add esp, 4
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x34
mov ecx, dword [ebx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x641b67
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0xb1
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x641b67
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov ecx, dword [ebx]
lea eax, [esi - 0x14]
push 1
push eax
mov edx, 0x3b
call fcn.005ebdc0
push edi
push eax
mov edx, 0x8b
mov ecx, ebx
call fcn.005ebfd0
mov edx, dword [esi - 0x2c]
mov ecx, ebx
push eax
call fcn.005ed1e0
add esp, 0x14
jmp 0x644474
mov eax, dword [esi + 4]
mov dword [esi - 8], eax
mov eax, dword [esi + 8]
mov dword [esi - 4], eax
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
push 0
push 0x50
mov ecx, dword [eax]
test ecx, ecx
je 0x641bbf
call fcn.005b5d30
jmp 0x641bc4
call fcn.005b5750
mov edi, eax
add esp, 8
test edi, edi
je 0x641bda
push 0x50
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov dword [esi + 0x10], edi
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
mov dword [esi - 8], edi
test edi, edi
je case.0x640f8a.218
mov ecx, dword [edi]
dec ecx
test ecx, ecx
jle 0x641c0e
lea eax, [ecx + ecx*8]
lea edx, [edi + 0x2c]
lea edx, [edx + eax*8]
mov al, byte [edx - 0x48]
lea edx, [edx - 0x48]
dec ecx
mov byte [edx + 0x48], al
test ecx, ecx
jg 0x641c00
mov byte [edi + 0x2c], 0
jmp case.0x640f8a.218
mov edx, dword [esi - 8]
test edx, edx
je case.0x640f8a.218
mov eax, dword [edx]
test eax, eax
jle case.0x640f8a.218
lea ecx, [eax + eax*8]
mov al, byte [esi + 4]
mov byte [edx + ecx*8 - 0x1c], al
jmp case.0x640f8a.218
push dword [esi + 4]
mov edx, dword [esi - 0x44]
lea eax, [esi - 0x20]
push dword [esi - 8]
mov ecx, dword [ebp + 0xc]
push 0
push eax
lea eax, [esi - 0x2c]
push eax
lea eax, [esi - 0x38]
push eax
call fcn.00601bf0
mov ecx, dword [ebp + 0xc]
lea edx, [esi - 0x14]
push edx
mov edx, eax
mov dword [esi - 0x44], eax
call fcn.00601d70
add esp, 0x1c
jmp case.0x640f8a.218
push dword [esi + 4]
mov edi, dword [ebp + 0xc]
lea eax, [esi - 0x14]
push dword [esi - 8]
mov edx, dword [esi - 0x5c]
mov ecx, edi
push 0
push eax
lea eax, [esi - 0x44]
push eax
lea eax, [esi - 0x50]
push eax
call fcn.00601bf0
mov edx, dword [esi - 0x2c]
add esp, 0x18
mov dword [esi - 0x5c], eax
test eax, eax
je 0x641cb3
mov ecx, dword [eax]
lea ecx, [ecx + ecx*8]
or dword [eax + ecx*8 - 0x18], 4
mov dword [eax + ecx*8], edx
jmp case.0x640f8a.218
test edx, edx
je case.0x640f8a.218
mov ecx, dword [edi]
call fcn.005ed500
jmp case.0x640f8a.218
push dword [esi + 4]
push dword [esi - 8]
push dword [esi - 0x2c]
mov edx, dword [esi - 0x44]
lea eax, [esi - 0x14]
mov ecx, dword [ebp + 0xc]
push eax
push 0
push 0
call fcn.00601bf0
add esp, 0x18
mov dword [esi - 0x44], eax
jmp case.0x640f8a.218
mov ecx, dword [esi - 0x44]
test ecx, ecx
jne 0x641d0f
cmp dword [esi - 0x10], ecx
jne 0x641d0f
cmp dword [esi - 8], ecx
jne 0x641d0f
cmp dword [esi + 4], ecx
jne 0x641d0f
mov eax, dword [esi - 0x2c]
mov dword [esi - 0x44], eax
jmp case.0x640f8a.218
mov edi, dword [esi - 0x2c]
mov edx, dword [edi]
cmp edx, 1
jne 0x641da2
push dword [esi + 4]
mov ebx, dword [ebp + 0xc]
lea eax, [esi - 0x14]
push dword [esi - 8]
mov edx, ecx
mov ecx, ebx
push 0
push eax
push 0
push 0
call fcn.00601bf0
mov edi, eax
add esp, 0x18
mov dword [esi - 0x44], edi
test edi, edi
je 0x641d93
mov edx, dword [esi - 0x2c]
mov ecx, dword [edi]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*8]
mov dword [edi + ecx*8 - 0x38], eax
mov eax, dword [edx + 0xc]
mov dword [edi + ecx*8 - 0x3c], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + ecx*8 - 0x2c], eax
test byte [edx + 0x30], 4
je 0x641d7e
mov eax, dword [edx + 0x48]
mov dword [edi + ecx*8], eax
and dword [edx + 0x30], 0xfffffffb
mov dword [edx + 0x48], 0
or dword [edi + ecx*8 - 0x18], 4
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], 0
mov edx, dword [esi - 0x2c]
mov ecx, dword [ebx]
call fcn.00601ab0
jmp case.0x640f8a.218
test edi, edi
je 0x641dc6
dec edx
test edx, edx
jle 0x641dc2
lea eax, [edx + edx*8]
lea ecx, [edi + 0x2c]
lea ecx, [ecx + eax*8]
mov al, byte [ecx - 0x48]
lea ecx, [ecx - 0x48]
dec edx
mov byte [ecx + 0x48], al
test edx, edx
jg 0x641db4
mov byte [edi + 0x2c], 0
mov ecx, dword [ebp + 0xc]
xor edx, edx
push 0
push 0x800
push 0
push 0
push 0
push 0
push dword [esi - 0x2c]
call fcn.006188c0
add esp, 0x1c
push dword [esi + 4]
push dword [esi - 8]
push eax
jmp 0x641cd0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea ebx, [esi + 4]
push 0
push ebx
xor edx, edx
mov ecx, edi
call fcn.00601870
mov cl, byte [edi + 0xcc]
add esp, 8
mov dword [esp + 0x1c], eax
cmp cl, 2
jb 0x641e81
test eax, eax
je 0x641e81
mov edx, dword [eax + 0x10]
mov dword [esp + 0x20], edx
cmp cl, 3
je 0x641e81
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x641e49
call fcn.005b5d30
jmp 0x641e4e
call fcn.005b5750
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x641e7d
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], eax
mov eax, dword [ebx]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
mov eax, dword [esp + 0x1c]
mov dword [ebx], eax
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea eax, [esi + 4]
lea ecx, [esi - 0x14]
xor edx, edx
push eax
push ecx
mov ecx, edi
call fcn.00601870
mov ebx, eax
add esp, 8
mov al, byte [edi + 0xcc]
cmp al, 2
jb 0x641f00
test ebx, ebx
je 0x641f00
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x20], ecx
cmp al, 3
je 0x641f00
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x641ecb
call fcn.005b5d30
jmp 0x641ed0
call fcn.005b5750
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x641f00
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
mov dword [esi - 0x14], ebx
jmp case.0x640f8a.218
lea edi, [esi + 4]
push 0
mov ecx, dword [ebp + 0xc]
xor edx, edx
push edi
call fcn.00601870
add esp, 8
mov dword [edi], eax
jmp case.0x640f8a.218
lea eax, [esi + 4]
lea edi, [esi - 0x14]
push eax
jmp 0x641f0d
mov edi, dword [ebp + 0xc]
lea eax, [esi - 0x14]
push eax
lea ebx, [esi - 0x2c]
xor edx, edx
push ebx
mov ecx, edi
call fcn.00601870
add esp, 8
mov dword [ebx], eax
test eax, eax
je case.0x640f8a.218
lea eax, [esi + 4]
test eax, eax
je 0x641fb9
mov ebx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x641f77
xor edi, edi
mov ecx, edi
call fcn.005b9170
mov eax, dword [esi - 0x2c]
lea ebx, [esi - 0x2c]
mov dword [eax + 0x14], edi
jmp case.0x640f8a.218
mov ecx, dword [edi]
xor eax, eax
mov edx, ebx
add edx, 1
adc eax, eax
push eax
push edx
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x641fa4
push ebx
push dword [esp + 0x24]
push edi
call fcn.006e8ef0
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, edi
call fcn.005b9170
mov eax, dword [esi - 0x2c]
lea ebx, [esi - 0x2c]
mov dword [eax + 0x14], edi
jmp case.0x640f8a.218
mov eax, dword [ebx]
xor edi, edi
mov dword [eax + 0x14], edi
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea ebx, [esi - 0x14]
push 0
push ebx
xor edx, edx
mov ecx, edi
call fcn.00601870
add esp, 8
mov dword [ebx], eax
test eax, eax
je case.0x640f8a.218
lea eax, [esi + 4]
test eax, eax
je 0x641fb9
mov ebx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x64200f
xor edi, edi
mov ecx, edi
call fcn.005b9170
mov eax, dword [esi - 0x14]
lea ebx, [esi - 0x14]
mov dword [eax + 0x14], edi
jmp case.0x640f8a.218
mov ecx, dword [edi]
xor eax, eax
mov edx, ebx
add edx, 1
adc eax, eax
push eax
push edx
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x64203c
push ebx
push dword [esp + 0x24]
push edi
call fcn.006e8ef0
add esp, 0xc
mov byte [ebx + edi], 0
mov ecx, edi
call fcn.005b9170
mov eax, dword [esi - 0x14]
lea ebx, [esi - 0x14]
mov dword [eax + 0x14], edi
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea edx, [esi - 8]
push 0
push 0
call fcn.00618a90
add esp, 8
mov dword [esi - 8], eax
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 8]
push 0
push eax
lea edx, [esi - 0x14]
call fcn.00618a90
add esp, 8
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x14]
push eax
lea edx, [esi - 0x20]
call fcn.00618a90
add esp, 8
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov dword [esi - 0x14], eax
mov eax, dword [esi + 8]
mov dword [esi - 0x10], eax
jmp case.0x640f8a.218
mov dword [esi - 8], 0
mov dword [esi - 4], 1
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
push dword [esi - 0x14]
mov edx, dword [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.005ed1e0
mov edi, dword [esi + 4]
mov edx, eax
mov ebx, dword [esi - 8]
add esp, 4
mov dword [esi - 0x2c], edx
test edx, edx
je case.0x640f8a.218
mov ecx, dword [edx]
xor eax, eax
cmp ebx, 0xffffffff
cmovne eax, ebx
lea ecx, [ecx + ecx*4]
mov byte [edx + ecx*4 - 8], al
cmp edi, 0xffffffff
je case.0x640f8a.218
or dword [edx + ecx*4 - 4], 0x20
cmp eax, edi
je case.0x640f8a.218
or al, 2
mov byte [edx + ecx*4 - 8], al
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov ebx, dword [esi - 0x14]
push 0
push 0x18
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
jne 0x64215d
test ebx, ebx
je 0x642159
mov ecx, dword [esp + 0x20]
mov edx, ebx
call fcn.005ec4f0
xor edi, edi
jmp 0x64216d
mov dword [edi], 1
xorps xmm0, xmm0
movups xmmword [edi + 8], xmm0
mov dword [edi + 4], ebx
mov edx, dword [esi + 4]
mov ebx, dword [esi - 8]
mov dword [esi - 0x14], edi
test edi, edi
je case.0x640f8a.218
mov eax, dword [edi]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*4]
xor eax, eax
cmp ebx, 0xffffffff
cmovne eax, ebx
mov byte [ecx - 8], al
cmp edx, 0xffffffff
je case.0x640f8a.218
or dword [ecx - 4], 0x20
cmp eax, edx
je case.0x640f8a.218
or al, 2
mov byte [ecx - 8], al
jmp case.0x640f8a.218
mov dword [esi + 0x10], 0xffffffff
jmp case.0x640f8a.218
mov dword [esi - 8], 0
jmp case.0x640f8a.218
mov dword [esi - 8], 1
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esi + 4]
push 0
push 0x34
mov ecx, dword [ecx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642242
push 0x34
push 0
push edi
call fcn.006e9470
mov byte [edi], 0x92
or eax, 0xffffffff
add esp, 0xc
mov word [edi + 0x22], ax
test ebx, ebx
je 0x642217
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642252
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.005b9110
add esp, 0xc
mov dword [esi - 8], edi
jmp case.0x640f8a.218
test ebx, ebx
je 0x642252
mov eax, dword [ebp + 0xc]
mov edx, ebx
mov ecx, dword [eax]
call fcn.005ec4f0
mov dword [esi - 8], edi
jmp case.0x640f8a.218
push dword [esi + 4]
push dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, 0x92
call fcn.005ebfd0
add esp, 8
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
push dword [esi - 0x14]
push dword [esi + 4]
jmp 0x642260
mov edx, dword [esi - 0x14]
lea eax, [esi - 8]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.00601d70
mov edx, dword [esi - 0x14]
add esp, 4
mov ecx, dword [ebp + 0xc]
push 0
push 0
push dword [esi + 4]
call fcn.00603a20
add esp, 0xc
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea eax, [esi - 0x20]
mov edx, dword [esi - 0x2c]
mov ecx, edi
push eax
call fcn.00601d70
mov eax, dword [esi - 8]
add esp, 4
mov edx, eax
test eax, eax
je 0x6422e8
mov ecx, dword [edi]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x74]
jle 0x6422e8
push str.set_list
push str.too_many_columns_in__s
push edi
call fcn.005b9110
mov edx, dword [esi - 8]
add esp, 0xc
push 0
push 0
push 0
push dword [esi - 0x38]
mov ecx, edi
push dword [esi + 4]
push edx
mov edx, dword [esi - 0x2c]
call fcn.00626a70
add esp, 0x18
jmp case.0x640f8a.218
push dword [esi + 4]
mov edx, dword [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.005ed1e0
mov ecx, dword [ebp + 0xc]
lea edx, [esi - 0x14]
add esp, 4
mov dword [esi - 0x2c], eax
push 1
push edx
mov edx, eax
call fcn.005ed430
add esp, 8
jmp case.0x640f8a.218
push dword [esi + 4]
mov edx, dword [esi - 0x44]
push dword [esi - 0x20]
mov ecx, dword [ebp + 0xc]
call fcn.005ed2a0
add esp, 8
mov dword [esi - 0x44], eax
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov edi, dword [esi + 4]
push 0
push 0x18
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.005b5d30
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x642382
test edi, edi
je 0x64237e
mov ecx, dword [esp + 0x20]
mov edx, edi
call fcn.005ec4f0
xor ebx, ebx
jmp 0x642392
mov dword [ebx], 1
xorps xmm0, xmm0
movups xmmword [ebx + 8], xmm0
mov dword [ebx + 4], edi
mov ecx, dword [ebp + 0xc]
lea edi, [esi - 0x14]
push 1
push edi
mov edx, ebx
call fcn.005ed430
add esp, 8
mov dword [edi], ebx
jmp case.0x640f8a.218
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
xor edx, edx
push dword [esi - 0x20]
call fcn.005ed2a0
add esp, 8
jmp 0x644474
push dword [esi + 4]
mov edx, dword [esi - 0x20]
push dword [esi - 0x38]
mov ecx, dword [ebp + 0xc]
push dword [esi - 0x14]
push dword [esi - 8]
call fcn.0060c060
add esp, 0x10
jmp case.0x640f8a.218
mov edx, dword [esi - 0x20]
mov ecx, dword [ebp + 0xc]
push 0
push dword [esi - 0x38]
push dword [esi - 0x14]
push 0
call fcn.0060c060
add esp, 0x10
jmp case.0x640f8a.218
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
push dword [esi - 8]
mov edx, dword [esi - 0x50]
push dword [esi - 0x38]
mov ecx, dword [ecx]
call fcn.00629330
add esp, 0xc
mov dword [esi - 0x74], eax
jmp case.0x640f8a.218
mov eax, dword [esi - 0x2c]
mov ebx, dword [esi - 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
push 0
push 0x24
mov edi, dword [eax]
test edi, edi
je 0x642441
mov ecx, edi
call fcn.005b5d30
jmp 0x642446
call fcn.005b5750
add esp, 8
test eax, eax
jne 0x642475
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x64245e
mov edx, eax
mov ecx, edi
call fcn.005ed500
test ebx, ebx
je 0x64246b
mov edx, ebx
mov ecx, edi
call fcn.005ec4f0
xor eax, eax
mov dword [esi - 0x50], eax
jmp case.0x640f8a.218
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [esi - 0x50], eax
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
push 0
push 0x24
mov ecx, dword [eax]
test ecx, ecx
je 0x6424af
call fcn.005b5d30
jmp 0x6424b4
call fcn.005b5750
add esp, 8
test eax, eax
jne 0x6424c3
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov edx, dword [esi - 0x14]
lea eax, [esi + 4]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.006014b0
add esp, 4
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea edi, [esi + 4]
push edi
xor edx, edx
call fcn.006014b0
add esp, 4
mov dword [edi], eax
jmp case.0x640f8a.218
push dword [esi + 8]
mov ecx, dword [ebp + 0xc]
mov edx, 0x3b
push dword [esi + 4]
call fcn.00640c10
add esp, 8
mov dword [esi + 4], eax
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea ebx, [esi - 0x14]
push 1
push ebx
mov edx, 0x3b
mov ecx, dword [edi]
call fcn.005ebdc0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x18], eax
lea eax, [esi + 4]
push 1
push eax
call fcn.005ebdc0
mov cl, byte [edi + 0xcc]
add esp, 0x10
mov dword [esp + 0x1c], eax
cmp cl, 2
jb 0x642624
cmp cl, 3
je 0x6425d4
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x64259f
call fcn.005b5d30
jmp 0x6425a4
call fcn.005b5750
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x6425d4
mov eax, dword [esp + 0x1c]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
cmp byte [edi + 0xcc], 3
je 0x642624
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x6425ee
call fcn.005b5d30
jmp 0x6425f3
call fcn.005b5750
mov edx, dword [esp + 0x18]
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x642628
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], edx
mov eax, dword [ebx]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
jmp 0x642628
mov edx, dword [esp + 0x10]
push dword [esp + 0x1c]
mov ecx, edi
push edx
mov edx, 0x8b
call fcn.005ebfd0
add esp, 8
mov dword [ebx], eax
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea eax, [esi - 0x2c]
push 1
push eax
mov edx, 0x3b
mov ecx, dword [edi]
call fcn.005ebdc0
mov ecx, dword [edi]
mov edx, 0x3b
mov dword [esp + 0x1c], eax
lea eax, [esi - 0x14]
push 1
push eax
call fcn.005ebdc0
mov ecx, dword [edi]
lea ebx, [esi + 4]
push 1
push ebx
mov edx, 0x3b
mov dword [esp + 0x34], eax
call fcn.005ebdc0
push eax
push dword [esp + 0x38]
mov edx, 0x8b
mov dword [esp + 0x40], eax
mov ecx, edi
call fcn.005ebfd0
mov cl, byte [edi + 0xcc]
add esp, 0x20
mov dword [esp + 0x18], eax
cmp cl, 2
jb 0x642748
cmp cl, 3
je 0x6426f9
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x6426c5
call fcn.005b5d30
jmp 0x6426ca
call fcn.005b5750
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x6426f9
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], eax
mov eax, dword [ebx]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
cmp byte [edi + 0xcc], 3
je 0x642748
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x642713
call fcn.005b5d30
jmp 0x642718
call fcn.005b5750
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x642748
mov eax, dword [esp + 0x1c]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], eax
mov eax, dword [esi - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esi - 0x10]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
push dword [esp + 0x18]
mov edx, 0x8b
mov ecx, edi
push dword [esp + 0x18]
call fcn.005ebfd0
add esp, 8
jmp 0x644474
push dword [esi + 8]
movzx edx, word [esi + 2]
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
call fcn.00640c10
add esp, 8
mov dword [esi + 4], eax
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea edi, [esi + 4]
push 1
push edi
mov edx, 0x98
mov ecx, dword [ecx]
call fcn.005ebdc0
add esp, 8
mov dword [edi], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
cmp byte [eax], 0x23
jne 0x64285d
movzx eax, byte [eax + 1]
test byte [eax + 0x791c78], 4
je 0x64285d
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
cmp byte [ebx + 0x12], 0
mov dword [esp + 0x28], eax
jne 0x6427f3
lea eax, [esp + 0x24]
push eax
push str.near___T_:_syntax_error
push ebx
call fcn.005b9110
add esp, 0xc
mov dword [esi + 4], 0
jmp case.0x640f8a.218
mov ecx, dword [ebx]
push 0
push 0x34
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x64283e
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0xad
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x64283e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov dword [esi + 4], edi
test edi, edi
je case.0x640f8a.218
mov ecx, dword [esp + 0x24]
lea edx, [edi + 0x1c]
lea ecx, [ecx + 1]
call fcn.005b9b60
jmp case.0x640f8a.218
mov ebx, dword [esi + 8]
mov edx, 0x99
mov ecx, dword [ebp + 0xc]
push ebx
push dword [esi + 4]
call fcn.00640c10
mov ecx, dword [ebp + 0xc]
mov edx, eax
push ebx
mov dword [esi + 4], eax
call fcn.005ec2c0
add esp, 0xc
jmp case.0x640f8a.218
cmp dword [esi + 8], 0
lea eax, [esi + 4]
mov edi, dword [esi - 0x14]
jbe 0x6428b8
mov ecx, dword [ebp + 0xc]
mov edx, 0x6f
push 1
push eax
mov ecx, dword [ecx]
call fcn.005ebdc0
add esp, 8
test eax, eax
je 0x6428b8
or dword [eax + 4], 0x1100
mov dword [eax + 0xc], edi
mov edi, eax
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea eax, [esi - 8]
push 1
push eax
mov edx, 0x24
mov ecx, dword [edi]
call fcn.005ebdc0
mov ecx, eax
add esp, 8
mov eax, dword [esi - 0x20]
mov dword [esi - 0x38], ecx
test ecx, ecx
jne 0x6428fa
test eax, eax
je case.0x640f8a.218
mov ecx, dword [edi]
mov edx, eax
call fcn.005ec4f0
jmp case.0x640f8a.218
test eax, eax
je 0x64290c
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ecx + 4], eax
call fcn.005ebd00
jmp case.0x640f8a.218
push dword [esi - 0x14]
mov edx, dword [esi - 8]
lea edi, [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
push edi
call fcn.005ec210
add esp, 8
mov dword [edi], eax
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
lea eax, [esi - 0x20]
push 1
push eax
mov edx, 0xa9
mov ecx, dword [ebx]
call fcn.005ebdc0
mov edi, eax
add esp, 8
test edi, edi
jne 0x642958
mov dword [esi - 0x20], edi
jmp case.0x640f8a.218
or dword [edi + 4], 4
mov dword [edi + 0x14], 0
cmp dword [ebx + 0x24], 0
jne 0x642989
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642989
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov dword [esi - 0x20], edi
jmp case.0x640f8a.218
push dword [esi - 0x20]
mov ebx, dword [ebp + 0xc]
lea eax, [esi - 0x38]
mov edx, dword [esi - 0x14]
mov ecx, ebx
push eax
call fcn.005ec210
mov edx, dword [esi + 4]
mov edi, eax
add esp, 8
test edi, edi
je 0x6429e0
or dword [edi + 4], 0x1000000
mov dword [edi + 0x2c], edx
mov dword [edx + 0x48], edi
test byte [edi + 4], 2
je 0x6429e7
cmp byte [edx + 0x10], 0xa3
je 0x6429e7
push str.DISTINCT_is_not_supported_for_window_functions
push ebx
call fcn.005b9110
add esp, 8
mov dword [esi - 0x38], edi
jmp case.0x640f8a.218
mov ecx, dword [ebx]
call fcn.0063bab0
mov dword [esi - 0x38], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
lea eax, [esi - 0x2c]
push 1
push eax
mov edx, 0xa9
mov ecx, dword [ebx]
call fcn.005ebdc0
mov edi, eax
add esp, 8
test edi, edi
je 0x642a3e
or dword [edi + 4], 4
mov dword [edi + 0x14], 0
cmp dword [ebx + 0x24], 0
jne 0x642a3e
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642a3e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov edx, dword [esi + 4]
test edi, edi
je 0x642a74
or dword [edi + 4], 0x1000000
mov dword [edi + 0x2c], edx
mov dword [edx + 0x48], edi
test byte [edi + 4], 2
je 0x642a7b
cmp byte [edx + 0x10], 0xa3
je 0x642a7b
push str.DISTINCT_is_not_supported_for_window_functions
push ebx
call fcn.005b9110
add esp, 8
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov ecx, dword [ebx]
call fcn.0063bab0
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
lea eax, [esi + 4]
push 1
push eax
mov edx, 0xa9
mov ecx, dword [ebx]
call fcn.005ebdc0
mov edi, eax
add esp, 8
test edi, edi
jne 0x642aa9
mov dword [esi + 4], edi
jmp case.0x640f8a.218
or dword [edi + 4], 4
mov dword [edi + 0x14], 0
cmp dword [ebx + 0x24], 0
jne 0x642ada
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642ada
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov dword [esi + 4], edi
jmp case.0x640f8a.218
push dword [esi - 8]
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov edx, dword [esi - 0x20]
call fcn.005ed1e0
mov ecx, dword [edi]
add esp, 4
mov ebx, eax
push 0
push 0x34
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642b45
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0xae
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.005ebd00
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642b48
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.005b9110
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov dword [esi - 0x2c], edi
test edi, edi
je 0x642b71
mov dword [edi + 0x14], ebx
cmp dword [ebx], 0
je case.0x640f8a.218
mov eax, dword [ebx + 4]
mov ecx, dword [esi - 0x2c]
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ecx + 4], eax
jmp case.0x640f8a.218
test ebx, ebx
je case.0x640f8a.218
mov ecx, dword [ecx]
mov edx, ebx
call fcn.005ed500
jmp case.0x640f8a.218
push dword [esi + 4]
mov edx, dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
call fcn.005ec0f0
add esp, 4
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
push dword [esi + 4]
movzx edx, word [esi - 0xa]
push dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
call fcn.005ebfd0
add esp, 8
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov dword [esi - 8], eax
mov eax, dword [esi + 8]
mov dword [esi - 4], eax
or dword [esi - 4], 0x80000000
jmp case.0x640f8a.218
mov eax, dword [esi - 4]
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi + 4]
mov dword [esp + 0x1c], eax
and eax, 0x7fffffff
mov dword [esi - 4], eax
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x18
mov dword [esp + 0x28], eax
call fcn.005b5d30
add esp, 8
test eax, eax
jne 0x642c15
test edi, edi
je 0x642c11
mov ecx, dword [esp + 0x20]
mov edx, edi
call fcn.005ec4f0
xor eax, eax
jmp 0x642c25
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 4], edi
push dword [esi - 0x14]
mov edx, eax
mov ecx, ebx
call fcn.005ed1e0
add esp, 4
lea ecx, [esi - 8]
mov edx, eax
push 0
push ecx
mov ecx, ebx
call fcn.005ec210
add esp, 8
mov edi, eax
cmp dword [esp + 0x1c], 0
mov dword [esi - 0x14], edi
jge 0x642cd1
mov ecx, dword [ebx]
push 0
push 0x34
mov dword [esp + 0x24], edi
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642cbd
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0x13
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x642c9b
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642cce
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
jmp 0x642cce
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x642cce
mov ecx, dword [ebx]
mov edx, eax
call fcn.005ec4f0
mov dword [esi - 0x14], edi
test edi, edi
je case.0x640f8a.218
or dword [edi + 4], 0x80
jmp case.0x640f8a.218
mov eax, dword [esi - 0x1c]
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi - 0x14]
mov dword [esp + 0x1c], eax
and eax, 0x7fffffff
mov dword [esi - 0x1c], eax
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x18
mov dword [esp + 0x28], eax
call fcn.005b5d30
add esp, 8
test eax, eax
jne 0x642d25
test edi, edi
je 0x642d21
mov ecx, dword [esp + 0x20]
mov edx, edi
call fcn.005ec4f0
xor eax, eax
jmp 0x642d35
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 4], edi
push dword [esi - 0x2c]
mov edx, eax
mov ecx, ebx
call fcn.005ed1e0
add esp, 4
mov edx, eax
mov ecx, ebx
push dword [esi + 4]
call fcn.005ed1e0
add esp, 4
lea ecx, [esi - 0x20]
mov edx, eax
push 0
push ecx
mov ecx, ebx
call fcn.005ec210
add esp, 8
mov edi, eax
cmp dword [esp + 0x1c], 0
mov dword [esi - 0x2c], edi
jge 0x642df0
mov ecx, dword [ebx]
push 0
push 0x34
mov dword [esp + 0x24], edi
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642ddc
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0x13
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x642dba
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642ded
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
jmp 0x642ded
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x642ded
mov ecx, dword [ebx]
mov edx, eax
call fcn.005ec4f0
mov dword [esi - 0x2c], edi
test edi, edi
je case.0x640f8a.218
or dword [edi + 4], 0x80
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
movzx eax, word [esi + 2]
mov ebx, dword [esi - 8]
push 0
mov ecx, dword [ecx]
push 0x34
mov dword [esp + 0x28], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642242
push 0x34
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x2c]
mov byte [edi], al
jmp 0x6421fb
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esi - 0x14]
push 0
push 0x34
mov ecx, dword [ecx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642eb1
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0x33
add esp, 0xc
mov word [edi + 0x22], ax
test ebx, ebx
je 0x642e82
mov dword [edi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x641862
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.005b9110
add esp, 0xc
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
test ebx, ebx
je 0x641862
mov eax, dword [ebp + 0xc]
mov edx, ebx
mov ecx, dword [eax]
call fcn.005ec4f0
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
push dword [esi + 4]
mov ebx, dword [ebp + 0xc]
mov edx, 0x2d
push dword [esi - 0x14]
mov ecx, ebx
call fcn.005ebfd0
mov edi, eax
add esp, 8
mov dword [esi - 0x14], edi
mov ecx, dword [ebx]
test edi, edi
je case.0x640f8a.218
mov eax, dword [esi + 4]
test eax, eax
je case.0x640f8a.218
cmp byte [eax], 0x77
jne case.0x640f8a.218
cmp byte [ebx + 0xcc], 2
jae case.0x640f8a.218
mov byte [edi], 0x32
mov edx, dword [edi + 0x10]
test edx, edx
je 0x642f24
call fcn.005ec4f0
mov dword [edi + 0x10], 0
jmp case.0x640f8a.218
push dword [esi + 4]
mov ebx, dword [ebp + 0xc]
mov edx, 0xa8
push dword [esi - 0x20]
mov ecx, ebx
call fcn.005ebfd0
mov edi, eax
add esp, 8
mov dword [esi - 0x20], edi
mov ecx, dword [ebx]
test edi, edi
je case.0x640f8a.218
mov eax, dword [esi + 4]
test eax, eax
je case.0x640f8a.218
cmp byte [eax], 0x77
jne case.0x640f8a.218
cmp byte [ebx + 0xcc], 2
jae case.0x640f8a.218
mov byte [edi], 0x33
jmp 0x642f18
mov ecx, dword [ebp + 0xc]
movzx eax, word [esi - 0xa]
mov ebx, dword [esi + 4]
push 0
mov ecx, dword [ecx]
push 0x34
mov dword [esp + 0x28], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642242
push 0x34
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x2c]
mov byte [edi], al
jmp 0x6421fb
mov ecx, dword [ebp + 0xc]
movzx eax, word [esi - 0xa]
mov ebx, dword [esi + 4]
push 0
mov ecx, dword [ecx]
push 0x34
mov dword [esp + 0x28], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x642242
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
cmp word [esp + 0x20], 0x69
sete al
add al, 0xaa
mov byte [edi], al
mov eax, 0xffffffff
jmp 0x642201
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi - 0x14]
push 0
push 0x18
mov eax, dword [ebx]
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.005b5d30
add esp, 8
test eax, eax
jne 0x643033
test edi, edi
je 0x64302f
mov ecx, dword [esp + 0x20]
mov edx, edi
call fcn.005ec4f0
xor eax, eax
jmp 0x643043
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 4], edi
push dword [esi + 4]
mov edx, eax
mov ecx, ebx
call fcn.005ed1e0
mov ecx, dword [esi - 0x2c]
add esp, 4
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x18], eax
push 0
push 0x34
call fcn.005b5d30
mov edi, eax
add esp, 8
or ebx, 0xffffffff
test edi, edi
je 0x6430c3
push 0x34
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [edi], 0x30
mov word [edi + 0x22], bx
test eax, eax
je 0x64309e
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x6430da
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.005b9110
add esp, 0xc
jmp 0x6430d7
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x6430d7
mov ecx, dword [ebp + 0xc]
mov edx, eax
mov ecx, dword [ecx]
call fcn.005ec4f0
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esi - 0x2c], edi
test edi, edi
je 0x6430ea
mov dword [edi + 0x14], eax
jmp 0x6430f7
test eax, eax
je 0x6430f7
mov ecx, dword [ecx]
mov edx, eax
call fcn.005ed500
cmp dword [esi - 0x20], 0
je case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov eax, dword [esi - 0x2c]
push 0
push 0x34
mov dword [esp + 0x24], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x643178
push 0x34
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x28]
add esp, 0xc
mov word [edi + 0x22], bx
mov byte [edi], 0x13
test eax, eax
je 0x643149
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642a7b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.005b9110
add esp, 0xc
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x642a7b
mov edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
call fcn.005ec4f0
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
test eax, eax
jne 0x643229
mov ebx, dword [esi - 0x2c]
mov edi, dword [ebp + 0xc]
test ebx, ebx
je 0x643203
mov al, byte [edi + 0xcc]
mov byte [esp + 0xf], al
cmp al, 2
jb 0x6431fa
xorps xmm0, xmm0
mov dword [esp + 0x34], edi
mov edx, ebx
movlpd qword [esp + 0x40], xmm0
lea ecx, [esp + 0x34]
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x38], 0x5f57f0
mov dword [esp + 0x3c], 0x5f58b0
mov byte [edi + 0xcc], 3
call fcn.005e8720
mov al, byte [esp + 0xf]
mov byte [edi + 0xcc], al
mov ecx, dword [edi]
mov edx, ebx
call fcn.005ec4f0
cmp dword [esi - 0x20], 0
mov ecx, 0x7fd480
mov eax, 0x799bbc
mov edx, 0x98
cmove eax, ecx
mov ecx, dword [edi]
push eax
call fcn.005ebed0
add esp, 4
jmp 0x644474
cmp dword [eax], 1
jne 0x643369
mov edx, dword [eax + 4]
mov eax, 1
mov word [esp + 0x48], ax
mov dword [esp + 0x38], fcn.005ed680
mov dword [esp + 0x3c], 0x5ed550
mov dword [esp + 0x4c], 0
test edx, edx
je 0x643270
lea ecx, [esp + 0x34]
call fcn.005e8720
cmp word [esp + 0x48], 0
je 0x643369
mov eax, dword [esi - 8]
mov edi, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [eax + 4], 0
mov edx, dword [esi - 8]
mov dword [esp + 0x1c], ecx
test edx, edx
je 0x643292
mov ecx, dword [edi]
call fcn.005ed500
mov ecx, dword [edi]
push 0
push 0x34
call fcn.005b5d30
mov edi, eax
add esp, 8
or ebx, 0xffffffff
test edi, edi
je 0x6432f8
push 0x34
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [edi], 0xab
mov word [edi + 0x22], bx
test eax, eax
je 0x6432d3
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x64330c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edx
call fcn.005b9110
add esp, 0xc
jmp 0x64330c
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x64330c
mov edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
call fcn.005ec4f0
push edi
push dword [esi - 0x2c]
mov edi, dword [ebp + 0xc]
mov edx, 0x35
mov ecx, edi
call fcn.005ebfd0
add esp, 8
mov dword [esp + 0x1c], eax
cmp dword [esi - 0x20], 0
mov dword [esi - 0x2c], eax
je case.0x640f8a.218
mov ecx, dword [edi]
push 0
push 0x34
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
jne 0x64311f
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x642a7b
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
call fcn.005ec4f0
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi - 0x2c]
push 0
push 0x34
mov ecx, dword [ebx]
mov dword [esp + 0x24], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x6433d6
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0x31
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x6433b4
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x6433e7
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
jmp 0x6433e7
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x6433e7
mov ecx, dword [ebx]
mov edx, eax
call fcn.005ec4f0
mov edx, dword [esi - 8]
mov dword [esi - 0x2c], edi
test edi, edi
je 0x64341f
mov dword [edi + 0x14], edx
cmp dword [ebx + 0x24], 0
jne 0x64342a
mov edi, dword [esi - 0x2c]
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x64342a
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
jmp 0x64342a
test edx, edx
je 0x64342a
mov ecx, dword [ebx]
call fcn.005ed500
cmp dword [esi - 0x20], 0
je case.0x640f8a.218
mov eax, dword [esi - 0x2c]
mov ecx, dword [ebx]
push 0
push 0x34
mov dword [esp + 0x24], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x6434a8
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0x13
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x64347c
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x642a7b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x642a7b
mov ecx, dword [ebx]
mov edx, eax
call fcn.005ec4f0
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x34
mov ecx, dword [ebx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x643513
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0x88
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x643513
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
push dword [esi - 8]
mov edx, edi
mov dword [esi - 0x14], edi
mov ecx, ebx
call fcn.005ec080
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi - 0x2c]
push 0
push 0x34
mov ecx, dword [ecx]
mov dword [esp + 0x24], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
or ebx, 0xffffffff
test edi, edi
je 0x64359a
push 0x34
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [edi], 0x31
mov word [edi + 0x22], bx
test eax, eax
je 0x643575
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x6435ae
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edx
call fcn.005b9110
add esp, 0xc
jmp 0x6435ae
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x6435ae
mov edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
call fcn.005ec4f0
push dword [esi - 8]
mov dword [esi - 0x2c], edi
mov edx, edi
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.005ec080
add esp, 4
cmp dword [esi - 0x20], 0
je case.0x640f8a.218
mov ecx, dword [edi]
jmp 0x643106
mov edi, dword [ebp + 0xc]
lea eax, [esi - 8]
push eax
lea eax, [esi - 0x14]
xor edx, edx
push eax
mov ecx, edi
call fcn.00601870
push 0
push 0
push 0
push 0
push 0
mov ebx, eax
xor edx, edx
push 0
push ebx
mov ecx, edi
call fcn.006188c0
mov edx, dword [esi + 4]
add esp, 0x24
mov dword [esp + 0x20], eax
test edx, edx
je 0x64362f
xor ecx, ecx
test eax, eax
cmovne ecx, ebx
test ecx, ecx
je 0x643628
mov eax, dword [ecx]
lea eax, [eax + eax*8]
or dword [ecx + eax*8 - 0x18], 4
mov dword [ecx + eax*8], edx
jmp 0x64362f
mov ecx, dword [edi]
call fcn.005ed500
mov eax, dword [esi - 0x2c]
mov ecx, dword [edi]
push 0
push 0x34
mov dword [esp + 0x24], eax
call fcn.005b5d30
add esp, 8
mov dword [esp + 0x10], eax
or ebx, 0xffffffff
test eax, eax
je 0x6436a1
push 0x34
push 0
push eax
call fcn.006e9470
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov byte [ecx], 0x31
mov word [ecx + 0x22], bx
test eax, eax
je 0x64367d
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ecx + 4], eax
call fcn.005ebd00
mov eax, dword [edi]
mov ecx, dword [eax + 0x78]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x18], ecx
jle 0x6436b4
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.005b9110
add esp, 0xc
jmp 0x6436b0
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x6436b4
mov ecx, dword [edi]
call fcn.005ec4f0
mov eax, dword [esp + 0x10]
push dword [esp + 0x20]
mov edx, eax
mov dword [esi - 0x2c], eax
mov ecx, edi
call fcn.005ec080
add esp, 4
cmp dword [esi - 0x20], 0
je case.0x640f8a.218
mov eax, dword [esi - 0x2c]
mov ecx, dword [edi]
push 0
push 0x34
mov dword [esp + 0x24], eax
call fcn.005b5d30
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x64374b
push 0x34
push 0
push eax
call fcn.006e9470
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov byte [ecx], 0x13
mov word [ecx + 0x22], bx
test eax, eax
je 0x64371c
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [ecx + 4], eax
call fcn.005ebd00
mov eax, dword [edi]
mov ecx, dword [eax + 0x78]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x18], ecx
jle 0x644474
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.005b9110
mov eax, dword [esp + 0x1c]
add esp, 0xc
jmp 0x644474
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x644474
mov ecx, dword [edi]
call fcn.005ec4f0
mov eax, dword [esp + 0x10]
jmp 0x644474
mov ebx, dword [ebp + 0xc]
push 0
push 0x34
mov ecx, dword [ebx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x6437b5
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0x14
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x6437b5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
push dword [esi - 8]
mov edx, edi
mov dword [esi - 0x20], edi
mov ecx, ebx
call fcn.005ec080
add esp, 4
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi - 0x20]
push 0
push 0x34
mov ecx, dword [ebx]
mov dword [esp + 0x24], eax
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x643839
push 0x34
push 0
push edi
call fcn.006e9470
or eax, 0xffffffff
mov byte [edi], 0x9a
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x643817
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200104
or dword [edi + 4], eax
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x64384a
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
jmp 0x64384a
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x64384a
mov ecx, dword [ebx]
mov edx, eax
call fcn.005ec4f0
mov eax, dword [esi - 0x14]
mov dword [esi - 0x2c], edi
test edi, edi
je 0x6438a4
mov ecx, dword [esi - 8]
test ecx, ecx
je 0x64386b
push ecx
mov edx, eax
mov ecx, ebx
call fcn.005ed1e0
mov edi, dword [esi - 0x2c]
add esp, 4
mov dword [edi + 0x14], eax
cmp dword [ebx + 0x24], 0
jne case.0x640f8a.218
mov edi, dword [esi - 0x2c]
mov ecx, edi
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle case.0x640f8a.218
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
jmp case.0x640f8a.218
test eax, eax
je 0x6438b1
mov ecx, dword [ebx]
mov edx, eax
call fcn.005ed500
mov edx, dword [esi - 8]
test edx, edx
je case.0x640f8a.218
mov ecx, dword [ebx]
call fcn.005ec4f0
jmp case.0x640f8a.218
push dword [esi - 0x14]
mov edx, dword [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.005ed1e0
mov ecx, dword [ebp + 0xc]
add esp, 4
mov edx, eax
mov dword [esi - 0x2c], eax
push dword [esi + 4]
call fcn.005ed1e0
add esp, 4
jmp 0x644474
mov ebx, dword [ebp + 0xc]
mov edi, dword [esi - 0x14]
push 0
push 0x18
mov ebx, dword [ebx]
mov ecx, ebx
call fcn.005b5d30
add esp, 8
test eax, eax
jne 0x64391c
test edi, edi
je 0x643918
mov edx, edi
mov ecx, ebx
call fcn.005ec4f0
xor eax, eax
jmp 0x64392c
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 4], edi
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
mov edx, eax
mov dword [esi - 0x20], eax
call fcn.005ed1e0
add esp, 4
mov dword [esi - 0x20], eax
jmp case.0x640f8a.218
push dword [esi + 4]
mov edx, dword [esi - 0x14]
mov ecx, dword [ebp + 0xc]
call fcn.005ed1e0
add esp, 4
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov edi, dword [esi + 4]
push 0
push 0x18
mov ebx, dword [eax]
mov ecx, ebx
call fcn.005b5d30
add esp, 8
test eax, eax
jne 0x643991
test edi, edi
je 0x643987
mov edx, edi
mov ecx, ebx
call fcn.005ec4f0
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x640f8a.218
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 4], edi
mov dword [esi + 4], eax
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
lea eax, [esi - 0x80]
push 0
push dword [esi - 0x5c]
lea ebx, [esi - 0x2c]
xor edx, edx
push 0
push dword [esi + 4]
push eax
push dword [esi - 0x74]
push dword [esi - 0x14]
push ecx
push 0
push ebx
mov ecx, edi
call fcn.00601870
add esp, 0xc
lea edx, [esi - 0x50]
mov ecx, edi
push eax
lea eax, [esi - 0x44]
push eax
call fcn.005fffa0
mov cl, byte [edi + 0xcc]
add esp, 0x24
cmp cl, 2
jb case.0x640f8a.218
mov eax, dword [edi + 0xec]
test eax, eax
je case.0x640f8a.218
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp cl, 3
je case.0x640f8a.218
mov ecx, dword [edi]
push 0
push 0x10
test ecx, ecx
je 0x643a22
call fcn.005b5d30
jmp 0x643a27
call fcn.005b5750
mov ecx, eax
add esp, 8
test ecx, ecx
je case.0x640f8a.218
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx], eax
mov eax, dword [ebx]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x114]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x114], ecx
jmp case.0x640f8a.218
mov dword [esi + 4], 2
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov edx, dword [esi - 0x2c]
mov edi, dword [esi - 8]
push 0
mov dword [esp + 0x24], eax
call fcn.005ed1e0
add esp, 4
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x643a96
cmp dword [esp + 0x20], 0xffffffff
je 0x643ab5
mov ecx, dword [ebx]
cmp byte [ecx + 0xa5], 0
jne 0x643ab5
push dword [esi - 0x14]
push dword [esi - 0x10]
push str.syntax_error_after_column_name___.s_
push ebx
call fcn.005b9110
add esp, 0x10
mov edi, dword [esp + 0x1c]
lea eax, [esi - 0x14]
push 1
push eax
mov edx, edi
mov ecx, ebx
call fcn.005ed430
add esp, 8
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
lea ebx, [esi - 0x14]
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov edi, dword [esi - 8]
push 0
mov dword [esp + 0x24], eax
call fcn.005ed1e0
add esp, 4
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x643afe
cmp dword [esp + 0x20], 0xffffffff
je 0x643b23
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
cmp byte [ecx + 0xa5], 0
jne 0x643b23
push dword [ebx]
push dword [ebx + 4]
push str.syntax_error_after_column_name___.s_
push edx
call fcn.005b9110
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov ecx, dword [ebp + 0xc]
mov edx, eax
push 1
push ebx
call fcn.005ed430
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [ebx], eax
jmp case.0x640f8a.218
push dword [esi - 8]
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0xc]
call fcn.00601100
add esp, 4
jmp case.0x640f8a.218
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
xor edx, edx
call fcn.00629b00
add esp, 4
jmp case.0x640f8a.218
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
lea edx, [esi - 8]
call fcn.00629b00
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push 0
push 0
push eax
lea edx, [esi - 8]
call fcn.006124e0
add esp, 0xc
jmp case.0x640f8a.218
push 0
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
lea eax, [esi - 0x14]
lea edx, [esi - 0x20]
push eax
call fcn.006124e0
add esp, 0xc
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 8]
push 0
push eax
lea eax, [esi - 0x20]
push eax
lea edx, [esi - 0x2c]
call fcn.006124e0
add esp, 0xc
jmp case.0x640f8a.218
push 1
jmp 0x643b9c
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 8]
push 1
push eax
lea eax, [esi - 0x20]
lea edx, [esi - 0x2c]
push eax
call fcn.006124e0
add esp, 0xc
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
mov ecx, dword [esi - 0x20]
add eax, dword [esi + 4]
mov edx, dword [esi - 8]
sub eax, ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
push eax
call fcn.006255b0
add esp, 4
jmp case.0x640f8a.218
push dword [esi - 0x5c]
mov ecx, dword [ebp + 0xc]
lea edi, [esi - 0x44]
push dword [esi - 0x74]
lea edx, [esi - 0x50]
push dword [esi + 4]
push dword [esi - 0x14]
push dword [esi - 0x28]
push dword [esi - 0x2c]
push dword [esi - 0x38]
push edi
call fcn.00624fb0
add esp, 0x20
cmp dword [esi - 0x40], 0
jne 0x643c5e
mov eax, dword [esi - 0x50]
mov ecx, dword [esi - 0x4c]
mov dword [esi - 0x74], eax
mov dword [esi - 0x70], ecx
jmp case.0x640f8a.218
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi - 0x74], eax
mov dword [esi - 0x70], ecx
jmp case.0x640f8a.218
mov dword [esi - 8], 0x41
jmp case.0x640f8a.218
mov dword [esi + 0x10], 0x21
jmp case.0x640f8a.218
movzx eax, word [esi + 2]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov dword [esi - 0x14], 0x7f
mov dword [esi - 0x10], eax
jmp case.0x640f8a.218
mov eax, dword [esi - 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [esi - 8]
mov dword [ecx + 0x24], eax
mov ecx, dword [esi - 0x14]
mov eax, dword [esi - 8]
mov dword [ecx + 0x28], eax
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
mov dword [eax + 0x28], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
push str.qualified_table_names_are_not_allowed_on_INSERT__UPDATE__and_DELETE_statements_within_triggers
push dword [ebp + 0xc]
mov dword [esi - 0x14], eax
mov eax, dword [esi + 8]
mov dword [esi - 0x10], eax
call fcn.005b9110
add esp, 8
jmp case.0x640f8a.218
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push dword [ebp + 0xc]
call fcn.005b9110
add esp, 8
jmp case.0x640f8a.218
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push dword [ebp + 0xc]
call fcn.005b9110
add esp, 8
jmp case.0x640f8a.218
mov al, byte [esi - 0x44]
mov dl, 0x7f
mov ecx, dword [ebp + 0xc]
push dword [esi + 4]
mov ebx, dword [esi - 8]
push dword [esi - 0x50]
mov byte [esp + 0x17], al
mov eax, dword [esi - 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
lea eax, [esi - 0x38]
push eax
mov dword [esp + 0x24], ebx
call fcn.00625aa0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x643db7
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
cmp byte [eax + 0xcc], 2
jb 0x643d72
mov dword [edi + 0x14], edx
xor ebx, ebx
mov dword [esp + 0x10], 0
jmp 0x643da7
mov ecx, dword [esp + 0x14]
push 1
call fcn.005ec9c0
add esp, 4
mov dword [edi + 0x14], eax
test ebx, ebx
je 0x643d9f
mov ecx, dword [esp + 0x14]
mov edx, ebx
push 0
push 1
call fcn.005ec680
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x643da7
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov ecx, edi
mov dword [ecx + 0x10], eax
mov al, byte [esp + 0xf]
mov byte [edi + 1], al
mov eax, dword [esp + 0x10]
test eax, eax
je 0x643dca
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.005ed500
test ebx, ebx
je 0x643dd9
mov ecx, dword [esp + 0x14]
mov edx, ebx
call fcn.005ec4f0
mov dword [esi - 0x50], edi
jmp case.0x640f8a.218
mov al, byte [esi - 0x44]
mov dl, 0x7d
push dword [esi + 4]
mov ecx, dword [ebp + 0xc]
push dword [esi - 0x50]
mov edi, dword [esi - 8]
mov byte [esp + 0x17], al
mov eax, dword [esi - 0x14]
mov ebx, dword [ecx]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [esi - 0x20]
mov dword [esp + 0x1c], eax
lea eax, [esi - 0x2c]
push eax
call fcn.00625aa0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x643e72
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0xcc], 2
jb 0x643e32
xor edx, edx
mov dword [esp + 0x18], edx
jmp 0x643e4d
mov edx, dword [esp + 0x18]
mov ecx, ebx
push 1
call fcn.005eced0
mov ecx, dword [ebp + 0xc]
add esp, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 0x18], edx
mov dl, byte [esp + 0xf]
mov dword [eax + 0x1c], edi
mov byte [eax + 1], dl
test edi, edi
je 0x643ec1
mov edx, dword [edi]
call fcn.005fff40
jmp 0x643ec1
mov edx, dword [esp + 0x14]
mov ecx, ebx
call fcn.006015f0
test edi, edi
je 0x643ec1
mov edx, dword [edi]
test edx, edx
je 0x643e8e
mov ecx, ebx
call fcn.005ed500
mov edx, dword [edi + 4]
test edx, edx
je 0x643e9c
mov ecx, ebx
call fcn.005ec4f0
mov edx, dword [edi + 8]
test edx, edx
je 0x643eaa
mov ecx, ebx
call fcn.005ed500
mov edx, dword [edi + 0xc]
test edx, edx
je 0x643eb8
mov ecx, ebx
call fcn.005ec4f0
mov edx, edi
mov ecx, ebx
call fcn.005b5a40
mov eax, dword [esp + 0x18]
test eax, eax
je 0x643ed7
push 1
mov edx, eax
mov ecx, ebx
call fcn.006187b0
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esi - 0x50], eax
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov dl, 0x7e
push dword [esi + 4]
mov edi, dword [esi - 8]
push dword [esi - 0x38]
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
lea eax, [esi - 0x20]
push eax
mov dword [esp + 0x24], edi
call fcn.00625aa0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x643f4e
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0xcc], 2
jb 0x643f1d
xor edi, edi
jmp 0x643f41
test edi, edi
je 0x643f39
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push 1
call fcn.005ec680
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x643f41
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov ecx, ebx
mov dword [ecx + 0x10], eax
mov byte [ebx + 1], 0xb
test edi, edi
je 0x643f5d
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.005ec4f0
mov dword [esi - 0x38], ebx
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esi - 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esi - 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
push 0
push 0x2c
mov ebx, dword [eax]
test ebx, ebx
je 0x643f90
mov ecx, ebx
call fcn.005b5d30
jmp 0x643f95
call fcn.005b5750
mov edi, eax
add esp, 8
test edi, edi
je 0x644002
push 0x2c
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 0x18]
mov ecx, ebx
mov word [edi], 0xb88
mov dword [edi + 8], eax
push dword [esp + 0x20]
call fcn.005b5fe0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x643ff7
mov dl, byte [ebx]
test dl, dl
je 0x643ff7
mov ecx, ebx
nop word [eax + eax]
movzx eax, dl
test byte [eax + 0x791c78], 1
je 0x643fef
mov byte [ecx], 0x20
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
jne 0x643fe0
mov dword [edi + 0x20], ebx
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x644018
push 1
mov edx, eax
mov ecx, ebx
call fcn.006187b0
add esp, 4
xor edi, edi
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x34
mov ecx, dword [ebx]
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x644070
push 0x34
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov byte [edi], 0x47
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.005ebd00
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
cmp dword [edi + 0x18], eax
jle 0x644070
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.005b9110
add esp, 0xc
mov dword [esi - 0x20], edi
test edi, edi
je case.0x640f8a.218
mov byte [edi + 1], 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 8]
push 1
push eax
mov edx, 0x47
mov ecx, dword [ecx]
call fcn.005ebdc0
add esp, 8
mov dword [esi - 0x38], eax
test eax, eax
je case.0x640f8a.218
mov cl, byte [esi - 0x20]
mov byte [eax + 1], cl
jmp case.0x640f8a.218
mov dword [esi + 4], 1
jmp case.0x640f8a.218
mov dword [esi + 4], 3
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
mov ebx, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], 0
mov edi, dword [eax]
mov dword [esp + 0x10], edi
cmp byte [edi + 0x51], 0
jne 0x6441d5
mov ecx, eax
call fcn.00617d90
test eax, eax
jne 0x6441d5
mov edx, ebx
xor ebx, ebx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x20], eax
mov eax, edi
mov dword [esp + 0x18], ecx
cmp dword [eax + 0x14], ebx
jle 0x6441a3
nop
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test ecx, ecx
je 0x644144
push ecx
mov edx, edi
mov ecx, eax
call fcn.005f95d0
add esp, 4
test eax, eax
je 0x64416b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
add edi, edi
mov edx, dword [esp + 0x20]
push 0
mov ecx, dword [eax + edi*8 + 0xc]
add ecx, 0x28
call fcn.005ba5d0
add esp, 4
mov edx, dword [eax + 8]
mov dword [esp + 0x1c], edx
test edx, edx
jne 0x644181
jmp 0x64416f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc ebx
mov ecx, dword [esp + 0x18]
cmp ebx, dword [eax + 0x14]
jl 0x644120
test edx, edx
je 0x64419f
mov ecx, dword [ebp + 0xc]
call fcn.00625bb0
mov ebx, dword [esp + 0x14]
mov edx, ebx
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00601ab0
jmp case.0x640f8a.218
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x24], 0
mov edi, dword [ebp + 0xc]
jne 0x6441c0
push 0
push edx
push str.no_such_trigger:__S
push edi
call fcn.005b9110
add esp, 0x10
jmp 0x6441c9
mov edx, ecx
mov ecx, edi
call fcn.006021b0
mov ebx, dword [esp + 0x14]
mov byte [edi + 0x11], 1
mov edi, dword [esp + 0x10]
mov edx, ebx
mov ecx, edi
call fcn.00601ab0
jmp case.0x640f8a.218
push dword [esi + 4]
mov eax, dword [esi - 0x20]
mov edx, 0x18
push dword [esi - 8]
mov ecx, dword [ebp + 0xc]
push eax
push eax
push 0x791c4c
call fcn.005f9d70
add esp, 0x14
jmp case.0x640f8a.218
mov eax, dword [esi + 4]
mov edx, 0x19
mov ecx, dword [ebp + 0xc]
push eax
push 0
push 0
push eax
push 0x790e60
call fcn.005f9d70
add esp, 0x14
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.00617d90
test eax, eax
jne case.0x640f8a.218
xor edx, edx
mov ecx, edi
call fcn.006026d0
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
lea edx, [esi - 8]
call fcn.00602750
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
xor edx, edx
push 0
call fcn.005f90a0
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
lea edx, [esi - 8]
call fcn.005f90a0
add esp, 4
jmp case.0x640f8a.218
mov edx, dword [esi - 0x20]
lea eax, [esi + 4]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.005f48a0
add esp, 4
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea edx, [esi - 8]
mov eax, dword [ecx + 0xc4]
add eax, dword [ecx + 0xc0]
sub eax, dword [edx]
mov dword [esi - 4], eax
call fcn.005f4d60
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ecx]
inc byte [ecx + 0x18]
inc dword [eax + 0x118]
mov word [eax + 0x11c], dx
mov edx, dword [esi + 4]
call fcn.005f5210
jmp case.0x640f8a.218
mov edx, dword [esi - 0x38]
lea eax, [esi + 4]
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [esi - 0x14]
push eax
call fcn.005f54c0
add esp, 8
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
xor edx, edx
call fcn.0062ac10
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
lea edx, [esi + 4]
call fcn.0062ac10
jmp case.0x640f8a.218
push dword [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
lea eax, [esi - 0x14]
push eax
lea edx, [esi - 0x20]
call fcn.0062a9e0
add esp, 0xc
jmp case.0x640f8a.218
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.0062aba0
mov dword [edi + 0xf8], 0
mov dword [edi + 0xfc], 0
jmp case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0xf8]
test edx, edx
jne 0x644388
mov eax, dword [esi + 4]
mov dword [ecx + 0xf8], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0xfc], eax
jmp case.0x640f8a.218
mov eax, dword [esi + 8]
sub eax, edx
add eax, dword [esi + 4]
mov dword [ecx + 0xfc], eax
jmp case.0x640f8a.218
mov edx, dword [esi + 4]
test edx, edx
je case.0x640f8a.218
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10c]
mov dword [edx + 4], eax
mov dword [ecx + 0x10c], edx
mov dword [ecx + 0x110], edx
jmp case.0x640f8a.218
push dword [esi - 8]
mov ecx, dword [ebp + 0xc]
lea edi, [esi - 0x38]
push dword [esi - 0x2c]
xor edx, edx
push edi
call fcn.00602ab0
add esp, 0xc
mov dword [edi], eax
jmp case.0x640f8a.218
push dword [esi - 8]
mov edx, dword [esi - 0x50]
lea eax, [esi - 0x38]
push dword [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
push eax
call fcn.00602ab0
add esp, 0xc
mov dword [esi - 0x50], eax
jmp case.0x640f8a.218
push dword [esi - 0x14]
mov edx, dword [esi + 4]
mov ecx, dword [ebp + 0xc]
call fcn.0063bdd0
mov ecx, dword [esi + 4]
add esp, 4
mov eax, dword [esi - 0x14]
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 4]
mov dword [esi - 0x14], eax
jmp case.0x640f8a.218
mov eax, dword [esi - 8]
test eax, eax
je case.0x640f8a.324
mov ecx, dword [esi - 0x2c]
mov ebx, dword [esi - 0x28]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x64443c
xor edi, edi
jmp 0x64446f
mov eax, dword [ebp + 0xc]
mov edx, ebx
mov ecx, dword [eax]
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.005b5d30
mov edi, eax
add esp, 8
test edi, edi
je 0x64446c
push ebx
push dword [esp + 0x28]
push edi
call fcn.006e8ef0
add esp, 0xc
mov byte [ebx + edi], 0
mov eax, dword [esi - 8]
mov dword [eax], edi
mov eax, dword [esi - 8]
mov dword [esi - 0x2c], eax
mov eax, dword [esp + 0x2c]
movzx edi, word [eax*2 + 0x792db0]
movsx eax, byte [eax + 0x791860]
lea eax, [eax + eax*2]
lea edx, [esi + eax*4]
movzx eax, word [edx]
movsx ecx, word [eax*2 + 0x791f48]
add ecx, edi
movzx eax, word [ecx*2 + 0x793188]
lea ecx, [edx + 0xc]
mov edx, dword [esp + 0x30]
mov dword [edx], ecx
mov word [ecx + 2], di
pop edi
pop esi
mov word [ecx], ax
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 4]
mov ebx, dword [esi - 8]
mov edx, dword [esi - 0x14]
test edi, edi
je 0x6444d4
mov dword [edi + 8], edx
mov dword [edi + 0xc], ebx
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
test edx, edx
je 0x6444e2
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
call fcn.005ed500
test ebx, ebx
je 0x642a7b
mov eax, dword [ebp + 0xc]
mov edx, ebx
mov ecx, dword [eax]
call fcn.005ed500
mov dword [esi - 0x2c], edi
jmp case.0x640f8a.218
mov edx, dword [esi + 4]
lea edi, [esi - 0x38]
mov ecx, dword [ebp + 0xc]
push edi
push dword [esi - 8]
push dword [esi - 0x14]
call fcn.0063bd30
add esp, 0xc
mov dword [edi], eax
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
mov edx, dword [esi - 8]
test edi, edi
je 0x644539
mov dword [edi + 8], 0
mov dword [edi + 0xc], edx
mov dword [esi - 0x20], edi
jmp case.0x640f8a.218
test edx, edx
je 0x641890
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
call fcn.005ed500
mov dword [esi - 0x20], edi
jmp case.0x640f8a.218
mov edx, dword [esi + 4]
lea edi, [esi - 0x2c]
mov ecx, dword [ebp + 0xc]
push edi
push dword [esi - 8]
push 0
call fcn.0063bd30
add esp, 0xc
mov dword [edi], eax
jmp case.0x640f8a.218
mov edi, dword [esi + 4]
lea eax, [esi - 8]
test edi, edi
je 0x6445e5
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
test eax, eax
je 0x6445e5
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x6445aa
xor ebx, ebx
mov dword [edi + 4], ebx
mov dword [eax], edi
jmp case.0x640f8a.218
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.005b5d30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x6445df
push dword [esp + 0x1c]
push dword [esp + 0x28]
push ebx
call fcn.006e8ef0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [ebx + eax], 0
lea eax, [esi - 8]
mov dword [edi + 4], ebx
mov dword [eax], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x64
mov ecx, dword [ebx]
test ecx, ecx
je 0x644600
call fcn.005b5d30
jmp 0x644605
call fcn.005b5750
mov edi, eax
add esp, 8
test edi, edi
je 0x644659
push 0x64
push 0
push edi
call fcn.006e9470
mov word [edi + 0x10], 0x5a59
add esp, 0xc
mov byte [edi + 0x12], 0x55
mov ecx, ebx
mov eax, dword [ebx]
mov al, byte [eax + 0x4c]
and al, 2
mov byte [edi + 0x13], 1
neg al
sbb al, al
xor edx, edx
and al, 0x42
mov byte [edi + 0x14], al
call fcn.0063bb50
xor edx, edx
mov dword [edi + 0x1c], eax
mov ecx, ebx
call fcn.0063bb50
mov dword [edi + 0x18], eax
mov dword [esi + 0x10], edi
jmp case.0x640f8a.218
xor edi, edi
mov dword [esi + 0x10], edi
jmp case.0x640f8a.218
mov al, byte [esi + 4]
mov ebx, 0x59
mov ecx, dword [esi - 0x14]
test ecx, ecx
mov edx, dword [esi - 8]
mov edi, dword [esi - 4]
mov dword [esp + 0x18], eax
mov eax, ecx
cmove eax, ebx
mov dword [esp + 0x1c], edi
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
cmp edx, 0x56
jne 0x6446aa
push str.unsupported_frame_specification
push ebx
call fcn.005b9110
add esp, 8
jmp 0x644735
mov ecx, dword [ebx]
push 0
push 0x64
test ecx, ecx
je 0x6446bb
call fcn.005b5d30
jmp 0x6446c0
call fcn.005b5750
mov edi, eax
add esp, 8
test edi, edi
je 0x644731
push 0x64
push 0
push edi
call fcn.006e9470
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov byte [edi + 0x10], al
mov eax, dword [esp + 0x20]
mov byte [edi + 0x11], al
mov byte [edi + 0x12], 0x55
test cl, cl
jne 0x644701
mov eax, dword [ebx]
movzx ecx, cl
test byte [eax + 0x4c], 2
mov eax, 0x42
cmovne ecx, eax
cmp dword [esp + 0x14], 0
mov byte [edi + 0x14], cl
mov ecx, ebx
sete al
xor edx, edx
mov byte [edi + 0x13], al
call fcn.0063bb50
mov edx, dword [esp + 0x1c]
mov ecx, ebx
mov dword [edi + 0x1c], eax
call fcn.0063bb50
mov dword [edi + 0x18], eax
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x644018
mov ecx, dword [ebx]
mov edx, edi
call fcn.005ec4f0
xor edi, edi
mov dword [esi - 0x14], edi
jmp case.0x640f8a.218
movzx eax, byte [esi + 4]
mov edx, dword [esi - 0x38]
mov ecx, dword [ebp + 0xc]
push eax
push dword [esi - 4]
push dword [esi - 8]
push dword [esi - 0x1c]
push dword [esi - 0x20]
call fcn.0063bc30
add esp, 0x14
mov dword [esi - 0x38], eax
jmp case.0x640f8a.218
movzx eax, word [esi - 0xa]
mov dword [esi - 8], eax
mov dword [esi - 4], 0
jmp case.0x640f8a.218
movzx ecx, word [esi + 2]
mov eax, dword [esi - 8]
mov dword [esi - 8], ecx
mov dword [esi - 4], eax
jmp case.0x640f8a.218
mov byte [esi + 0x10], 0
jmp case.0x640f8a.218
mov al, byte [esi + 4]
mov byte [esi - 8], al
jmp case.0x640f8a.218
mov al, byte [esi - 0xa]
mov byte [esi - 8], al
jmp case.0x640f8a.218
mov al, byte [esi + 2]
mov byte [esi + 4], al
jmp case.0x640f8a.218
mov ecx, dword [esi + 4]
mov eax, dword [esi - 8]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 4]
mov dword [esi - 8], eax
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x64
mov ecx, dword [ebx]
test ecx, ecx
je 0x6447ee
call fcn.005b5d30
jmp 0x6447f3
call fcn.005b5750
mov edi, eax
add esp, 8
test edi, edi
je 0x64481f
push 0x64
push 0
push edi
call fcn.006e9470
add esp, 0xc
test edi, edi
je 0x64481f
mov byte [edi + 0x10], 0xa3
mov eax, dword [esi + 4]
mov dword [edi + 0x28], eax
mov dword [esi + 4], edi
jmp case.0x640f8a.218
mov edx, dword [esi + 4]
test edx, edx
je 0x6418a9
mov ecx, dword [ebx]
call fcn.005ec4f0
mov dword [esi + 4], edi
jmp case.0x640f8a.218
mov ebx, dword [ebp + 0xc]
push 0
push 0x64
mov ecx, dword [ebx]
test ecx, ecx
je 0x64484d
call fcn.005b5d30
jmp 0x644852
call fcn.005b5750
mov edi, eax
add esp, 8
test edi, edi
je 0x644868
push 0x64
push 0
push edi
call fcn.006e9470
add esp, 0xc
mov dword [esi - 8], edi
test edi, edi
je case.0x640f8a.218
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x64488e
xor ebx, ebx
mov dword [edi], ebx
jmp case.0x640f8a.218
mov ecx, dword [ebx]
mov edx, eax
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.005b5d30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x6448bf
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x24]
push ebx
call fcn.006e8ef0
add esp, 0xc
mov byte [ebx + edi], 0
mov edi, dword [esi - 8]
mov dword [edi], ebx
jmp case.0x640f8a.218