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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x144
mov eax, dword [0x559940]
xor eax, esp
mov dword [esp + 0x140], eax
cmp byte [edx*2 + 0x54bda1], 0
mov eax, ecx
push ebx
push esi
push edi
mov ebx, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
jne 0x4968ba
cmp esi, dword [eax + 0x648]
jb 0x4968ba
lea edi, [eax + 8]
cmp esi, edi
jbe 0x496890
mov ebx, eax
nop
lea eax, [esi - 0x10]
mov ecx, ebx
mov dword [ebx], eax
lea eax, [esi + 4]
mov dl, byte [esi + 2]
push eax
call fcn.004966e0
mov esi, dword [ebx]
add esp, 4
cmp esi, edi
ja 0x496870
mov ebx, dword [esp + 0x14]
push str.parser_stack_overflow
push ebx
call fcn.00408830
mov edi, dword [esp + 0x50]
add esp, 8
mov dword [edi + 4], ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x140]
xor ecx, esp
call fcn.004f49c2
mov esp, ebp
pop ebp
ret
cmp edx, 0x10f
ja case.0x4968cd.198
movzx eax, byte [edx + 0x49b39c]
jmp dword [eax*4 + 0x49b0b0]
mov byte [ebx + 0x18f], 1
jmp case.0x4968cd.198
mov byte [ebx + 0x18f], 2
jmp case.0x4968cd.198
mov ecx, ebx
call fcn.0044f3a0
jmp case.0x4968cd.198
mov edx, dword [esi - 0xc]
mov ecx, ebx
call fcn.004578f0
jmp case.0x4968cd.198
mov dword [esi + 0x14], 7
jmp case.0x4968cd.198
movzx eax, byte [esi + 2]
mov dword [esi + 4], eax
jmp case.0x4968cd.198
mov cl, byte [esi - 0xe]
xor eax, eax
cmp cl, 0xc
mov byte [esp + 0x37], cl
mov ecx, dword [ebx]
sete al
mov dword [esp + 0x10], eax
cmp byte [ecx + 0x9d], 0
jne 0x4969bc
cmp byte [ebx + 0x190], 0
jne 0x4969bc
mov edx, dword [ecx + 0x130]
test edx, edx
je 0x4969bc
push dword [ebx + 0x1b8]
cmp byte [esp + 0x3b], 0xc
mov eax, str.ROLLBACK
push 0
push 0
mov edi, str.COMMIT
cmovne eax, edi
push eax
push 0x16
push dword [ecx + 0x134]
call edx
mov edi, eax
add esp, 0x18
cmp edi, 1
jne 0x496995
push str.not_authorized
push ebx
call fcn.00408830
mov dword [ebx + 0xc], 0x17
jmp 0x4969b1
test edi, edi
je 0x4969bc
cmp edi, 2
je 0x4969b4
push str.authorizer_malfunction
push ebx
mov edi, 1
call fcn.00408830
mov dword [ebx + 0xc], edi
add esp, 8
test edi, edi
jne case.0x4968cd.198
mov edi, dword [ebx + 8]
test edi, edi
jne 0x4969e5
cmp dword [ebx + 0x78], edi
jne 0x4969d4
mov eax, dword [ebx]
test byte [eax + 0x44], 8
jne 0x4969d4
mov byte [ebx + 0x17], 1
mov ecx, ebx
call fcn.00429580
mov edi, eax
test edi, edi
je case.0x4968cd.198
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
mov edx, dword [esp + 0x10]
cmp dword [eax + 0x30], ecx
jg 0x496a0d
push 0
push edx
push 1
mov edx, 1
mov ecx, edi
call fcn.00429830
jmp 0x49b035
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x58]
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.0x4968cd.198
lea eax, [esi + 4]
xor edx, edx
push eax
mov ecx, ebx
call fcn.00457ae0
add esp, 4
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov edx, 1
push eax
mov ecx, ebx
call fcn.00457ae0
add esp, 4
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov edx, 2
push eax
mov ecx, ebx
call fcn.00457ae0
add esp, 4
jmp case.0x4968cd.198
push dword [esi - 0x1c]
lea eax, [esi + 4]
mov ecx, ebx
push 0
push 0
push dword [esi - 0x3c]
lea edx, [esi - 0xc]
push eax
call fcn.00450c60
add esp, 0x14
jmp case.0x4968cd.198
inc byte [ebx + 0x18]
mov eax, dword [ebx]
inc dword [eax + 0x108]
jmp case.0x4968cd.198
mov dword [esi - 0x1c], 1
jmp case.0x4968cd.198
movzx eax, byte [esi + 4]
lea edx, [esi - 0x1c]
push 0
push eax
lea eax, [esi - 0xc]
mov ecx, ebx
push eax
call fcn.00452e90
jmp 0x49b035
push dword [esi + 4]
xor edx, edx
mov ecx, ebx
push 0
push 0
call fcn.00452e90
mov edx, dword [esi + 4]
add esp, 0xc
test edx, edx
je case.0x4968cd.198
mov ecx, dword [ebx]
push 1
call fcn.004711a0
add esp, 4
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
cmp eax, 5
jne 0x496b7d
mov edi, dword [esi + 4]
mov edx, eax
test edi, edi
je 0x496b7d
mov ecx, str.rowid
mov dword [esp + 0x18], ecx
mov al, byte [edi]
dec edx
test al, al
je 0x496b52
movzx ecx, byte [ecx]
movzx eax, al
mov al, byte [eax + 0x54ce60]
cmp al, byte [ecx + 0x54ce60]
mov ecx, dword [esp + 0x18]
jne 0x496b52
inc ecx
inc edi
mov dword [esp + 0x18], ecx
test edx, edx
jg 0x496b28
dec edx
test edx, edx
js 0x496b6e
movzx eax, byte [ecx]
movzx ecx, byte [eax + 0x54ce60]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x54ce60]
sub eax, ecx
jne 0x496b7a
mov dword [esi - 0xc], 0x60
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
mov dword [esi - 0xc], 0
push dword [esi + 4]
push eax
push str.unknown_table_option:__.s
push ebx
call fcn.00408830
add esp, 0x10
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea edx, [esi - 0xc]
call fcn.004517f0
add esp, 4
jmp case.0x4968cd.198
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
sub eax, dword [esi - 0x2c]
add eax, dword [esi + 4]
mov dword [esi - 0x28], eax
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
sub eax, dword [esi - 0x4c]
add eax, dword [esi + 4]
mov dword [esi - 0x48], eax
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
sub eax, dword [esi - 0xc]
add eax, dword [esi + 4]
mov dword [esi - 8], eax
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], ecx
jmp case.0x4968cd.198
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00451c30
jmp case.0x4968cd.198
lea edx, [esi - 0xc]
mov ecx, ebx
call fcn.00451c30
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x18], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x496c90
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x94
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x496c6e
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x496ca1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x496ca1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x496ca1
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov eax, dword [esi - 0xc]
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], eax
mov ecx, ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], eax
call fcn.00451c30
jmp case.0x4968cd.198
push dword [esi + 8]
mov edx, ebx
lea ecx, [esp + 0x3c]
push dword [esi + 4]
push 0x61
call fcn.004961b0
add esp, 0xc
lea edx, [esp + 0x38]
mov ecx, ebx
call fcn.00451c30
jmp case.0x4968cd.198
mov edi, dword [ebx + 0x1b0]
test edi, edi
je case.0x4968cd.198
movzx eax, word [edi + 0x2a]
cmp ax, 1
jl case.0x4968cd.198
mov ecx, dword [edi + 4]
movsx edx, ax
mov al, byte [esi + 4]
add edx, edx
mov byte [ecx + edx*8 - 4], al
or dword [edi + 0x24], 0x200
jmp case.0x4968cd.198
push dword [esi - 0x1c]
xor edx, edx
mov ecx, ebx
push dword [esi + 4]
push dword [esi - 0xc]
call fcn.00451e20
jmp 0x49b035
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
push 0
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.00455650
add esp, 0x24
jmp case.0x4968cd.198
mov edx, dword [esi - 0xc]
mov ecx, ebx
call fcn.004520c0
jmp case.0x4968cd.198
push dword [esi + 4]
lea eax, [esi - 0x1c]
xor edx, edx
push dword [esi - 0xc]
mov ecx, ebx
push eax
call fcn.00454830
jmp 0x49b035
mov eax, dword [ebx + 0x1b0]
test eax, eax
je case.0x4968cd.198
mov ecx, dword [eax + 0x10]
test ecx, ecx
je case.0x4968cd.198
mov al, byte [esi + 4]
mov byte [ecx + 0x18], al
jmp case.0x4968cd.198
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00452280
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
not eax
and eax, dword [esi - 0xc]
or eax, dword [esi + 4]
mov dword [esi - 0xc], eax
jmp case.0x4968cd.198
mov dword [esi - 0xc], 0
mov dword [esi - 8], 0
jmp case.0x4968cd.198
mov dword [esi - 0x1c], 0
mov dword [esi - 0x18], 0
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov dword [esi - 0x1c], eax
mov dword [esi - 0x18], 0xff
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
shl eax, 8
mov dword [esi - 0x1c], eax
mov dword [esi - 0x18], 0xff00
jmp case.0x4968cd.198
mov dword [esi - 0xc], 7
jmp case.0x4968cd.198
mov dword [esi - 0xc], 8
jmp case.0x4968cd.198
mov dword [esi + 4], 9
jmp case.0x4968cd.198
mov dword [esi + 4], 6
jmp case.0x4968cd.198
mov dword [esi - 0x1c], 0
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov dword [esi - 0xc], eax
jmp case.0x4968cd.198
mov dword [esi - 0xc], 1
jmp case.0x4968cd.198
mov dword [ebx + 0x54], 0
jmp case.0x4968cd.198
mov edx, dword [esi - 0x2c]
mov ecx, ebx
push 0
push dword [esi - 0x1c]
push dword [esi + 4]
call fcn.00451e20
jmp 0x49b035
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
push dword [esi - 0x1c]
jmp 0x496d46
mov edx, dword [esi - 0x1c]
mov ecx, ebx
call fcn.004520c0
jmp case.0x4968cd.198
push dword [esi - 0xc]
mov edx, dword [esi - 0x5c]
lea eax, [esi - 0x2c]
push dword [esi - 0x1c]
mov ecx, ebx
push eax
call fcn.00454830
mov ecx, dword [ebx + 0x1b0]
add esp, 0xc
test ecx, ecx
je case.0x4968cd.198
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je case.0x4968cd.198
mov al, byte [esi + 4]
mov byte [ecx + 0x18], al
jmp case.0x4968cd.198
mov dword [esi + 0x14], 0xa
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov dword [esi - 0x1c], eax
jmp case.0x4968cd.198
mov dword [esi + 4], 4
jmp case.0x4968cd.198
mov dword [esi + 4], 5
jmp case.0x4968cd.198
push dword [esi - 0xc]
mov edx, dword [esi + 4]
mov ecx, ebx
push 0
call fcn.00454470
add esp, 8
jmp case.0x4968cd.198
push dword [esi - 0x4c]
lea eax, [esi - 0x2c]
mov ecx, ebx
push dword [esi - 0x6c]
lea edx, [esi - 0x7c]
push dword [esi + 4]
push dword [esi - 0x1c]
push eax
lea eax, [esi - 0x3c]
push eax
call fcn.004538f0
add esp, 0x18
jmp case.0x4968cd.198
push dword [esi - 0xc]
mov edx, dword [esi + 4]
mov ecx, ebx
push 1
call fcn.00454470
add esp, 8
jmp case.0x4968cd.198
xorps xmm0, xmm0
mov byte [esp + 0x58], 9
lea eax, [esp + 0x58]
mov dword [esp + 0x6c], 0
movups xmmword [esp + 0x5c], xmm0
mov edx, dword [esi + 4]
mov ecx, ebx
push eax
call fcn.0047bc80
mov edx, dword [esi + 4]
add esp, 4
test edx, edx
je case.0x4968cd.198
mov ecx, dword [ebx]
push 1
call fcn.004711a0
add esp, 4
jmp case.0x4968cd.198
mov edi, dword [esi + 4]
mov edx, dword [esi - 0xc]
test edi, edi
je 0x497010
mov dword [edi + 0x40], edx
cmp dword [edi + 0x30], 0
je 0x497017
xor edx, edx
mov eax, edi
xor ecx, ecx
nop dword [eax]
mov dword [eax + 0x34], edx
inc ecx
or dword [eax + 8], 0x100
mov edx, eax
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x496fd0
test dword [edi + 8], 0x400
jne 0x497017
mov eax, dword [ebx]
mov eax, dword [eax + 0x74]
test eax, eax
jle 0x497017
cmp ecx, eax
jle 0x497017
push str.too_many_terms_in_compound_SELECT
push ebx
call fcn.00408830
add esp, 8
mov dword [esi - 0xc], edi
jmp case.0x4968cd.198
mov ecx, dword [ebx]
call fcn.00458d70
mov dword [esi - 0xc], edi
jmp case.0x4968cd.198
mov edi, dword [esi + 4]
mov ecx, dword [esi - 0x1c]
mov dword [esp + 0x20], ecx
test edi, edi
je 0x497123
cmp dword [edi + 0x30], 0
je 0x4970f6
xor edx, edx
mov eax, edi
xor ecx, ecx
mov dword [eax + 0x34], edx
inc ecx
or dword [eax + 8], 0x100
mov edx, eax
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x497041
test dword [edi + 8], 0x400
jne 0x497079
mov eax, dword [ebx]
mov eax, dword [eax + 0x74]
test eax, eax
jle 0x497079
cmp ecx, eax
jle 0x497079
push str.too_many_terms_in_compound_SELECT
push ebx
call fcn.00408830
add esp, 8
mov eax, dword [ebx]
xor edx, edx
push 0
push 0
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.00457270
add esp, 8
test eax, eax
je 0x4970b4
mov ecx, dword [eax]
test ecx, ecx
je 0x4970b4
lea ecx, [ecx + ecx*4]
add ecx, ecx
mov dword [eax + ecx*8 - 0x34], edi
mov dword [eax + ecx*8 - 0x14], 0
mov dword [eax + ecx*8 - 0x10], 0
jmp 0x4970d1
mov ecx, dword [esp + 0x10]
xor edx, edx
call fcn.00456e70
mov ecx, dword [esp + 0x10]
mov edx, edi
push 1
call fcn.004711a0
add esp, 4
xor eax, eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
xor edx, edx
mov ecx, ebx
call fcn.004712d0
mov ecx, dword [esp + 0x40]
mov edi, eax
add esp, 0x20
test edi, edi
je 0x497123
mov al, byte [esi - 0xc]
mov byte [edi + 4], al
mov dword [edi + 0x30], ecx
test ecx, ecx
je 0x49710a
and dword [ecx + 8], 0xfffffbff
and dword [edi + 8], 0xfffffbff
cmp dword [esi - 0xc], 0x74
je 0x497135
mov byte [ebx + 0x16], 1
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
test ecx, ecx
je 0x497135
mov edx, ecx
mov ecx, dword [ebx]
push 1
call fcn.004711a0
add esp, 4
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov dword [esi - 0xc], 0x74
jmp case.0x4968cd.198
mov eax, dword [esi + 8]
mov ecx, dword [ebx]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esi - 0x6c]
mov dword [esp + 0x24], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esi - 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esi - 0x5c]
push 0
push 0x44
mov dword [esp + 0x1c], eax
call fcn.004058c0
add esp, 8
lea edi, [esp + 0x70]
test eax, eax
cmovne edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x49722f
mov ecx, dword [ebx]
push eax
push 0x31
call fcn.004058c0
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x4971eb
push 0x30
push 0
push eax
call fcn.004f7f30
mov ecx, dword [esp + 0x3c]
add esp, 0xc
or eax, 0xffffffff
mov byte [ecx], 0x9a
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x30]
mov dword [ecx + 8], eax
mov byte [eax], 0
mov dword [ecx + 0x18], 1
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x497220
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edx
jmp 0x49722f
test edx, edx
je 0x49722d
mov ecx, dword [esp + 0x14]
call fcn.00441410
xor eax, eax
mov dword [edi], eax
mov eax, dword [esp + 0x24]
mov byte [edi + 4], 0x77
mov dword [edi + 8], eax
xor eax, eax
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
mov dword [edi + 0x18], 0xffffffff
mov word [edi + 6], ax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x497297
mov ecx, dword [ebx]
push eax
push 0x58
test ecx, ecx
je 0x497276
call fcn.004058c0
jmp 0x49727b
call fcn.004051e0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x497297
push 0x58
push 0
push eax
call fcn.004f7f30
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x49], 0
je 0x4972f9
xor eax, eax
lea edx, [esp + 0x70]
cmp edi, edx
mov edx, edi
setne al
push eax
call fcn.004711a0
add esp, 4
xor edi, edi
mov dword [esi - 0x7c], edi
jmp case.0x4968cd.198
mov eax, dword [esi - 0xc]
mov ecx, dword [ebx]
push 0
push 0x44
mov dword [esp + 0x24], eax
call fcn.004058c0
add esp, 8
lea edi, [esp + 0xb8]
test eax, eax
cmovne edi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4973b2
mov ecx, dword [ebx]
push eax
push 0x31
call fcn.004058c0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x49736e
push 0x30
push 0
push eax
call fcn.004f7f30
mov ecx, dword [esp + 0x24]
add esp, 0xc
or eax, 0xffffffff
mov byte [ecx], 0x9a
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x30]
mov dword [ecx + 8], eax
mov byte [eax], 0
mov dword [ecx + 0x18], 1
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x24], eax
call fcn.004058c0
mov edx, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x4973a3
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edx
jmp 0x4973b2
test edx, edx
je 0x4973b0
mov ecx, dword [esp + 0x1c]
call fcn.00441410
xor eax, eax
mov dword [edi], eax
xor eax, eax
mov byte [edi + 4], 0x77
mov dword [edi + 8], 0x200
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
mov dword [edi + 0x18], 0xffffffff
mov word [edi + 6], ax
mov ecx, dword [ebx]
push eax
push 0x58
test ecx, ecx
je 0x4973f1
call fcn.004058c0
jmp 0x4973f6
call fcn.004051e0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x497412
push 0x58
push 0
push eax
call fcn.004f7f30
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x49], 0
je 0x497477
xor eax, eax
lea edx, [esp + 0xb8]
cmp edi, edx
mov edx, edi
setne al
push eax
call fcn.004711a0
add esp, 4
xor edi, edi
mov dword [esi - 0x2c], edi
jmp case.0x4968cd.198
mov eax, dword [esi - 0x3c]
mov ecx, dword [ebx]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0xc]
push 0
push 0x44
mov dword [esp + 0x24], eax
call fcn.004058c0
add esp, 8
lea edi, [esp + 0x100]
test eax, eax
cmovne edi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x497537
mov ecx, dword [ebx]
push eax
push 0x31
call fcn.004058c0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x4974f3
push 0x30
push 0
push eax
call fcn.004f7f30
mov ecx, dword [esp + 0x24]
add esp, 0xc
or eax, 0xffffffff
mov byte [ecx], 0x9a
mov word [ecx + 0x22], ax
lea eax, [ecx + 0x30]
mov dword [ecx + 8], eax
mov byte [eax], 0
mov dword [ecx + 0x18], 1
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x24], eax
call fcn.004058c0
mov edx, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x497528
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edx
jmp 0x497537
test edx, edx
je 0x497535
mov ecx, dword [esp + 0x1c]
call fcn.00441410
xor eax, eax
mov dword [edi], eax
xor eax, eax
mov byte [edi + 4], 0x77
mov dword [edi + 8], 0x600
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
mov dword [edi + 0x18], 0xffffffff
mov word [edi + 6], ax
mov ecx, dword [ebx]
push eax
push 0x58
test ecx, ecx
je 0x497576
call fcn.004058c0
jmp 0x49757b
call fcn.004051e0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x497597
push 0x58
push 0
push eax
call fcn.004f7f30
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov ecx, dword [ebx]
cmp byte [ecx + 0x49], 0
je 0x4975fc
xor eax, eax
lea edx, [esp + 0x100]
cmp edi, edx
mov edx, edi
setne al
push eax
call fcn.004711a0
add esp, 4
xor edi, edi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49760b
and dword [eax + 8], 0xfffffbff
test edi, edi
je 0x49761e
mov byte [edi + 4], 0x74
mov dword [edi + 0x30], eax
mov dword [esi - 0x3c], edi
jmp case.0x4968cd.198
mov edi, eax
mov dword [esi - 0x3c], edi
jmp case.0x4968cd.198
mov edi, dword [esi - 0x1c]
mov eax, dword [esi - 0xc]
mov ecx, dword [ebx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
test edi, edi
jne 0x497655
push edi
push 0x1c
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497716
xor edx, edx
jmp 0x4976a9
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x4976a9
lea eax, [edx + edx*2]
xor edx, edx
shl eax, 4
add eax, 4
mov dword [esp + 0x10], eax
cmp edi, dword [ecx + 0x128]
jb 0x497706
cmp edi, dword [ecx + 0x12c]
jae 0x497706
movzx eax, word [ecx + 0x10c]
cdq
mov dword [esp + 0x1c], eax
xor eax, eax
cmp eax, edx
ja 0x497700
jb 0x4976a3
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x1c]
ja 0x497704
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x1c], edi
cmp dword [esi + 8], 0
jbe 0x49777e
test edi, edi
je 0x49777e
mov eax, dword [edi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
lea eax, [edi + eax*8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x49773c
xor edi, edi
jmp 0x497770
mov eax, dword [esp + 0x10]
xor edx, edx
push edx
push eax
mov edx, edi
call fcn.00405960
add esp, 8
test eax, eax
jne 0x4976a5
mov eax, dword [esp + 0x28]
test eax, eax
je 0x497729
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x497738
mov ecx, dword [esp + 0x20]
mov edx, edi
call fcn.00442460
xor edi, edi
jmp 0x4976c9
mov ecx, dword [ebx]
mov edx, eax
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497770
push dword [esp + 0x10]
push dword [esp + 0x20]
push edi
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [eax + edi], 0
mov eax, dword [esp + 0x14]
mov ecx, edi
mov dword [eax - 0x10], edi
call fcn.004089e0
mov ecx, dword [esi - 0x1c]
mov ebx, dword [ebx]
test ecx, ecx
je case.0x4968cd.198
mov eax, dword [ecx]
lea eax, [eax + eax*2]
lea eax, [eax*8 - 0xc]
add eax, ecx
mov dword [esp + 0x24], eax
mov edi, dword [eax]
test edi, edi
je 0x497837
test ebx, ebx
je 0x4977df
cmp dword [ebx + 0x1d0], 0
je 0x4977bf
mov edx, edi
mov ecx, ebx
call fcn.00405430
jmp 0x497837
cmp edi, dword [ebx + 0x128]
jb 0x4977df
cmp edi, dword [ebx + 0x12c]
jae 0x4977df
mov eax, dword [ebx + 0x124]
mov dword [edi], eax
mov dword [ebx + 0x124], edi
jmp 0x497837
cmp dword [0x55a418], 0
je 0x49782d
mov eax, dword [0x560268]
test eax, eax
je 0x4977fb
push eax
call dword [0x55a474]
add esp, 4
push edi
call dword [0x55a450]
sub dword [0x560070], eax
add esp, 4
dec dword [0x560094]
push edi
call dword [0x55a448]
mov eax, dword [0x560268]
add esp, 4
test eax, eax
je 0x497837
push eax
call dword [0x55a47c]
jmp 0x497834
push edi
call dword [0x55a448]
add esp, 4
mov ecx, dword [esi - 8]
mov eax, dword [esi - 4]
sub eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test ecx, ecx
jne 0x497858
mov eax, dword [esp + 0x24]
xor edi, edi
mov dword [eax], edi
jmp case.0x4968cd.198
cdq
mov ecx, ebx
add eax, 1
adc edx, 0
push edx
push eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497887
mov ebx, dword [esp + 0x1c]
push ebx
push dword [esp + 0x18]
push edi
call fcn.004f79b0
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x24]
mov dword [eax], edi
jmp case.0x4968cd.198
mov ecx, dword [ebx]
push 0
push 0x31
call fcn.004058c0
mov edi, eax
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
je 0x4978d1
push 0x30
push 0
push edi
call fcn.004f7f30
mov byte [edi], 0x9a
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
lea eax, [edi + 0x30]
mov dword [edi + 8], eax
mov byte [eax], 0
mov dword [edi + 0x18], 1
mov edi, dword [esi - 0xc]
mov ebx, dword [ebx]
test edi, edi
jne 0x4978f5
push edi
push 0x1c
mov ecx, ebx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497973
xor edx, edx
jmp 0x497937
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x497937
lea ecx, [edx + edx*2]
xor eax, eax
shl ecx, 4
add ecx, 4
mov dword [esp + 0x1c], eax
cmp edi, dword [ebx + 0x128]
jb 0x497961
cmp edi, dword [ebx + 0x12c]
jae 0x497961
movzx eax, word [ebx + 0x10c]
cdq
cmp dword [esp + 0x1c], edx
ja 0x49795f
jb 0x497931
cmp ecx, eax
ja 0x49795f
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0xc], edi
jmp case.0x4968cd.198
xor eax, eax
push eax
push ecx
mov edx, edi
mov ecx, ebx
call fcn.00405960
add esp, 8
test eax, eax
jne 0x497933
mov eax, dword [esp + 0x10]
test eax, eax
je 0x497984
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x497991
mov edx, edi
mov ecx, ebx
call fcn.00442460
xor edi, edi
mov dword [esi - 0xc], edi
jmp case.0x4968cd.198
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
mov dword [esp + 0x20], edi
test edi, edi
je 0x4979ea
push 0x30
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov byte [edi], 0x9a
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x4979ea
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov ecx, dword [ebx]
lea eax, [esi - 0x1c]
push 1
push eax
mov edx, 0x3b
call fcn.00440d30
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x20], eax
call fcn.004058c0
mov edi, eax
add esp, 0x10
mov dword [esp + 0x28], edi
test edi, edi
je 0x497a7d
push 0x30
push 0
push edi
call fcn.004f7f30
mov edx, dword [esp + 0x2c]
or eax, 0xffffffff
add esp, 0xc
mov byte [edi], 0x7a
mov word [edi + 0x22], ax
test edx, edx
je 0x497a45
mov dword [edi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x497a5b
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x497a9f
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x497a9f
mov eax, dword [esp + 0x10]
mov edi, dword [ebx]
test eax, eax
je 0x497a90
mov edx, eax
mov ecx, edi
call fcn.00441410
mov edx, dword [esp + 0x20]
test edx, edx
je 0x497a9f
mov ecx, edi
call fcn.00441410
mov edi, dword [esi - 0x2c]
mov ebx, dword [ebx]
test edi, edi
jne 0x497ac3
push edi
push 0x1c
mov ecx, ebx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497b41
xor edx, edx
jmp 0x497b05
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x497b05
lea ecx, [edx + edx*2]
xor eax, eax
shl ecx, 4
add ecx, 4
mov dword [esp + 0x1c], eax
cmp edi, dword [ebx + 0x128]
jb 0x497b2f
cmp edi, dword [ebx + 0x12c]
jae 0x497b2f
movzx eax, word [ebx + 0x10c]
cdq
cmp dword [esp + 0x1c], edx
ja 0x497b2d
jb 0x497aff
cmp ecx, eax
ja 0x497b2d
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x2c], edi
jmp case.0x4968cd.198
xor eax, eax
push eax
push ecx
mov edx, edi
mov ecx, ebx
call fcn.00405960
add esp, 8
test eax, eax
jne 0x497b01
mov eax, dword [esp + 0x28]
test eax, eax
je 0x497b52
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x497b5f
mov edx, edi
mov ecx, ebx
call fcn.00442460
xor edi, edi
mov dword [esi - 0x2c], edi
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esi - 0xc], eax
mov dword [esi - 8], ecx
jmp case.0x4968cd.198
mov ecx, dword [ebx]
push 0
push 0x58
test ecx, ecx
je 0x497b8b
call fcn.004058c0
jmp 0x497b90
call fcn.004051e0
mov edi, eax
add esp, 8
test edi, edi
je 0x497ba6
push 0x58
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov dword [esi + 0x14], edi
jmp case.0x4968cd.198
mov ebx, dword [esi + 4]
mov dword [esi - 0xc], ebx
test ebx, ebx
je case.0x4968cd.198
mov edx, dword [ebx]
dec edx
test edx, edx
jle 0x497bde
lea edi, [edx + edx*4]
shl edi, 4
add edi, 0x2c
add edi, ebx
nop
mov al, byte [edi - 0x50]
lea edi, [edi - 0x50]
dec edx
mov byte [edi + 0x50], al
test edx, edx
jg 0x497bd0
mov byte [ebx + 0x2c], 0
jmp case.0x4968cd.198
mov edx, dword [esi - 0xc]
test edx, edx
je case.0x4968cd.198
mov eax, dword [edx]
test eax, eax
jle case.0x4968cd.198
lea ecx, [eax + eax*4]
mov al, byte [esi + 4]
add ecx, ecx
mov byte [edx + ecx*8 - 0x24], al
jmp case.0x4968cd.198
mov edx, dword [esi - 0x5c]
mov eax, dword [esi + 4]
mov ecx, dword [esi - 0xc]
mov edi, dword [ebx]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], edi
test edx, edx
jne 0x497c53
test ecx, ecx
jne 0x497c30
test eax, eax
je 0x497c53
test ecx, ecx
mov edx, str.USING
mov eax, 0x549410
cmove eax, edx
push eax
push str.a_JOIN_clause_is_required_before__s
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x497d0c
lea eax, [esi - 0x3c]
mov ecx, edi
push eax
lea eax, [esi - 0x4c]
push eax
call fcn.00457270
mov edi, eax
add esp, 8
test edi, edi
je 0x497d08
mov eax, dword [edi]
test eax, eax
je 0x497d08
mov ecx, dword [esi - 0x28]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x497cf1
mov eax, dword [esi - 0x2c]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x497ca1
mov dword [esp + 0x18], eax
jmp 0x497cdd
mov edx, ecx
xor eax, eax
mov ecx, dword [esp + 0x18]
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x497cdd
push dword [esp + 0x10]
push dword [esp + 0x20]
push eax
call fcn.004f79b0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov byte [ecx + eax], 0
mov ecx, eax
call fcn.004089e0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [ecx - 0x3c], eax
mov eax, ecx
mov edx, dword [esp + 0x28]
mov dword [eax - 0x34], 0
mov dword [eax - 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [eax - 0x10], edx
jmp 0x497d28
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x497d1b
mov ecx, edi
call fcn.00441410
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.00456e70
xor edi, edi
lea eax, [esi - 0x1c]
mov dword [esi - 0x5c], edi
push eax
mov edx, edi
mov ecx, ebx
call fcn.00457850
add esp, 4
jmp case.0x4968cd.198
mov edx, dword [esi - 0x7c]
mov eax, dword [esi + 4]
mov edi, dword [esi - 0xc]
mov ecx, dword [ebx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ecx
test edx, edx
jne 0x497d9b
test edi, edi
jne 0x497d63
test eax, eax
je 0x497d9b
mov ecx, str.USING
test edi, edi
mov eax, 0x549410
cmove eax, ecx
push eax
push str.a_JOIN_clause_is_required_before__s
push ebx
call fcn.00408830
add esp, 0xc
test edi, edi
je 0x497e4d
mov edx, edi
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00441410
jmp 0x497e51
lea eax, [esi - 0x5c]
push eax
lea eax, [esi - 0x6c]
push eax
call fcn.00457270
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
je 0x497d81
mov eax, dword [edx]
test eax, eax
je 0x497d81
mov ebx, dword [esi - 0x18]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edx
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x497e22
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x497ddd
xor edi, edi
jmp 0x497e0c
mov ecx, dword [esp + 0x18]
xor eax, eax
mov edx, ebx
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497e0c
push ebx
push dword [esp + 0x20]
push edi
call fcn.004f79b0
add esp, 0xc
mov byte [edi + ebx], 0
mov ecx, edi
call fcn.004089e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [eax - 0x3c], edi
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [eax - 0x34], 0
mov dword [eax - 0x14], edi
mov dword [eax - 0x10], ecx
mov dword [esi - 0x7c], edx
mov eax, dword [edx]
mov ecx, dword [esi - 0x3c]
lea eax, [eax + eax*4]
add eax, eax
mov dword [edx + eax*8], ecx
or dword [edx + eax*8 - 0x20], 4
jmp case.0x4968cd.198
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.00456e70
mov dword [esi - 0x7c], 0
mov edx, dword [esi - 0x3c]
test edx, edx
je case.0x4968cd.198
mov ecx, dword [ebx]
call fcn.00442460
jmp case.0x4968cd.198
mov eax, dword [esi - 0x3c]
mov edx, dword [esi - 0x5c]
mov ecx, dword [esi + 4]
mov edi, dword [esi - 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], eax
test edx, edx
jne 0x497edc
test edi, edi
jne 0x497ea4
test ecx, ecx
je 0x497edc
mov ecx, str.USING
test edi, edi
mov eax, 0x549410
cmove eax, ecx
push eax
push str.a_JOIN_clause_is_required_before__s
push ebx
call fcn.00408830
add esp, 0xc
test edi, edi
je 0x497f7d
mov edx, edi
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00441410
jmp 0x497f81
push 0
push 0
mov ecx, eax
call fcn.00457270
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x497ec2
mov eax, dword [ebx]
test eax, eax
je 0x497ec2
mov ecx, dword [esi - 0x18]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x497f64
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x497f1c
xor edi, edi
jmp 0x497f52
mov edx, ecx
xor eax, eax
mov ecx, dword [esp + 0x18]
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x497f52
push dword [esp + 0x10]
push dword [esp + 0x20]
push edi
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [edi + eax], 0
mov ecx, edi
call fcn.004089e0
mov eax, dword [esp + 0x14]
mov dword [eax - 0x3c], edi
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [eax - 0x34], ecx
mov dword [eax - 0x14], edi
mov dword [eax - 0x10], edx
mov dword [esi - 0x5c], ebx
jmp case.0x4968cd.198
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, edi
call fcn.00456e70
mov eax, dword [esp + 0x28]
test eax, eax
je 0x497fa2
push 1
mov edx, eax
mov ecx, edi
call fcn.004711a0
add esp, 4
xor ebx, ebx
mov dword [esi - 0x5c], ebx
jmp case.0x4968cd.198
mov edx, dword [esi - 0x5c]
test edx, edx
jne 0x497fcd
cmp dword [esi - 0x18], edx
jne 0x497fcd
cmp dword [esi - 0xc], edx
jne 0x497fcd
cmp dword [esi + 4], edx
jne 0x497fcd
mov eax, dword [esi - 0x3c]
mov dword [esi - 0x5c], eax
jmp case.0x4968cd.198
mov ecx, dword [esi - 0x3c]
mov eax, dword [ecx]
cmp eax, 1
jne 0x49813f
mov ecx, dword [esi + 4]
mov edi, dword [esi - 0xc]
mov eax, dword [ebx]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], eax
test edx, edx
jne 0x498033
test edi, edi
jne 0x497ffb
test ecx, ecx
je 0x498033
mov ecx, str.USING
test edi, edi
mov eax, 0x549410
cmove eax, ecx
push eax
push str.a_JOIN_clause_is_required_before__s
push ebx
call fcn.00408830
add esp, 0xc
test edi, edi
je 0x49811a
mov edx, edi
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00441410
jmp 0x49811e
push 0
push 0
mov ecx, eax
call fcn.00457270
mov edx, eax
add esp, 8
mov dword [esp + 0x28], edx
test edx, edx
je 0x498019
mov eax, dword [edx]
test eax, eax
je 0x498019
lea ecx, [eax + eax*4]
mov eax, dword [esi - 0x18]
shl ecx, 4
add ecx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
test eax, eax
je 0x4980c3
mov ecx, dword [esi - 0x1c]
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x498077
xor edi, edi
jmp 0x4980ad
mov ecx, dword [esp + 0x18]
mov edx, eax
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x4980ad
push dword [esp + 0x10]
push dword [esp + 0x20]
push edi
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [eax + edi], 0
mov ecx, edi
call fcn.004089e0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov dword [ecx - 0x3c], edi
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [ecx - 0x34], 0
mov dword [ecx - 0x14], edi
mov dword [ecx - 0x10], eax
mov dword [esi - 0x5c], edx
mov eax, dword [edx]
lea ecx, [eax + eax*4]
shl ecx, 4
add ecx, edx
mov edx, dword [esi - 0x3c]
mov eax, dword [edx + 0x10]
mov dword [ecx - 0x40], eax
mov eax, dword [edx + 0xc]
mov dword [ecx - 0x44], eax
mov eax, dword [edx + 0x1c]
mov dword [ecx - 0x34], eax
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], 0
mov edx, dword [esi - 0x3c]
mov ecx, dword [ebx]
call fcn.00457490
jmp case.0x4968cd.198
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, edi
call fcn.00456e70
mov dword [esi - 0x5c], 0
mov edx, dword [esi - 0x3c]
mov ecx, dword [ebx]
call fcn.00457490
jmp case.0x4968cd.198
test ecx, ecx
je 0x498167
lea edx, [eax - 1]
test edx, edx
jle 0x498163
lea edi, [edx + edx*4]
shl edi, 4
add edi, 0x2c
add edi, ecx
mov al, byte [edi - 0x50]
lea edi, [edi - 0x50]
dec edx
mov byte [edi + 0x50], al
test edx, edx
jg 0x498155
mov byte [ecx + 0x2c], 0
push 0
push 0
push 0x800
push 0
push 0
push 0
push 0
push dword [esi - 0x3c]
xor edx, edx
mov ecx, ebx
call fcn.004712d0
mov edx, dword [esi - 0x5c]
add esp, 0x20
mov ecx, dword [esi + 4]
mov edi, dword [esi - 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], eax
test edx, edx
jne 0x4981b6
test edi, edi
jne 0x497ea4
test ecx, ecx
jne 0x497ea4
push 0
push 0
mov ecx, eax
call fcn.00457270
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x497ec2
mov eax, dword [ebx]
test eax, eax
je 0x497ec2
mov ecx, dword [esi - 0x18]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x497f64
mov eax, dword [esi - 0x1c]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x498210
xor edi, edi
mov ecx, edi
call fcn.004089e0
mov eax, dword [esp + 0x14]
jmp 0x497f5d
mov edx, ecx
xor eax, eax
mov ecx, dword [esp + 0x18]
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x498246
push dword [esp + 0x10]
push dword [esp + 0x20]
push edi
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [eax + edi], 0
mov ecx, edi
call fcn.004089e0
mov eax, dword [esp + 0x14]
jmp 0x497f5d
mov ecx, dword [ebx]
lea eax, [esi + 4]
push eax
lea edi, [esi - 0xc]
xor edx, edx
push edi
call fcn.00457270
add esp, 8
mov dword [edi], eax
jmp case.0x4968cd.198
push 0
push 0
lea edx, [esi - 0xc]
mov ecx, ebx
call fcn.004714a0
add esp, 8
mov dword [esi - 0xc], eax
jmp case.0x4968cd.198
lea eax, [esi - 0xc]
mov ecx, ebx
push 0
push eax
lea edx, [esi - 0x1c]
call fcn.004714a0
add esp, 8
mov dword [esi - 0x1c], eax
jmp case.0x4968cd.198
lea eax, [esi - 0xc]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
lea edx, [esi - 0x2c]
call fcn.004714a0
add esp, 8
mov dword [esi - 0x2c], eax
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esi - 0x1c], eax
mov dword [esi - 0x18], ecx
jmp case.0x4968cd.198
mov dword [esi - 0xc], 0
mov dword [esi - 8], 1
jmp case.0x4968cd.198
mov eax, dword [esi - 0xc]
mov dword [esi - 0x2c], eax
jmp case.0x4968cd.198
mov edi, dword [esi - 0x2c]
mov eax, dword [esi - 0xc]
mov ebx, dword [ebx]
mov dword [esp + 0x10], eax
test edi, edi
jne 0x49831c
push edi
push 0x1c
mov ecx, ebx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x4983b6
xor edx, edx
jmp 0x49835e
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x49835e
lea ecx, [edx + edx*2]
xor eax, eax
shl ecx, 4
add ecx, 4
mov dword [esp + 0x1c], eax
cmp edi, dword [ebx + 0x128]
jb 0x4983a4
cmp edi, dword [ebx + 0x12c]
jae 0x4983a4
movzx eax, word [ebx + 0x10c]
cdq
cmp dword [esp + 0x1c], edx
ja 0x4983a2
jb 0x498358
cmp ecx, eax
ja 0x4983a2
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x2c], edi
test edi, edi
je case.0x4968cd.198
mov ecx, dword [esi + 4]
test ecx, ecx
js case.0x4968cd.198
mov eax, dword [edi]
lea eax, [eax + eax*2]
mov byte [edi + eax*8 - 8], cl
jmp case.0x4968cd.198
xor eax, eax
push eax
push ecx
mov edx, edi
mov ecx, ebx
call fcn.00405960
add esp, 8
test eax, eax
jne 0x49835a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4983c7
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x4983d4
mov edx, edi
mov ecx, ebx
call fcn.00442460
mov dword [esi - 0x2c], 0
jmp case.0x4968cd.198
mov ebx, dword [ebx]
mov ecx, ebx
mov edi, dword [esi - 0xc]
push 0
push 0x1c
call fcn.004058c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49842c
mov dword [ecx], 1
xorps xmm0, xmm0
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], edi
mov dword [esi - 0xc], ecx
mov edx, dword [esi + 4]
test edx, edx
js case.0x4968cd.198
mov eax, dword [ecx]
lea eax, [eax + eax*2]
mov byte [ecx + eax*8 - 8], dl
jmp case.0x4968cd.198
test edi, edi
je case.0x4968cd.53
mov edx, edi
mov ecx, ebx
call fcn.00441410
mov dword [esi - 0xc], 0
jmp case.0x4968cd.198
mov dword [esi + 0x14], 0xffffffff
jmp case.0x4968cd.198
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov dword [esi - 0xc], eax
mov dword [esi - 8], 0
jmp case.0x4968cd.198
mov eax, dword [esi - 0x1c]
mov dword [esi - 0x2c], eax
mov eax, dword [esi + 4]
mov dword [esi - 0x28], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x1c]
mov dword [esi - 0x28], eax
mov eax, dword [esi + 4]
mov dword [esi - 0x2c], eax
jmp case.0x4968cd.198
mov ecx, dword [esi - 0x4c]
test ecx, ecx
je 0x4984b4
mov eax, dword [ebx + 0x1d0]
mov dword [ecx + 4], eax
mov dword [ebx + 0x1d0], ecx
mov dword [ebx + 0x1d4], ecx
mov edx, dword [esi - 0x1c]
lea eax, [esi - 0xc]
push eax
mov ecx, ebx
call fcn.00457850
mov edx, dword [esi - 0x1c]
add esp, 4
mov ecx, ebx
push dword [esi + 4]
call fcn.00459d30
add esp, 4
jmp case.0x4968cd.198
mov ecx, dword [esi - 0x6c]
test ecx, ecx
je 0x4984f6
mov eax, dword [ebx + 0x1d0]
mov dword [ecx + 4], eax
mov dword [ebx + 0x1d0], ecx
mov dword [ebx + 0x1d4], ecx
mov edx, dword [esi - 0x3c]
lea eax, [esi - 0x2c]
push eax
mov ecx, ebx
call fcn.00457850
mov eax, dword [esi - 0xc]
add esp, 4
test eax, eax
je 0x49852a
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x6c]
jle 0x49852a
push str.set_list
push str.too_many_columns_in__s
push ebx
call fcn.00408830
add esp, 0xc
push dword [esi - 0x4c]
mov edx, dword [esi - 0x3c]
mov ecx, ebx
push dword [esi + 4]
push dword [esi - 0xc]
call fcn.00481780
jmp 0x49b035
mov edi, dword [esi - 0x3c]
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
test edi, edi
jne 0x49856f
push edi
push 0x1c
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x498637
xor edx, edx
jmp 0x4985c3
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x4985c3
lea eax, [edx + edx*2]
xor edx, edx
shl eax, 4
add eax, 4
mov dword [esp + 0x10], eax
cmp edi, dword [ecx + 0x128]
jb 0x498627
cmp edi, dword [ecx + 0x12c]
jae 0x498627
movzx eax, word [ecx + 0x10c]
cdq
mov dword [esp + 0x1c], eax
xor eax, eax
cmp eax, edx
ja 0x498621
jb 0x4985bd
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x1c]
ja 0x498625
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x3c], edi
test edi, edi
je case.0x4968cd.198
mov eax, dword [edi]
mov ecx, dword [esi - 0x1c]
mov dword [esp + 0x14], ecx
lea eax, [eax + eax*2]
lea eax, [edi + eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [esi - 0x18]
mov dword [esp + 0x1c], eax
test ecx, ecx
jne 0x498665
mov eax, dword [esp + 0x24]
xor edi, edi
mov ecx, edi
mov dword [eax - 0x10], edi
call fcn.004089e0
jmp case.0x4968cd.198
mov eax, dword [esp + 0x10]
xor edx, edx
push edx
push eax
mov edx, edi
call fcn.00405960
add esp, 8
test eax, eax
jne 0x4985bf
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
test eax, eax
je 0x49864c
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x498659
mov edx, edi
mov ecx, ebx
call fcn.00442460
mov dword [esi - 0x3c], 0
jmp case.0x4968cd.198
mov ecx, dword [ebx]
mov edx, eax
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x498696
mov ebx, dword [esp + 0x1c]
push ebx
push dword [esp + 0x18]
push edi
call fcn.004f79b0
add esp, 0xc
mov byte [ebx + edi], 0
mov eax, dword [esp + 0x24]
mov ecx, edi
mov dword [eax - 0x10], edi
call fcn.004089e0
jmp case.0x4968cd.198
push dword [esi + 4]
mov edx, dword [esi - 0x5c]
mov ecx, ebx
push dword [esi - 0x2c]
call fcn.00442230
add esp, 8
mov dword [esi - 0x5c], eax
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x24], eax
call fcn.004058c0
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x10]
test edi, edi
je 0x498784
mov dword [edi], 1
xorps xmm0, xmm0
movups xmmword [edi + 8], xmm0
mov dword [edi + 0x18], 0
mov dword [edi + 4], eax
mov eax, dword [edi]
mov ecx, dword [esi - 0x1c]
mov dword [esp + 0x1c], ecx
lea eax, [eax + eax*2]
lea eax, [edi + eax*8]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0x18]
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x49873a
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov ecx, ebx
mov dword [eax - 0x10], ebx
call fcn.004089e0
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov ecx, dword [ebx]
mov edx, eax
xor eax, eax
add edx, 1
adc eax, eax
push eax
push edx
call fcn.004058c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x49876e
push dword [esp + 0x10]
push dword [esp + 0x20]
push ebx
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x14]
mov ecx, ebx
mov dword [eax - 0x10], ebx
call fcn.004089e0
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
test eax, eax
je 0x498793
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.00441410
xor edi, edi
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
push dword [esi + 4]
xor edx, edx
mov ecx, ebx
push dword [esi - 0x2c]
call fcn.00442230
add esp, 8
mov dword [esi - 0x3c], eax
jmp case.0x4968cd.198
mov ecx, dword [esi - 0x4c]
test ecx, ecx
je 0x4987d3
mov eax, dword [ebx + 0x1d0]
mov dword [ecx + 4], eax
mov dword [ebx + 0x1d0], ecx
mov dword [ebx + 0x1d4], ecx
push dword [esi - 0x3c]
mov edx, dword [esi - 0x1c]
mov ecx, ebx
push dword [esi - 0xc]
push dword [esi + 4]
call fcn.004632d0
jmp 0x49b035
mov ecx, dword [esi - 0x5c]
test ecx, ecx
je 0x498807
mov eax, dword [ebx + 0x1d0]
mov dword [ecx + 4], eax
mov dword [ebx + 0x1d0], ecx
mov dword [ebx + 0x1d4], ecx
push dword [esi - 0x4c]
mov edx, dword [esi - 0x2c]
mov ecx, ebx
push dword [esi - 0x1c]
push 0
call fcn.004632d0
jmp 0x49b035
mov edi, dword [esi - 0x1c]
mov ebx, dword [ebx]
test edi, edi
jne 0x49884c
push edi
push 8
test ebx, ebx
je 0x498837
mov ecx, ebx
call fcn.004058c0
jmp 0x49883c
call fcn.004051e0
mov edi, eax
add esp, 8
test edi, edi
je 0x498875
xorps xmm0, xmm0
movq qword [edi], xmm0
mov edx, dword [edi]
lea eax, [esp + 0x20]
push eax
lea eax, [edi + 4]
mov ecx, ebx
push eax
push 8
call fcn.00456da0
add esp, 0xc
mov dword [edi], eax
cmp dword [esp + 0x20], 0
jge 0x49887f
mov edx, edi
mov ecx, ebx
call fcn.00456e70
xor edi, edi
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
lea ecx, [esi + 4]
test ecx, ecx
je 0x4988fd
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x4988b1
xor ebx, ebx
mov ecx, ebx
call fcn.004089e0
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*8], ebx
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov ecx, eax
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, ebx
call fcn.004058c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4988e5
push dword [esp + 0x10]
push dword [esp + 0x20]
push ebx
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [ebx + eax], 0
mov ecx, ebx
call fcn.004089e0
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*8], ebx
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov eax, dword [edi]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*8], ebx
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov ebx, dword [ebx]
push 0
push 8
test ebx, ebx
je 0x498923
mov ecx, ebx
call fcn.004058c0
jmp 0x498928
call fcn.004051e0
mov edi, eax
add esp, 8
test edi, edi
je 0x498961
lea eax, [esp + 0x20]
xorps xmm0, xmm0
push eax
lea eax, [edi + 4]
movq qword [edi], xmm0
mov edx, dword [edi]
mov ecx, ebx
push eax
push 8
call fcn.00456da0
add esp, 0xc
mov dword [edi], eax
cmp dword [esp + 0x20], 0
jge 0x49896b
mov edx, edi
mov ecx, ebx
call fcn.00456e70
xor edi, edi
mov dword [esi + 4], edi
jmp case.0x4968cd.198
lea eax, [esi + 4]
test eax, eax
je 0x4989e7
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x49899d
xor ebx, ebx
mov ecx, ebx
call fcn.004089e0
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*8], ebx
mov dword [esi + 4], edi
jmp case.0x4968cd.198
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, ebx
call fcn.004058c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4989cf
push dword [esp + 0x10]
push dword [esp + 0x20]
push ebx
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [eax + ebx], 0
mov ecx, ebx
call fcn.004089e0
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*8], ebx
mov dword [esi + 4], edi
jmp case.0x4968cd.198
mov eax, dword [edi]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*8], ebx
mov dword [esi + 4], edi
jmp case.0x4968cd.198
mov eax, dword [esi - 0x1c]
mov dword [esi - 0x18], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x14], eax
mov eax, dword [esi - 0xc]
mov dword [esi - 0x1c], eax
jmp case.0x4968cd.198
push dword [esi + 8]
lea ecx, [esi + 4]
mov edx, ebx
push dword [ecx]
push 0x3b
call fcn.004961b0
jmp 0x49b035
mov ecx, dword [ebx]
lea eax, [esi - 0x1c]
push 1
push eax
mov edx, 0x3b
call fcn.00440d30
mov ecx, dword [ebx]
lea edi, [esi + 4]
push 1
push edi
mov edx, 0x3b
mov dword [esp + 0x20], eax
call fcn.00440d30
mov ecx, dword [esi - 0x1c]
mov dword [esi - 0x18], ecx
mov ecx, dword [edi + 4]
add ecx, dword [edi]
mov dword [esi - 0x14], ecx
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x38], eax
call fcn.004058c0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x498ae7
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x7a
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x498aa5
mov dword [edi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x498abb
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x497135
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov eax, dword [esp + 0x10]
mov ebx, dword [ebx]
test eax, eax
je 0x498afa
mov edx, eax
mov ecx, ebx
call fcn.00441410
mov eax, dword [esp + 0x20]
test eax, eax
je 0x497135
mov edx, eax
mov ecx, ebx
call fcn.00441410
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov ecx, dword [ebx]
lea eax, [esi - 0x3c]
push 1
push eax
mov edx, 0x3b
call fcn.00440d30
lea ecx, [esi - 0x1c]
mov dword [esp + 0x30], eax
push 1
push ecx
mov ecx, dword [ebx]
mov edx, 0x3b
call fcn.00440d30
mov ecx, dword [ebx]
mov edx, 0x3b
mov dword [esp + 0x20], eax
lea eax, [esi + 4]
push 1
push eax
call fcn.00440d30
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x40], eax
call fcn.004058c0
mov edi, eax
add esp, 0x20
test edi, edi
je 0x498bd2
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x7a
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x498b9a
mov dword [edi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x498bb0
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x498bfa
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x498bfa
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x498beb
mov edx, eax
call fcn.00441410
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x498bfa
mov edx, eax
call fcn.00441410
mov eax, dword [esi - 0x3c]
mov dword [esi - 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x498c8c
push 0x30
push 0
push eax
call fcn.004f7f30
mov ecx, dword [esp + 0x24]
or eax, 0xffffffff
add esp, 0xc
mov byte [ecx], 0x7a
mov word [ecx + 0x22], ax
test edi, edi
je 0x498c4c
mov dword [ecx + 0x10], edi
mov eax, dword [edi + 4]
and eax, 0x200100
or dword [ecx + 4], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x498c62
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [ecx + 4], eax
call fcn.00440c30
mov eax, dword [ebx]
mov edi, dword [esp + 0x18]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x498cb0
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov dword [esi - 0x3c], edi
jmp case.0x4968cd.198
mov eax, dword [esp + 0x28]
mov ebx, dword [ebx]
test eax, eax
je 0x498c9f
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x498cac
mov edx, edi
mov ecx, ebx
call fcn.00441410
mov edi, dword [esp + 0x18]
mov dword [esi - 0x3c], edi
jmp case.0x4968cd.198
push dword [esi + 8]
movzx eax, byte [esi + 2]
lea ecx, [esi + 4]
push dword [ecx]
mov edx, ebx
push eax
call fcn.004961b0
jmp 0x49b035
mov ecx, dword [ebx]
lea edi, [esi + 4]
push 1
push edi
mov edx, 0x86
call fcn.00440d30
mov ecx, dword [esi + 8]
add esp, 8
mov dword [esp + 0x38], eax
mov eax, dword [edi]
add ecx, eax
mov dword [esp + 0x3c], eax
movq xmm0, qword [esp + 0x38]
movq qword [edi], xmm0
mov dword [edi + 8], ecx
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
cmp byte [eax], 0x23
jne 0x498de5
movzx eax, byte [eax + 1]
test byte [eax + 0x54c528], 4
je 0x498de5
mov eax, dword [esi + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov dword [esi + 8], ecx
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x50]
mov dword [esi + 0xc], eax
cmp byte [ebx + 0x12], 0
jne 0x498d64
lea eax, [esp + 0x50]
push eax
push str.near___T_:_syntax_error
push ebx
call fcn.00408830
mov dword [esi + 4], 0
jmp 0x49b035
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x498dc6
push 0x30
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov byte [edi], 0x96
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x498dc6
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi + 4], edi
lea edx, [edi + 0x1c]
mov ecx, dword [esp + 0x5c]
add esp, 0xc
lea ecx, [ecx + 1]
call fcn.004093d0
jmp case.0x4968cd.198
mov dword [esi + 4], edi
test edi, edi
je case.0x4968cd.198
mov ecx, dword [esp + 0x50]
lea edx, [edi + 0x1c]
lea ecx, [ecx + 1]
call fcn.004093d0
jmp case.0x4968cd.198
push dword [ecx + 4]
mov edi, dword [esi + 8]
mov edx, ebx
push dword [ecx]
push 0x87
call fcn.004961b0
mov edx, dword [esi + 4]
add esp, 0xc
mov ecx, ebx
push edi
call fcn.00441090
add esp, 4
jmp case.0x4968cd.198
cmp dword [esi + 8], 0
lea eax, [esi + 4]
mov edi, dword [esi - 0x1c]
jbe 0x498e3d
mov ecx, dword [ebx]
mov edx, 0x5e
push 1
push eax
call fcn.00440d30
add esp, 8
test eax, eax
je 0x498e3d
mov dword [eax + 0xc], edi
mov edi, eax
or dword [eax + 4], 0x1100
mov dword [esi - 0x1c], edi
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x14], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x4c]
mov edx, 0x24
mov dword [esi - 0x48], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x44], eax
lea eax, [esi - 0xc]
mov ecx, dword [ebx]
push 1
push eax
call fcn.00440d30
mov ecx, eax
add esp, 8
mov dword [esi - 0x4c], ecx
mov eax, dword [esi - 0x2c]
test ecx, ecx
jne 0x498e94
test eax, eax
je case.0x4968cd.198
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
jmp case.0x4968cd.198
test eax, eax
je 0x498ea6
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [ecx + 4], eax
call fcn.00440c30
jmp case.0x4968cd.198
mov eax, dword [esi - 0xc]
test eax, eax
je 0x498ed2
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x7c]
jle 0x498ed2
lea eax, [esi - 0x3c]
push eax
push str.too_many_arguments_on_function__T
push ebx
call fcn.00408830
add esp, 0xc
mov eax, dword [esi - 0xc]
mov edx, 0x90
mov ecx, dword [ebx]
mov dword [esp + 0x10], eax
lea eax, [esi - 0x3c]
push 1
push eax
mov dword [esp + 0x24], ecx
call fcn.00440d30
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x10]
test edi, edi
jne 0x498f0f
test eax, eax
je 0x498f0b
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.00442460
xor edi, edi
jmp 0x498f38
mov dword [edi + 0x14], eax
cmp dword [ebx + 0x24], 0
jne 0x498f38
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x498f38
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov ecx, dword [esi + 8]
add ecx, dword [esi + 4]
cmp dword [esi - 0x1c], 1
mov edx, dword [esi - 0x3c]
jne 0x498f4f
test edi, edi
je 0x498f4f
or dword [edi + 4], 0x10
mov dword [esi - 0x3c], edi
mov dword [esi - 0x38], edx
mov dword [esi - 0x34], ecx
jmp case.0x4968cd.198
mov ecx, dword [ebx]
lea eax, [esi - 0x2c]
push 1
push eax
mov edx, 0x90
call fcn.00440d30
mov edi, eax
add esp, 8
test edi, edi
je 0x498fa5
mov dword [edi + 0x14], 0
cmp dword [ebx + 0x24], 0
jne 0x498fa5
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x498fa5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov ecx, dword [esi + 8]
mov eax, dword [esi - 0x2c]
add ecx, dword [esi + 4]
mov dword [esi - 0x2c], edi
mov dword [esi - 0x28], eax
mov dword [esi - 0x24], ecx
jmp case.0x4968cd.198
mov ecx, dword [ebx]
lea eax, [esi + 4]
push 1
push eax
mov edx, 0x90
call fcn.00440d30
mov edi, eax
add esp, 8
test edi, edi
je 0x499004
mov dword [edi + 0x14], 0
cmp dword [ebx + 0x24], 0
jne 0x499004
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499004
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
add ecx, eax
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
jmp case.0x4968cd.198
mov edi, dword [esi - 0x2c]
mov eax, dword [esi - 0xc]
mov ecx, dword [ebx]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
test edi, edi
jne 0x499047
push edi
push 0x1c
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49913e
xor edx, edx
jmp 0x4990a3
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x4990a3
lea eax, [edx + edx*2]
xor edx, edx
shl eax, 4
add eax, 4
mov dword [esp + 0x10], eax
cmp edi, dword [ecx + 0x128]
jb 0x49912a
cmp edi, dword [ecx + 0x12c]
jae 0x49912a
movzx eax, word [ecx + 0x10c]
cdq
mov dword [esp + 0x1c], eax
xor eax, eax
cmp eax, edx
ja 0x499124
jb 0x49909d
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x1c]
ja 0x499128
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x28]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x499167
push 0x30
push 0
push eax
call fcn.004f7f30
mov ecx, dword [esp + 0x24]
add esp, 0xc
or eax, 0xffffffff
mov byte [ecx], 0x97
mov word [ecx + 0x22], ax
call fcn.00440c30
mov eax, dword [ebx]
mov ecx, dword [eax + 0x70]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x18], ecx
jle 0x499167
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x38], eax
jmp 0x49916f
mov eax, dword [esp + 0x10]
xor edx, edx
push edx
push eax
mov edx, edi
call fcn.00405960
add esp, 8
test eax, eax
jne 0x49909f
mov eax, dword [esp + 0x28]
test eax, eax
je 0x499151
mov ecx, dword [esp + 0x20]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x499160
mov ecx, dword [esp + 0x20]
mov edx, edi
call fcn.00442460
xor edi, edi
jmp 0x4990c3
mov dword [esp + 0x38], eax
test eax, eax
je 0x499192
mov dword [eax + 0x14], edi
mov eax, dword [esi - 0x3c]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
movq xmm0, qword [esp + 0x38]
movq qword [esi - 0x3c], xmm0
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
test edi, edi
je 0x49919f
mov ecx, dword [ebx]
mov edx, edi
call fcn.00442460
movq xmm0, qword [esp + 0x38]
mov eax, dword [esp + 0x40]
movq qword [esi - 0x3c], xmm0
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
movzx edx, byte [esi - 0xe]
lea eax, [esi + 4]
push eax
lea eax, [esi - 0x1c]
mov ecx, ebx
push eax
call fcn.00496250
add esp, 8
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esi - 0xc], eax
mov dword [esi - 8], ecx
or dword [esi - 8], 0x80000000
jmp case.0x4968cd.198
mov eax, dword [esi - 8]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esi - 8], eax
mov eax, dword [ebx]
mov edi, dword [esi + 4]
mov dword [esp + 0x38], ecx
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x24], eax
call fcn.004058c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49930e
mov dword [ecx], 1
xorps xmm0, xmm0
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], edi
lea edi, [esi - 0x1c]
mov eax, dword [ecx]
mov esi, dword [edi]
mov edx, dword [ebx]
mov dword [esp + 0x1c], eax
dec eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov edi, ecx
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x30], edx
test dword [ecx], eax
jne 0x49935c
mov eax, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 4
mov dword [esp + 0x20], eax
cmp ecx, dword [edx + 0x128]
jb 0x4992da
cmp ecx, dword [edx + 0x12c]
jae 0x4992da
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], eax
movzx eax, word [edx + 0x10c]
cdq
mov dword [esp + 0x1c], eax
xor eax, eax
cmp eax, edx
ja 0x4992ed
jb 0x4992bd
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x1c]
ja 0x4992f1
mov eax, dword [esp + 0x24]
mov edi, ecx
mov edx, dword [ecx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], eax
jmp 0x499360
lea eax, [esi - 0x1c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
push 0
mov edx, ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.00405960
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x499382
mov edx, dword [ecx]
mov edi, ecx
jmp 0x499360
test edi, edi
je 0x49931d
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.00441410
lea eax, [esi - 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x38], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499382
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x44], eax
jmp 0x499360
mov edx, dword [esp + 0x1c]
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x44]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
jmp 0x4993a6
mov eax, dword [esp + 0x44]
test eax, eax
je 0x499395
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x4993a4
mov ecx, dword [esp + 0x30]
mov edx, edi
call fcn.00442460
xor edi, edi
mov ecx, dword [ebx]
lea eax, [esi - 0xc]
push 1
push eax
mov edx, 0x90
mov dword [esp + 0x24], ecx
call fcn.00440d30
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4993da
test edi, edi
je 0x4993d6
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.00442460
xor eax, eax
jmp 0x49940b
mov dword [eax + 0x14], edi
cmp dword [ebx + 0x24], 0
jne 0x49940b
mov ecx, eax
call fcn.00440c30
mov eax, dword [ebx]
mov ecx, dword [eax + 0x70]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x18], ecx
jle 0x49940b
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov eax, dword [esp + 0x20]
add esp, 0xc
mov edi, dword [esp + 0x18]
mov ecx, ebx
push dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov dword [edi], eax
call fcn.00496340
mov eax, dword [esi + 0xc]
mov dword [esi - 0x14], eax
mov eax, dword [edi]
add esp, 4
test eax, eax
je case.0x4968cd.198
or dword [eax + 4], 0x80
jmp case.0x4968cd.198
mov eax, dword [esi - 0x28]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esi - 0x28], eax
mov eax, dword [ebx]
mov edi, dword [esi - 0x1c]
mov dword [esp + 0x1c], ecx
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x40], eax
call fcn.004058c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49956a
mov dword [ecx], 1
lea eax, [esi - 0x3c]
xorps xmm0, xmm0
mov dword [esp + 0x30], eax
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], edi
mov esi, dword [eax]
mov edi, dword [ecx]
mov edx, dword [ebx]
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], eax
mov eax, dword [ecx]
dec eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], edi
mov edi, ecx
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x18], edx
test dword [ecx], eax
jne 0x4995bc
mov eax, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 4
mov dword [esp + 0x28], eax
cmp ecx, dword [edx + 0x128]
jb 0x499532
cmp ecx, dword [edx + 0x12c]
jae 0x499532
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
movzx eax, word [edx + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, edx
ja 0x499545
jb 0x499515
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x38]
ja 0x499549
mov eax, dword [esp + 0x14]
mov edi, ecx
mov edx, dword [ecx]
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
jmp 0x4995c0
lea eax, [esi - 0x3c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
push 0
mov edx, ecx
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00405960
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x4996b4
mov edx, dword [ecx]
mov edi, ecx
jmp 0x4995c0
test edi, edi
je 0x499579
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.00441410
lea eax, [esi - 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], eax
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x20], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x4996b4
mov eax, dword [esp + 0x44]
xor edx, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x4995c0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
lea eax, [edx + edx*2]
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x2c]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ecx
test edi, edi
je 0x4996e3
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x4996f7
lea edx, [edx + edx*2]
shl edx, 4
add edx, 4
mov dword [esp + 0x20], edx
cmp edi, dword [ecx + 0x128]
jb 0x49968f
cmp edi, dword [ecx + 0x12c]
jae 0x49968f
mov eax, dword [esi + 4]
mov edx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
movzx eax, word [edx + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
cmp eax, edx
ja 0x499697
jb 0x49966e
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x38]
ja 0x49969b
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
mov edi, eax
mov edx, dword [eax]
jmp 0x4996f7
mov eax, dword [esp + 0x20]
mov edx, edi
jmp 0x49969f
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
push 0
push eax
call fcn.00405960
add esp, 8
test eax, eax
je 0x499719
mov edx, dword [eax]
mov edi, eax
jmp 0x4996f7
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4996c7
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x4996d6
mov ecx, dword [esp + 0x18]
mov edx, edi
call fcn.00442460
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ecx
push 0
push 0x1c
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499719
xor edx, edx
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x18]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
jmp 0x49973d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49972c
mov ecx, dword [esp + 0x2c]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x49973b
mov ecx, dword [esp + 0x2c]
mov edx, edi
call fcn.00442460
xor edi, edi
mov ecx, dword [ebx]
lea eax, [esi - 0x2c]
push 1
push eax
mov edx, 0x90
mov dword [esp + 0x40], ecx
call fcn.00440d30
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x499771
test edi, edi
je 0x49976d
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.00442460
xor eax, eax
jmp 0x4997a2
mov dword [eax + 0x14], edi
cmp dword [ebx + 0x24], 0
jne 0x4997a2
mov ecx, eax
call fcn.00440c30
mov eax, dword [ebx]
mov ecx, dword [eax + 0x70]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x18], ecx
jle 0x4997a2
push ecx
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov eax, dword [esp + 0x20]
add esp, 0xc
mov edi, dword [esp + 0x30]
mov ecx, ebx
push dword [esp + 0x44]
mov edx, dword [esp + 0x20]
mov dword [edi], eax
call fcn.00496340
mov eax, dword [esi + 0xc]
mov dword [esi - 0x34], eax
jmp 0x499426
movzx edx, byte [esi + 2]
lea eax, [esi + 4]
push eax
lea eax, [esi - 0xc]
mov ecx, ebx
push eax
call fcn.004963e0
add esp, 8
jmp case.0x4968cd.198
mov eax, dword [esi - 0x1c]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49985a
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x33
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499825
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x498e3d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi - 0x1c], edi
add esp, 0xc
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x14], eax
jmp case.0x4968cd.198
mov eax, dword [esp + 0x14]
test eax, eax
je 0x498e3d
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov dword [esi - 0x1c], edi
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x14], eax
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov edx, 0x2d
push eax
lea edi, [esi - 0x1c]
mov ecx, ebx
push edi
call fcn.00496250
mov edi, dword [edi]
add esp, 8
mov ecx, dword [ebx]
test edi, edi
je case.0x4968cd.198
mov eax, dword [esi + 4]
test eax, eax
je case.0x4968cd.198
cmp byte [eax], 0x65
jne case.0x4968cd.198
mov byte [edi], 0x32
mov edx, dword [edi + 0x10]
test edx, edx
je 0x4998c6
call fcn.00441410
mov dword [edi + 0x10], 0
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov edx, 0x8f
push eax
lea edi, [esi - 0x2c]
mov ecx, ebx
push edi
call fcn.00496250
mov edi, dword [edi]
add esp, 8
mov ecx, dword [ebx]
test edi, edi
je case.0x4968cd.198
mov eax, dword [esi + 4]
test eax, eax
je case.0x4968cd.198
cmp byte [eax], 0x65
jne case.0x4968cd.198
mov byte [edi], 0x33
jmp 0x4998ba
lea ecx, [esi - 0xc]
mov edx, ebx
push ecx
lea eax, [esi + 4]
push eax
movzx eax, byte [esi - 0xe]
push eax
call fcn.004964a0
jmp 0x49b035
mov eax, dword [esi - 0xc]
mov dword [esi - 8], eax
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x4999a3
push 0x30
push 0
push edi
call fcn.004f7f30
mov byte [edi], 0x94
or eax, 0xffffffff
add esp, 0xc
mov word [edi + 0x22], ax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499975
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x4999b4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi - 0xc], edi
add esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esi - 4], eax
jmp case.0x4968cd.198
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4999b4
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov dword [esi - 0xc], edi
mov eax, dword [esi + 0xc]
mov dword [esi - 4], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0xc]
mov dword [esi - 8], eax
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x4999a3
push 0x30
push 0
push edi
call fcn.004f7f30
mov byte [edi], 0x95
jmp 0x499955
mov dword [esi + 4], 0
jmp case.0x4968cd.198
mov eax, dword [ebx]
mov ecx, eax
mov edi, dword [esi - 0x1c]
push 0
push 0x1c
mov dword [esp + 0x40], eax
call fcn.004058c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x499ae4
mov dword [ecx], 1
xorps xmm0, xmm0
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], edi
mov eax, dword [ecx]
mov edi, dword [esi + 4]
mov edx, dword [ebx]
mov dword [esp + 0x38], eax
dec eax
mov dword [esp + 0x2c], edi
mov edi, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], edi
test dword [ecx], eax
jne 0x499b24
mov eax, dword [ecx]
lea edi, [eax + eax*2]
shl edi, 4
add edi, 4
mov dword [esp + 0x20], edi
cmp ecx, dword [edx + 0x128]
jb 0x499ab2
cmp ecx, dword [edx + 0x12c]
jae 0x499ab2
mov eax, dword [esi + 4]
mov edi, ecx
mov dword [esp + 0x2c], eax
movzx eax, word [edx + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, edx
ja 0x499abf
jb 0x499aa1
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x38]
ja 0x499ac3
mov eax, dword [esi + 4]
mov edi, ecx
mov edx, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edi
jmp 0x499b28
mov eax, dword [esi + 4]
mov edi, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x20]
push 0
mov edx, ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.00405960
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x499b4a
mov edx, dword [ecx]
mov edi, ecx
mov dword [esp + 0x18], edi
jmp 0x499b28
test edi, edi
je 0x499af3
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.00441410
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x1c
mov dword [esp + 0x38], eax
call fcn.004058c0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x499b4a
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x2c], eax
jmp 0x499b28
mov edx, dword [esp + 0x38]
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x2c]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
jmp 0x499b74
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x499b5d
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x499b6c
mov ecx, dword [esp + 0x30]
mov edx, edi
call fcn.00442460
mov dword [esp + 0x18], 0
mov eax, dword [esi - 0x3c]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499bec
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x30
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499bbc
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499bdc
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
lea eax, [esi - 0x3c]
mov ecx, edi
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
mov dword [edi + 0x14], eax
jmp 0x499c11
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499bfd
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov eax, dword [esp + 0x18]
mov dword [esi - 0x3c], edi
test eax, eax
je 0x499c11
mov ecx, dword [ebx]
mov edx, eax
call fcn.00442460
mov edx, dword [esi - 0x2c]
lea eax, [esi - 0x3c]
push eax
mov ecx, ebx
call fcn.00496340
mov eax, dword [esi + 0xc]
add esp, 4
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0xc]
test eax, eax
jne 0x499c6f
mov edx, dword [esi - 0x3c]
test edx, edx
je 0x499c42
mov ecx, dword [ebx]
call fcn.00441410
mov eax, dword [esi - 0x2c]
mov edx, 0x86
mov ecx, dword [ebx]
push 1
lea eax, [eax*8 + 0x54dfc0]
push eax
call fcn.00440d30
mov dword [esi - 0x3c], eax
add esp, 8
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
cmp dword [eax], 1
jne 0x499d7c
mov edi, dword [eax + 4]
mov dword [eax + 4], 0
mov edx, dword [esi - 0xc]
mov dword [esp + 0x24], edi
test edx, edx
je 0x499c94
mov ecx, dword [ebx]
call fcn.00442460
test edi, edi
je 0x499ca8
mov eax, dword [edi + 4]
and eax, 0xfffffeff
or eax, 0x200
mov dword [edi + 4], eax
mov eax, dword [esi - 0x3c]
mov ecx, dword [ebx]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0x2c]
push 0
push 0x30
mov dword [esp + 0x40], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499d49
push 0x30
push 0
push edi
call fcn.004f7f30
mov edx, dword [esp + 0x30]
add esp, 0xc
cmp dword [esp + 0x38], 0
sete al
add al, 0x34
mov byte [edi], al
mov eax, 0xffffffff
mov word [edi + 0x22], ax
test edx, edx
je 0x499d02
mov dword [edi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499d18
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499d6b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi - 0x3c], edi
add esp, 0xc
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
mov eax, dword [esp + 0x14]
mov ebx, dword [ebx]
test eax, eax
je 0x499d5c
mov edx, eax
mov ecx, ebx
call fcn.00441410
mov edx, dword [esp + 0x24]
test edx, edx
je 0x499d6b
mov ecx, ebx
call fcn.00441410
mov dword [esi - 0x3c], edi
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x3c]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499e1d
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x31
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499dc8
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499de8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
lea eax, [esi - 0x3c]
mov dword [eax], edi
mov ecx, dword [esi - 0xc]
mov dword [edi + 0x14], ecx
cmp dword [ebx + 0x24], 0
jne 0x499e3f
mov edi, dword [eax]
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499e3f
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x499e3f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499e2e
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov dword [esi - 0x3c], edi
mov edx, dword [esi - 0xc]
test edx, edx
je 0x499e3f
mov ecx, dword [ebx]
call fcn.00442460
mov edx, dword [esi - 0x2c]
lea edi, [esi - 0x3c]
push edi
mov ecx, ebx
call fcn.00496340
mov eax, dword [esi + 8]
add esp, 4
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x1c]
mov dword [esi - 0x18], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x14], eax
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499ec0
push 0x30
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov byte [edi], 0x77
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499ec0
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi - 0x1c], edi
add esp, 0xc
mov edx, dword [esi - 0xc]
jmp 0x499ece
mov dword [esi - 0x1c], edi
mov edx, dword [esi - 0xc]
test edi, edi
je 0x496af5
mov dword [edi + 0x14], edx
or dword [edi + 4], 0x200800
cmp dword [ebx + 0x24], 0
jne case.0x4968cd.198
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle case.0x4968cd.198
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
jmp 0x49b035
mov eax, dword [esi - 0x3c]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x499fae
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x31
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499f54
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499f74
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov dword [esi - 0x3c], edi
lea eax, [edi + 4]
mov ecx, dword [esi - 0xc]
mov dword [edi + 0x14], ecx
or dword [eax], 0x200800
cmp dword [ebx + 0x24], 0
jne 0x499fd5
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x499fd5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x499fd5
mov eax, dword [esp + 0x14]
test eax, eax
je 0x499fbf
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov dword [esi - 0x3c], edi
mov edx, dword [esi - 0xc]
test edx, edx
je 0x499fd5
mov ecx, dword [ebx]
push 1
call fcn.004711a0
add esp, 4
mov edx, dword [esi - 0x2c]
lea edi, [esi - 0x3c]
push edi
mov ecx, ebx
call fcn.00496340
mov eax, dword [esi + 8]
add esp, 4
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
lea ecx, [esi - 0xc]
xor edx, edx
push ecx
mov ecx, dword [ebx]
lea eax, [esi - 0x1c]
push eax
call fcn.00457270
push 0
push 0
push 0
push 0
push 0
push 0
mov edi, eax
xor edx, edx
push 0
push edi
mov ecx, ebx
call fcn.004712d0
mov edx, dword [esi + 4]
add esp, 0x28
mov dword [esp + 0x24], eax
test edx, edx
je 0x49a050
xor ecx, ecx
test eax, eax
cmovne ecx, edi
test ecx, ecx
je 0x49a049
mov eax, dword [ecx]
lea eax, [eax + eax*4]
add eax, eax
mov dword [ecx + eax*8], edx
or dword [ecx + eax*8 - 0x20], 4
jmp 0x49a050
mov ecx, dword [ebx]
call fcn.00442460
mov eax, dword [esi - 0x3c]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a0fb
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x31
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49a09c
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x49a0bc
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
mov edx, edi
lea ecx, [esi - 0x3c]
mov dword [ecx], edx
lea eax, [edi + 4]
mov edx, dword [esp + 0x24]
mov dword [edi + 0x14], edx
or dword [eax], 0x200800
cmp dword [ebx + 0x24], 0
jne 0x49a123
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x49a123
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x49a123
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49a10c
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov edx, dword [esp + 0x24]
mov dword [esi - 0x3c], edi
test edx, edx
je 0x49a123
mov ecx, dword [ebx]
push 1
call fcn.004711a0
add esp, 4
mov edx, dword [esi - 0x2c]
lea edi, [esi - 0x3c]
push edi
mov ecx, ebx
call fcn.00496340
mov ecx, dword [esi - 0xc]
add esp, 4
test ecx, ecx
je 0x49a148
mov eax, dword [esi - 8]
add eax, ecx
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x18]
add eax, dword [esi - 0x1c]
mov dword [esi - 0x34], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x2c]
mov dword [esi - 0x28], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x24], eax
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a1bb
push 0x30
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov byte [edi], 0x14
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x49a1bb
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi - 0x2c], edi
add esp, 0xc
mov edx, dword [esi - 0xc]
jmp 0x499ece
mov dword [esi - 0x2c], edi
jmp 0x499ec3
mov eax, dword [esi - 0x3c]
mov dword [esi - 0x38], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x34], eax
mov eax, dword [esi - 0x2c]
mov ecx, dword [ebx]
push 0
push 0x30
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a338
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x88
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49a21e
mov dword [edi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x49a23e
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
lea eax, [esi - 0x3c]
mov dword [eax], edi
mov eax, dword [esi - 0xc]
mov edi, dword [esi - 0x1c]
mov dword [esp + 0x10], eax
test eax, eax
je 0x49a2e4
mov ecx, dword [ebx]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], ecx
test edi, edi
jne 0x49a27c
push edi
push 0x1c
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a318
xor edx, edx
jmp 0x49a2c4
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x49a2c4
lea eax, [edx + edx*2]
xor edx, edx
shl eax, 4
add eax, 4
mov dword [esp + 0x14], eax
cmp edi, dword [ecx + 0x128]
jb 0x49a302
cmp edi, dword [ecx + 0x12c]
jae 0x49a302
movzx eax, word [ecx + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, edx
ja 0x49a2fc
jb 0x49a2c2
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x38]
ja 0x49a300
mov edx, dword [edi]
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov eax, dword [esi - 0x3c]
mov dword [eax + 0x14], edi
cmp dword [ebx + 0x24], 0
jne case.0x4968cd.198
mov edi, dword [esi - 0x3c]
jmp 0x499ee2
mov eax, dword [esp + 0x14]
xor edx, edx
push edx
push eax
mov edx, edi
call fcn.00405960
mov edi, eax
add esp, 8
test edi, edi
jne 0x49a2c2
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
call fcn.00441410
test edi, edi
je 0x49a334
mov ecx, dword [esp + 0x24]
mov edx, edi
call fcn.00442460
xor edi, edi
jmp 0x49a2e4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49a349
mov ecx, dword [ebx]
mov edx, eax
call fcn.00441410
mov dword [esi - 0x3c], edi
mov edx, dword [esi - 0x1c]
test edx, edx
je 0x49a35a
mov ecx, dword [ebx]
call fcn.00442460
mov edx, dword [esi - 0xc]
test edx, edx
je case.0x4968cd.198
mov ecx, dword [ebx]
call fcn.00441410
jmp case.0x4968cd.198
mov edi, dword [esi - 0x3c]
mov eax, dword [esi - 0x1c]
mov ecx, dword [ebx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
test edi, edi
jne 0x49a39e
push edi
push 0x1c
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a453
xor edx, edx
jmp 0x49a3ee
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x49a3ee
lea eax, [edx + edx*2]
xor edx, edx
shl eax, 4
add eax, 4
mov dword [esp + 0x14], eax
cmp edi, dword [ecx + 0x128]
jb 0x49a443
cmp edi, dword [ecx + 0x12c]
jae 0x49a443
movzx eax, word [ecx + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, edx
ja 0x49a43d
jb 0x49a3e8
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x38]
ja 0x49a441
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x3c], edi
mov eax, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x18], eax
test edi, edi
jne 0x49a487
push 0
push 0x1c
mov ecx, ebx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a524
xor edx, edx
jmp 0x49a4e1
mov eax, dword [esp + 0x14]
xor edx, edx
push edx
push eax
mov edx, edi
call fcn.00405960
add esp, 8
test eax, eax
jne 0x49a3ea
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49a466
mov ecx, dword [esp + 0x24]
mov edx, eax
call fcn.00441410
test edi, edi
je 0x49a475
mov ecx, dword [esp + 0x24]
mov edx, edi
call fcn.00442460
mov dword [esi - 0x3c], 0
mov eax, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x18], eax
jmp 0x49a41e
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x49a4e1
lea ecx, [edx + edx*2]
shl ecx, 4
add ecx, 4
mov dword [esp + 0x20], ecx
cmp edi, dword [ebx + 0x128]
jb 0x49a509
cmp edi, dword [ebx + 0x12c]
jae 0x49a509
mov eax, dword [esi + 4]
mov ecx, edi
mov dword [esp + 0x18], eax
mov eax, ebx
movzx eax, word [eax + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, edx
ja 0x49a50b
jb 0x49a4d6
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x38]
ja 0x49a50f
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
mov edx, dword [ecx]
mov edi, ecx
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x18]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x3c], edi
jmp case.0x4968cd.198
mov ecx, edi
mov eax, dword [esp + 0x20]
push 0
mov edx, ecx
mov ecx, ebx
push eax
call fcn.00405960
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x49a4dd
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49a535
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x49a542
mov edx, edi
mov ecx, ebx
call fcn.00442460
xor edi, edi
mov dword [esi - 0x3c], edi
jmp case.0x4968cd.198
mov eax, dword [ebx]
mov ecx, eax
mov edi, dword [esi - 0x1c]
push 0
push 0x1c
mov dword [esp + 0x40], eax
call fcn.004058c0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49a62d
mov dword [ecx], 1
lea eax, [esi - 0x2c]
xorps xmm0, xmm0
mov dword [esp + 0x30], eax
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], edi
mov edi, ecx
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
dec eax
test dword [ecx], eax
jne 0x49a66e
mov eax, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 4
mov dword [esp + 0x10], eax
cmp ecx, dword [ebx + 0x128]
jb 0x49a603
cmp ecx, dword [ebx + 0x12c]
jae 0x49a603
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, edx
mov dword [esp + 0x18], eax
movzx eax, word [ebx + 0x10c]
cdq
mov dword [esp + 0x38], eax
xor eax, eax
cmp eax, edx
ja 0x49a60a
jb 0x49a5f2
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x38]
ja 0x49a60e
mov eax, dword [esp + 0x14]
mov edi, ecx
mov edx, dword [esi + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x30], eax
jmp 0x49a672
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
push 0
mov edx, ecx
mov ecx, ebx
push eax
call fcn.00405960
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x49a699
mov edx, dword [esp + 0x18]
mov edi, ecx
mov ebx, dword [ecx]
jmp 0x49a672
test edi, edi
je 0x49a63c
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.00441410
lea eax, [esi - 0x2c]
mov dword [eax], 0
mov ebx, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x30], eax
mov eax, dword [esi + 4]
push 0
push 0x1c
mov dword [esp + 0x20], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a699
mov edx, dword [esp + 0x18]
xor ebx, ebx
jmp 0x49a672
mov ebx, dword [esp + 0x38]
lea eax, [ebx + ebx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [ebx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x30]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], edx
mov dword [eax], edi
jmp case.0x4968cd.198
mov eax, dword [esp + 0x18]
test eax, eax
je 0x49a6aa
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x49a6b7
mov edx, edi
mov ecx, ebx
call fcn.00442460
mov eax, dword [esp + 0x30]
xor edi, edi
mov dword [eax], edi
jmp case.0x4968cd.198
mov edi, dword [esi - 0x1c]
mov eax, dword [esi + 4]
mov ebx, dword [ebx]
mov dword [esp + 0x14], eax
test edi, edi
jne 0x49a6ef
push edi
push 0x1c
mov ecx, ebx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a76d
xor edx, edx
jmp 0x49a731
mov edx, dword [edi]
lea eax, [edx - 1]
test edx, eax
jne 0x49a731
lea ecx, [edx + edx*2]
xor eax, eax
shl ecx, 4
add ecx, 4
mov dword [esp + 0x38], eax
cmp edi, dword [ebx + 0x128]
jb 0x49a75b
cmp edi, dword [ebx + 0x12c]
jae 0x49a75b
movzx eax, word [ebx + 0x10c]
cdq
cmp dword [esp + 0x38], edx
ja 0x49a759
jb 0x49a72b
cmp ecx, eax
ja 0x49a759
mov eax, edi
mov edx, dword [eax]
mov edi, eax
lea eax, [edx + edx*2]
xorps xmm0, xmm0
lea ecx, [edi + eax*8]
lea eax, [edx + 1]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], eax
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
xor eax, eax
push eax
push ecx
mov edx, edi
mov ecx, ebx
call fcn.00405960
add esp, 8
test eax, eax
jne 0x49a72d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49a77e
mov edx, eax
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x49a78b
mov edx, edi
mov ecx, ebx
call fcn.00442460
xor edi, edi
mov dword [esi - 0x1c], edi
jmp case.0x4968cd.198
mov ebx, dword [ebx]
mov ecx, ebx
mov edi, dword [esi + 4]
push 0
push 0x1c
call fcn.004058c0
add esp, 8
test eax, eax
je 0x49a7cb
mov dword [eax], 1
xorps xmm0, xmm0
movups xmmword [eax + 8], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 4], edi
mov dword [esi + 4], eax
jmp case.0x4968cd.198
test edi, edi
je 0x49a7d8
mov edx, edi
mov ecx, ebx
call fcn.00441410
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x4968cd.198
mov eax, dword [ebx]
mov ecx, eax
push 0
push 0x58
mov dword [esp + 0x1c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49a8d0
push 0x50
lea eax, [edi + 8]
mov dword [edi + 4], 1
push 0
push eax
mov dword [edi], 1
call fcn.004f7f30
mov eax, dword [esp + 0x20]
add esp, 0xc
mov dword [edi + 0x38], 0xffffffff
cmp byte [eax + 0x49], 0
je 0x49a83e
mov edx, edi
mov ecx, eax
call fcn.00457490
xor edi, edi
jmp 0x49a8d0
mov eax, dword [edi]
lea ecx, [eax + eax*4]
shl ecx, 4
lea eax, [esi - 0x3c]
add ecx, edi
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x49a8c4
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], eax
test eax, eax
jne 0x49a879
mov ecx, eax
mov dword [esp + 0x10], eax
call fcn.004089e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
jmp 0x49a8c6
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004058c0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x49a8b3
push dword [esp + 0x24]
push dword [esp + 0x3c]
push eax
call fcn.004f79b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x24]
mov byte [eax + ecx], 0
mov ecx, eax
call fcn.004089e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
jmp 0x49a8c6
xor eax, eax
mov dword [ecx - 0x40], eax
mov dword [ecx - 0x44], 0
push 0
push dword [esi - 0x7c]
lea eax, [esi - 0xac]
mov ecx, ebx
push 0
push dword [esi + 4]
lea edx, [esi - 0x6c]
push eax
push dword [esi - 0x9c]
lea eax, [esi - 0x5c]
push dword [esi - 0x1c]
push edi
push eax
call fcn.00455650
add esp, 0x24
jmp case.0x4968cd.198
mov dword [esi + 4], 2
jmp case.0x4968cd.198
push dword [esi + 4]
mov edx, dword [esi - 0x3c]
lea eax, [esi - 0x1c]
push dword [esi - 0xc]
mov ecx, ebx
push eax
call fcn.00496570
mov dword [esi - 0x3c], eax
jmp 0x49b035
push dword [esi + 4]
lea edi, [esi - 0x1c]
xor edx, edx
push dword [esi - 0xc]
mov ecx, ebx
push edi
call fcn.00496570
mov dword [edi], eax
jmp 0x49b035
push dword [esi - 0xc]
mov edx, dword [esi + 4]
mov ecx, ebx
call fcn.00456a10
add esp, 4
jmp case.0x4968cd.198
xor edx, edx
mov ecx, ebx
call fcn.004840d0
jmp case.0x4968cd.198
lea edx, [esi + 4]
mov ecx, ebx
call fcn.004840d0
jmp case.0x4968cd.198
push 0
lea eax, [esi + 4]
mov ecx, ebx
push 0
push eax
lea edx, [esi - 0xc]
call fcn.00469a80
jmp 0x49b035
push 0
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
lea edx, [esi - 0x2c]
push eax
call fcn.00469a80
jmp 0x49b035
push 0
lea eax, [esi - 0xc]
mov ecx, ebx
push eax
lea eax, [esi - 0x2c]
push eax
lea edx, [esi - 0x3c]
call fcn.00469a80
jmp 0x49b035
push 1
jmp 0x49a98e
push 1
lea eax, [esi - 0xc]
mov ecx, ebx
push eax
lea eax, [esi - 0x2c]
lea edx, [esi - 0x3c]
push eax
call fcn.00469a80
jmp 0x49b035
mov eax, dword [esi + 8]
mov ecx, dword [esi - 0x2c]
add eax, dword [esi + 4]
mov edx, dword [esi - 0xc]
sub eax, ecx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, ebx
push eax
call fcn.0047ff60
add esp, 4
jmp case.0x4968cd.198
push dword [esi - 0x7c]
lea edi, [esi - 0x5c]
mov ecx, ebx
push dword [esi - 0x9c]
lea edx, [esi - 0x6c]
push dword [esi + 4]
push dword [esi - 0x1c]
push dword [esi - 0x38]
push dword [esi - 0x3c]
push dword [esi - 0x4c]
push edi
call fcn.0047f840
add esp, 0x20
cmp dword [esi - 0x58], 0
jne 0x49aa4b
mov eax, dword [esi - 0x6c]
mov ecx, dword [esi - 0x68]
mov dword [esi - 0x9c], eax
mov dword [esi - 0x98], ecx
jmp case.0x4968cd.198
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi - 0x9c], eax
mov dword [esi - 0x98], ecx
jmp case.0x4968cd.198
mov dword [esi - 0xc], 0x40
jmp case.0x4968cd.198
mov dword [esi + 0x14], 0x21
jmp case.0x4968cd.198
movzx eax, byte [esi + 2]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
jmp case.0x4968cd.198
mov dword [esi - 0x1c], 0x6e
mov eax, dword [esi + 4]
mov dword [esi - 0x18], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x1c]
mov ecx, dword [eax + 0x20]
mov eax, dword [esi - 0xc]
mov dword [ecx + 0x1c], eax
mov ecx, dword [esi - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ecx + 0x20], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0xc]
mov dword [eax + 0x20], eax
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
push str.qualified_table_names_are_not_allowed_on_INSERT__UPDATE__and_DELETE_statements_within_triggers
mov dword [esi - 0x1c], eax
push ebx
mov dword [esi - 0x18], ecx
call fcn.00408830
add esp, 8
jmp case.0x4968cd.198
push str.the_INDEXED_BY_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push ebx
call fcn.00408830
add esp, 8
jmp case.0x4968cd.198
push str.the_NOT_INDEXED_clause_is_not_allowed_on_UPDATE_or_DELETE_statements_within_triggers
push ebx
call fcn.00408830
add esp, 8
jmp case.0x4968cd.198
mov al, byte [esi - 0x4c]
mov edi, dword [ebx]
mov byte [esp + 0x37], al
mov eax, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0x38]
add eax, 0x25
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], eax
push 0
push eax
test edi, edi
je 0x49ab3d
mov ecx, edi
call fcn.004058c0
jmp 0x49ab42
call fcn.004051e0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x49abb6
push dword [esp + 0x38]
push 0
push ebx
call fcn.004f7f30
add esp, 0xc
lea edi, [ebx + 0x24]
push dword [esi - 0x38]
push dword [esi - 0x3c]
push edi
call fcn.004f79b0
add esp, 0xc
mov ecx, edi
call fcn.004089e0
mov edx, dword [esp + 0x14]
mov dword [ebx + 0xc], edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
push 1
mov byte [ebx], 0x6e
call fcn.00441960
mov dword [ebx + 0x14], eax
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x49abaa
push 0
push 1
mov edx, eax
mov ecx, edi
call fcn.004416a0
add esp, 8
jmp 0x49abac
xor eax, eax
mov dword [ebx + 0x10], eax
mov al, byte [esp + 0x37]
mov byte [ebx + 1], al
mov eax, dword [esp + 0x14]
test eax, eax
je 0x49abc7
mov edx, eax
mov ecx, edi
call fcn.00442460
mov eax, dword [esp + 0x24]
test eax, eax
je 0x497fa4
mov edx, eax
mov ecx, edi
call fcn.00441410
mov dword [esi - 0x5c], ebx
jmp case.0x4968cd.198
mov al, byte [esi - 0x3c]
mov edi, dword [ebx]
mov byte [esp + 0x37], al
mov eax, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 0x18]
add eax, 0x25
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], eax
push 0
push eax
test edi, edi
je 0x49ac19
mov ecx, edi
call fcn.004058c0
jmp 0x49ac1e
call fcn.004051e0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x49ac7c
push dword [esp + 0x38]
push 0
push ebx
call fcn.004f7f30
add esp, 0xc
lea edi, [ebx + 0x24]
push dword [esi - 0x18]
push dword [esi - 0x1c]
push edi
call fcn.004f79b0
add esp, 0xc
mov ecx, edi
call fcn.004089e0
mov edx, dword [esp + 0x24]
mov dword [ebx + 0xc], edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
push 1
mov byte [ebx], 0x6c
call fcn.00441f50
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [ebx + 8], eax
mov al, byte [esp + 0x37]
mov dword [ebx + 0x18], edx
mov byte [ebx + 1], al
jmp 0x49ac87
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.00456e70
mov eax, dword [esp + 0x24]
test eax, eax
je 0x49ac9d
push 1
mov edx, eax
mov ecx, edi
call fcn.004711a0
add esp, 4
mov dword [esi - 0x3c], ebx
jmp case.0x4968cd.198
mov eax, dword [esi - 0x18]
mov ecx, dword [ebx]
add eax, 0x25
mov edi, dword [esi + 4]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], eax
push 0
push eax
test ecx, ecx
je 0x49acca
call fcn.004058c0
jmp 0x49accf
call fcn.004051e0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x49ad2b
push dword [esp + 0x38]
push 0
push ebx
call fcn.004f7f30
add esp, 0xc
lea edi, [ebx + 0x24]
push dword [esi - 0x18]
push dword [esi - 0x1c]
push edi
call fcn.004f79b0
add esp, 0xc
mov ecx, edi
call fcn.004089e0
mov dword [ebx + 0xc], edi
mov edi, dword [esp + 0x1c]
mov byte [ebx], 0x6d
test edi, edi
je 0x49ad22
mov ecx, dword [esp + 0x14]
mov edx, edi
push 0
push 1
call fcn.004416a0
add esp, 8
jmp 0x49ad24
xor eax, eax
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xa
test edi, edi
je 0x49ac9d
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.00441410
mov dword [esi - 0x3c], ebx
jmp case.0x4968cd.198
mov ebx, dword [ebx]
mov edi, dword [esi + 4]
push 0
push 0x24
test ebx, ebx
je 0x49ad5c
mov ecx, ebx
call fcn.004058c0
jmp 0x49ad61
call fcn.004051e0
add esp, 8
test eax, eax
je 0x49ad89
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
mov word [eax], 0xa77
mov dword [eax + 8], edi
mov dword [esi + 4], eax
jmp case.0x4968cd.198
test edi, edi
je 0x49ad9b
push 1
mov edx, edi
mov ecx, ebx
call fcn.004711a0
add esp, 4
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x4968cd.198
mov eax, dword [esi - 0x2c]
mov dword [esi - 0x28], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x24], eax
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x49ae0b
push 0x30
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov byte [edi], 0x46
or eax, 0xffffffff
mov ecx, edi
mov word [edi + 0x22], ax
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x49ae0b
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
mov dword [esi - 0x2c], edi
add esp, 0xc
mov byte [edi + 1], 4
jmp case.0x4968cd.198
mov dword [esi - 0x2c], edi
test edi, edi
je case.0x4968cd.198
mov byte [edi + 1], 4
jmp case.0x4968cd.198
mov eax, dword [esi - 0x4c]
mov edx, 0x46
mov dword [esi - 0x48], eax
mov eax, dword [esi + 8]
add eax, dword [esi + 4]
mov dword [esi - 0x44], eax
lea eax, [esi - 0xc]
mov ecx, dword [ebx]
push 1
push eax
call fcn.00440d30
add esp, 8
mov dword [esi - 0x4c], eax
test eax, eax
je case.0x4968cd.198
mov cl, byte [esi - 0x2c]
mov byte [eax + 1], cl
jmp case.0x4968cd.198
mov dword [esi + 4], 1
jmp case.0x4968cd.198
mov dword [esi + 4], 3
jmp case.0x4968cd.198
push dword [esi - 0xc]
mov edx, dword [esi + 4]
mov ecx, ebx
call fcn.00480600
add esp, 4
jmp case.0x4968cd.198
push dword [esi + 4]
mov eax, dword [esi - 0x2c]
mov edx, 0x18
push dword [esi - 0xc]
mov ecx, ebx
push eax
push eax
push 0x54c4d8
call fcn.0044e890
add esp, 0x14
jmp case.0x4968cd.198
mov eax, dword [esi + 4]
mov edx, 0x19
push eax
push 0
push 0
push eax
push 0x54b704
mov ecx, ebx
call fcn.0044e890
add esp, 0x14
jmp case.0x4968cd.198
mov ecx, dword [ebx]
cmp byte [ecx + 0x9d], 0
jne 0x49aeee
lea edx, [ebx + 4]
call fcn.004702c0
test eax, eax
je 0x49aeee
mov dword [ebx + 0xc], eax
inc dword [ebx + 0x24]
jmp case.0x4968cd.198
xor edx, edx
mov ecx, ebx
call fcn.00458480
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea edx, [esi - 0xc]
call fcn.00458500
add esp, 4
jmp case.0x4968cd.198
push 0
xor edx, edx
mov ecx, ebx
call fcn.0044d780
add esp, 4
jmp case.0x4968cd.198
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea edx, [esi - 0xc]
call fcn.0044d780
add esp, 4
jmp case.0x4968cd.198
mov edx, dword [esi - 0x2c]
lea eax, [esi + 4]
push eax
mov ecx, ebx
call fcn.0044a980
add esp, 4
jmp case.0x4968cd.198
mov eax, dword [ebx + 0x188]
lea edx, [esi - 0xc]
add eax, dword [ebx + 0x184]
mov ecx, ebx
sub eax, dword [edx]
mov dword [esi - 8], eax
call fcn.0044b2d0
jmp case.0x4968cd.198
inc byte [ebx + 0x18]
mov ecx, ebx
mov eax, dword [ebx]
inc dword [eax + 0x108]
mov edx, dword [esi + 4]
call fcn.0044b930
jmp case.0x4968cd.198
xor edx, edx
mov ecx, ebx
call fcn.00485300
jmp case.0x4968cd.198
lea edx, [esi + 4]
mov ecx, ebx
call fcn.00485300
jmp case.0x4968cd.198
push dword [esi - 0x3c]
lea eax, [esi + 4]
mov ecx, ebx
push eax
lea eax, [esi - 0x1c]
push eax
lea edx, [esi - 0x2c]
call fcn.00485110
jmp 0x49b035
mov ecx, ebx
call fcn.00485290
mov dword [ebx + 0x1bc], 0
mov dword [ebx + 0x1c0], 0
jmp case.0x4968cd.198
mov ecx, dword [ebx + 0x1bc]
mov eax, dword [esi + 4]
test ecx, ecx
jne 0x49affa
mov dword [ebx + 0x1bc], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x1c0], eax
jmp case.0x4968cd.198
sub eax, ecx
add eax, dword [esi + 8]
mov dword [ebx + 0x1c0], eax
jmp case.0x4968cd.198
push dword [esi - 0xc]
lea edi, [esi - 0x4c]
xor edx, edx
push dword [esi - 0x3c]
mov ecx, ebx
push edi
call fcn.00458aa0
mov dword [edi], eax
jmp 0x49b035
push dword [esi - 0xc]
mov edx, dword [esi - 0x6c]
lea eax, [esi - 0x4c]
push dword [esi - 0x3c]
mov ecx, ebx
push eax
call fcn.00458aa0
mov dword [esi - 0x6c], eax
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov edi, 0x52b
movsx edx, byte [eax*2 + 0x54bda1]
mov bl, byte [eax*2 + 0x54bda0]
shl edx, 4
movzx eax, word [edx + esi]
movsx ecx, word [eax*2 + 0x54c6e0]
movzx eax, bl
add ecx, eax
movzx eax, word [ecx*2 + 0x54d2a0]
cmp ax, di
mov ecx, eax
mov edi, dword [esp + 0x48]
jne 0x49b08e
add dword [edi], edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x140]
xor ecx, esp
call fcn.004f49c2
mov esp, ebp
pop ebp
ret
lea eax, [edx + 0x10]
add eax, esi
mov dword [edi], eax
pop edi
pop esi
mov word [eax], cx
mov ecx, dword [esp + 0x144]
mov byte [eax + 2], bl
pop ebx
xor ecx, esp
call fcn.004f49c2
mov esp, ebp
pop ebp
ret