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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, edx
mov dword [esp + 0x28], ecx
push ebx
push esi
push edi
mov edx, dword [eax]
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x38], 0
mov edi, dword [edx]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], edi
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0xe], 0
cmp byte [ecx + 0x57], 0
jne 0x4d01a1
mov ecx, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ebx, ecx
mov dword [esp + 0x18], ecx
lea ecx, [edx + 0x1f0]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ecx
mov esi, dword [ebx]
mov dword [ecx], 0
mov dword [esp + 0x14], esi
mov edx, dword [esi + 0xc]
test edx, edx
je 0x4cec46
call fcn.004d0780
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x44], edx
jmp 0x4cec58
movlpd qword [esp + 0x68], xmm0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
mov al, byte [esi]
mov byte [esp + 0xd], al
movzx eax, al
mov dword [esp + 0x68], eax
cmp eax, 0x31
jne 0x4ced33
mov edx, esi
mov ecx, edi
call fcn.0047cdc0
test eax, eax
jne 0x4d01a1
test dword [esi + 4], 0x1000
lea ecx, [esi + 4]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x50], eax
je 0x4ceca9
mov ecx, dword [esp + 0x28]
mov edx, eax
call fcn.004ce750
mov ecx, edx
jmp 0x4ced11
xorps xmm0, xmm0
movlpd qword [esp + 0x48], xmm0
test eax, eax
je 0x4ced09
cmp dword [eax], 0
jle 0x4ced09
mov edi, dword [esp + 0x48]
lea esi, [eax + 8]
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 0x60], eax
nop dword [eax]
mov edx, dword [esi]
mov ecx, dword [esp + 0x28]
call fcn.004d0820
mov ecx, dword [esp + 0x60]
lea esi, [esi + 0x14]
or edi, eax
or ecx, edx
mov eax, dword [esp + 0x50]
inc ebx
mov dword [esp + 0x60], ecx
cmp ebx, dword [eax]
jl 0x4cecd0
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x60]
jmp 0x4ced11
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
or edx, eax
mov dword [ebx + 0x20], eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x44]
or edx, ecx
mov dword [ebx + 0x24], ecx
mov dword [esp + 0x24], edx
lea edx, [esi + 4]
jmp 0x4cee6d
mov edx, dword [esi + 0x10]
test edx, edx
je 0x4ced49
call fcn.004d0780
mov ecx, edx
mov dword [esp + 0x20], eax
mov edx, eax
jmp 0x4ced5a
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x24], ecx
cmp dword [esi + 0xc], 0
je 0x4ced94
test dword [esi + 4], 0x41000
lea eax, [esi + 4]
mov dword [esp + 0x1c], eax
jne 0x4ced94
cmp dword [esi + 0x14], 0
jne 0x4ced94
or edx, dword [esp + 0x40]
or ecx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
lea edx, [esi + 4]
mov dword [esp + 0x24], ecx
jmp 0x4cee6d
cmp byte [esi], 0xa7
lea edx, [esi + 4]
mov eax, dword [edx]
mov dword [esp + 0x1c], edx
jne 0x4cee35
test al, 0x20
jne 0x4cee35
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x1c]
cmp dword [ecx + 8], edx
jne 0x4cedd2
mov dword [esp + 0x20], 1
lea edx, [esi + 4]
mov dword [esp + 0x24], 0
jmp 0x4cee6d
mov eax, 1
cmp dword [ecx + 4], eax
jle 0x4cedf5
add ecx, 0xc
nop
cmp dword [ecx], edx
je 0x4cee13
mov edi, dword [esp + 0x28]
inc eax
add ecx, 4
cmp eax, dword [edi + 4]
mov edi, dword [esp + 0x54]
jl 0x4cede0
xorps xmm0, xmm0
lea edx, [esi + 4]
movlpd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
jmp 0x4cee6d
xor edx, edx
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov dword [esp + 0x20], edx
cmovae ecx, edx
lea edx, [esi + 4]
mov dword [esp + 0x24], ecx
jmp 0x4cee6d
test eax, 0x810000
je 0x4cee53
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], ecx
jmp 0x4cee65
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.004d0520
mov dword [esp + 0x24], edx
lea edx, [esi + 4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
cmp dword [eax], 0
je 0x4cee7f
mov eax, 0x1000
or word [ebx + 0xa], ax
mov ecx, dword [edx]
mov dword [esp + 0x50], ecx
test cl, 3
je 0x4cef98
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x24]
cmp dword [ecx + 8], edx
jne 0x4ceea3
mov ecx, 1
xor edx, edx
jmp 0x4ceed6
mov eax, 1
cmp dword [ecx + 4], eax
jle 0x4ceec5
add ecx, 0xc
cmp dword [ecx], edx
je 0x4cef22
mov edi, dword [esp + 0x28]
inc eax
add ecx, 4
cmp eax, dword [edi + 4]
mov edi, dword [esp + 0x54]
jl 0x4ceeb0
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
test byte [esp + 0x50], 1
mov eax, dword [esp + 0x20]
je 0x4cef39
or dword [esp + 0x24], edx
or eax, ecx
mov dword [esp + 0x48], ecx
add dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x50], edx
adc dword [esp + 0x50], 0xffffffff
shrd dword [esp + 0x60], eax, 1
shr eax, 1
cmp eax, edx
ja 0x4cef64
jb 0x4cefa8
cmp dword [esp + 0x60], ecx
jae 0x4cef64
jmp 0x4cefa8
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x4ceed6
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
shrd dword [esp + 0x60], eax, 1
shr eax, 1
cmp eax, edx
jb 0x4cef98
ja 0x4cef55
cmp dword [esp + 0x60], ecx
jb 0x4cef98
mov eax, dword [esp + 0x34]
cmp dword [eax], 0
jle 0x4cef79
test byte [eax + 0x2c], 0x40
je 0x4cef79
push str.ON_clause_references_tables_to_its_right
push edi
call fcn.0043f000
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
and eax, 0xfffffffd
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
jmp 0x4cefac
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x2c], eax
xor eax, eax
mov word [ebx + 0xc], ax
mov al, byte [esp + 0xd]
mov dword [ebx + 0x14], 0xffffffff
mov dword [ebx + 0x10], 0xffffffff
cmp al, 0x31
je 0x4cf8cc
cmp al, 0x35
jb 0x4cefe6
cmp al, 0x39
jbe 0x4cf8cc
cmp al, 0x32
je 0x4cf8cc
cmp al, 0x2d
je 0x4cf8cc
mov cl, byte [esi]
cmp cl, 0x30
jne 0x4cf1b5
mov eax, dword [esp + 0x10]
cmp byte [eax + 8], 0x2c
jne 0x4cf1e1
mov eax, dword [esi + 0x14]
add eax, 8
mov dword [esp + 0x5c], 0
mov dword [esp + 0x68], eax
mov edx, dword [eax]
mov ebx, dword [esp + 0x2c]
test edx, edx
je 0x4cf03f
push 0
push 0
mov ecx, ebx
call fcn.00479b40
add esp, 8
mov dword [esp + 0x60], eax
jmp 0x4cf047
mov dword [esp + 0x60], 0
mov edx, dword [esi + 0xc]
test edx, edx
je 0x4cf060
push 0
push 0
mov ecx, ebx
call fcn.00479b40
add esp, 8
mov ebx, eax
jmp 0x4cf062
xor ebx, ebx
mov eax, dword [esp + 0x5c]
mov ecx, dword [edi]
push 0
push 0x34
mov al, byte [eax + 0x5b19b0]
mov byte [esp + 0x15], al
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4cf11c
push 0x34
push 0
push esi
call fcn.00570cd0
mov al, byte [esp + 0x19]
add esp, 0xc
mov ecx, dword [esp + 0x60]
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ecx, ecx
je 0x4cf0c0
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x4cf0c5
mov ecx, 1
mov dword [esi + 0x18], ecx
test ebx, ebx
je 0x4cf0e7
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x4cf0e7
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x4cf102
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0043f000
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
and eax, 3
je 0x4cf13a
or dword [esi + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
jmp 0x4cf13a
test ebx, ebx
je 0x4cf129
mov ecx, dword [edi]
mov edx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4cf13a
mov ecx, dword [edi]
mov edx, eax
call fcn.004798d0
mov ebx, dword [esp + 0x10]
mov edx, esi
push 3
mov ecx, ebx
call fcn.004cd460
mov ecx, dword [esp + 0x38]
add esp, 4
mov esi, eax
mov edx, ebx
push esi
call fcn.004cebb0
mov ecx, dword [ebx + 0x18]
lea edx, [esi + esi*2]
mov eax, dword [esp + 0x1c]
add edx, edx
mov esi, dword [ebp + 8]
add esp, 4
mov dword [ecx + edx*8 + 0x10], esi
lea ebx, [ecx + eax]
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x18]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x5c], ecx
inc byte [edx + eax + 0xe]
mov eax, dword [esp + 0x68]
add eax, 0x14
mov dword [esp + 0x68], eax
cmp ecx, 2
jl 0x4cf021
jmp 0x4cfc7d
cmp cl, 0x2b
jne 0x4cf1dd
push dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
call fcn.004cdc30
mov ecx, dword [esp + 0x14]
add esp, 4
mov ebx, dword [ecx + 0x18]
add ebx, dword [esp + 0x18]
jmp 0x4cfc7d
mov eax, dword [esp + 0x10]
cmp cl, 0x33
jne 0x4cf3e6
mov eax, dword [esi + 0xc]
mov dword [esp + 0x58], eax
cmp byte [eax], 0xa7
jne 0x4cfc7d
cmp word [eax + 0x20], 0
jl 0x4cfc7d
test byte [edx], 1
jne 0x4cfc7d
mov ecx, dword [esp + 0x2c]
push 0
push 0x34
call fcn.0043b7c0
add esp, 8
mov dword [esp + 0x5c], eax
lea ecx, [eax + 0x18]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x4cf254
push 0x34
push 0
push eax
call fcn.00570cd0
mov eax, dword [esp + 0x68]
add esp, 0xc
or ecx, 0xffffffff
mov byte [eax], 0x79
mov word [eax + 0x22], cx
mov eax, dword [esp + 0x60]
mov dword [eax], 1
jmp 0x4cf258
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4cf274
mov ecx, dword [esp + 0x2c]
mov edx, eax
push 0
push 0
call fcn.00479b40
add esp, 8
jmp 0x4cf276
xor eax, eax
mov ecx, dword [edi]
push 0
push 0x34
mov dword [esp + 0x4c], eax
call fcn.0043b7c0
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
je 0x4cf32d
push 0x34
push 0
push eax
call fcn.00570cd0
mov ecx, dword [esp + 0x4c]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x22], ax
lea edx, [ecx + 4]
mov eax, dword [esp + 0x5c]
mov byte [ecx], 0x36
mov dword [esp + 0x68], edx
test eax, eax
je 0x4cf2d4
mov dword [ecx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x400208
or dword [edx], eax
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
inc edx
jmp 0x4cf2e0
lea eax, [ecx + 4]
mov edx, 1
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x18], edx
test eax, eax
je 0x4cf310
mov edx, dword [esp + 0x68]
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x400208
or dword [edx], eax
mov eax, dword [esp + 0x44]
mov edx, dword [ecx + 0x18]
mov eax, dword [eax + 0x18]
cmp eax, edx
jl 0x4cf310
lea edx, [eax + 1]
mov dword [ecx + 0x18], edx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp edx, eax
jle 0x4cf353
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0043f000
add esp, 0xc
jmp 0x4cf34f
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4cf33e
mov ecx, dword [edi]
mov edx, eax
call fcn.004798d0
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4cf34f
mov ecx, dword [edi]
mov edx, eax
call fcn.004798d0
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push 0x83
call fcn.004cd460
add esp, 4
test eax, eax
je 0x4cfc7d
mov ebx, dword [esp + 0x10]
lea edx, [eax + eax*2]
mov ecx, dword [esp + 0x58]
shl edx, 4
mov esi, dword [ebx + 0x18]
add esi, edx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x14], eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x18], eax
mov eax, 4
mov word [esi + 0xc], ax
mov eax, dword [ebx + 0x18]
mov dword [edx + eax + 0x10], ecx
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x18]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx + 8], ax
mov eax, dword [ebx + 0x18]
mov edx, dword [esp + 0x18]
inc byte [edx + eax + 0xe]
mov ebx, dword [ebx + 0x18]
add ebx, edx
or word [ebx + 0xa], 8
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
jmp 0x4cfc79
cmp cl, 0xac
jne 0x4cfc7d
cmp byte [eax + 8], 0x2c
jne 0x4cfc7d
lea eax, [esp + 0x58]
mov edx, esi
push eax
lea eax, [esp + 0x60]
mov ecx, edi
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004cd5e0
add esp, 0xc
test eax, eax
je 0x4cfc7d
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x4cf44a
push 0
mov edx, ecx
mov ecx, dword [esp + 0x30]
push 0
call fcn.00479b40
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [esp + 0x44], eax
jmp 0x4cf452
mov dword [esp + 0x44], 0
mov esi, dword [esp + 0x58]
test esi, esi
je 0x4cf4bb
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x4cf4bb
mov eax, 0x400
xor esi, esi
or word [ebx + 0xa], ax
mov ebx, dword [ecx + 8]
mov cl, byte [ebx]
test cl, cl
je 0x4cf4b7
mov edi, dword [esp + 0x38]
nop word [eax + eax]
movzx edx, cl
lea esi, [esi + 1]
movzx eax, byte [edx + 0x5b2aa8]
and al, 0x20
not al
and al, cl
mov byte [esi + ebx - 1], al
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
movzx eax, byte [edx + 0x5b3648]
mov byte [esi + ecx - 1], al
mov ebx, dword [edi + 8]
mov cl, byte [ebx + esi]
test cl, cl
jne 0x4cf480
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
cmp byte [ecx + 0x57], 0
jne 0x4cf523
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 8]
test edx, edx
jne 0x4cf4d4
xor ecx, ecx
jmp 0x4cf4ef
mov ecx, edx
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4cf4e0
sub ecx, ebx
and ecx, 0x3fffffff
mov al, byte [edx + ecx - 1]
mov ebx, dword [esp + 0x5c]
test esi, esi
je 0x4cf513
cmp al, 0x40
mov dword [esp + 0x60], 0
movzx eax, al
cmove ebx, dword [esp + 0x60]
mov al, byte [eax + 0x5b3648]
inc al
mov dword [esp + 0x58], ebx
mov byte [edx + ecx - 1], al
mov ecx, dword [esp + 0x2c]
jmp 0x4cf52b
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
test esi, esi
mov eax, 0x5b3024
mov ebx, str.NOCASE
cmove ebx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], ebx
test eax, eax
je 0x4cf55a
push 0
push 0
mov edx, eax
call fcn.00479b40
add esp, 8
mov dword [esp + 0x5c], eax
jmp 0x4cf562
mov dword [esp + 0x5c], 0
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4cf567
sub esi, ecx
and esi, 0x3fffffff
jbe 0x4cf5d7
mov ecx, dword [edi]
lea eax, [esi + 0x35]
push 0
push eax
call fcn.0043b7c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4cf5d7
push 0x34
push 0
push ebx
call fcn.00570cd0
add esp, 0xc
mov byte [ebx], 0x71
or eax, 0xffffffff
mov word [ebx + 0x22], ax
lea eax, [ebx + 0x34]
mov dword [ebx + 8], eax
push esi
push dword [esp + 0x64]
push eax
call fcn.00570750
mov eax, dword [ebx + 8]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [esp + 0x5c]
or dword [ebx + 4], 0x2200
mov dword [ebx + 0x18], 1
mov dword [ebx + 0xc], eax
jmp 0x4cf5db
mov ebx, dword [esp + 0x5c]
mov ecx, dword [edi]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4cf682
push 0x34
push 0
push esi
call fcn.00570cd0
mov ecx, dword [esp + 0x44]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x39
mov word [esi + 0x22], ax
test ecx, ecx
je 0x4cf626
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x4cf62b
mov ecx, 1
mov dword [esi + 0x18], ecx
test ebx, ebx
je 0x4cf64d
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x4cf64d
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x4cf668
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0043f000
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
and eax, 3
je 0x4cf6a0
or dword [esi + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
jmp 0x4cf6a0
test ebx, ebx
je 0x4cf68f
mov ecx, dword [edi]
mov edx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4cf6a0
mov ecx, dword [edi]
mov edx, eax
call fcn.004798d0
mov ecx, dword [esp + 0x10]
mov edx, esi
push 0x103
call fcn.004cd460
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
push eax
call fcn.004cebb0
mov eax, dword [esp + 0x6c]
add esp, 4
test eax, eax
je 0x4cf6e8
mov ecx, dword [esp + 0x2c]
mov edx, eax
push 0
push 0
call fcn.00479b40
add esp, 8
mov dword [esp + 0x5c], eax
jmp 0x4cf6f0
mov dword [esp + 0x5c], 0
mov esi, dword [esp + 0x60]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4cf6f7
sub esi, ecx
and esi, 0x3fffffff
jbe 0x4cf767
mov ecx, dword [edi]
lea eax, [esi + 0x35]
push 0
push eax
call fcn.0043b7c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4cf767
push 0x34
push 0
push ebx
call fcn.00570cd0
add esp, 0xc
mov byte [ebx], 0x71
or eax, 0xffffffff
mov word [ebx + 0x22], ax
lea eax, [ebx + 0x34]
mov dword [ebx + 8], eax
push esi
push dword [esp + 0x64]
push eax
call fcn.00570750
mov eax, dword [ebx + 8]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [esp + 0x5c]
or dword [ebx + 4], 0x2200
mov dword [ebx + 0x18], 1
mov dword [ebx + 0xc], eax
jmp 0x4cf76b
mov ebx, dword [esp + 0x5c]
mov ecx, dword [edi]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4cf812
push 0x34
push 0
push esi
call fcn.00570cd0
mov ecx, dword [esp + 0x50]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x38
mov word [esi + 0x22], ax
test ecx, ecx
je 0x4cf7b6
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x4cf7bb
mov ecx, 1
mov dword [esi + 0x18], ecx
test ebx, ebx
je 0x4cf7dd
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x4cf7dd
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x4cf7f8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0043f000
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
and eax, 3
je 0x4cf830
or dword [esi + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
jmp 0x4cf830
test ebx, ebx
je 0x4cf81f
mov ecx, dword [edi]
mov edx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4cf830
mov ecx, dword [edi]
mov edx, eax
call fcn.004798d0
mov edx, esi
mov esi, dword [esp + 0x10]
push 0x103
mov ecx, esi
call fcn.004cd460
mov ecx, dword [esp + 0x38]
add esp, 4
mov edx, esi
mov dword [esp + 0x68], eax
push eax
call fcn.004cebb0
mov ebx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esi + 0x18]
add ebx, eax
cmp dword [esp + 0x58], 0
je 0x4cfc79
mov ecx, dword [esp + 0x54]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 8]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x18]
movzx eax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x18]
inc byte [ecx + eax + 0xe]
mov eax, dword [esp + 0x68]
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x18]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x18]
movzx eax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x18]
inc byte [ecx + eax + 0xe]
jmp 0x4cfc79
mov esi, dword [esi + 0xc]
test esi, esi
je 0x4cf8e3
test dword [esi + 4], 0x2000
je 0x4cf8e3
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x4cf8d3
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x4cf900
nop
test dword [ebx + 4], 0x2000
je 0x4cf900
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x4cf8f0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x60], 0x3fff
mov eax, dword [edx + 0x24]
and ecx, dword [edx + 0x20]
and eax, dword [esp + 0x44]
or ecx, eax
je 0x4cf926
mov dword [esp + 0x60], 0x800
mov eax, dword [edx + 0x1c]
test eax, eax
jle 0x4cf937
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov esi, dword [eax + ecx*4 - 0xc]
push dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push esi
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004ceb20
mov edx, dword [esp + 0x40]
add esp, 0x10
test eax, eax
je 0x4cf9a9
mov eax, dword [esp + 0x38]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x18], eax
mov al, byte [esp + 0xd]
cmp al, 0x31
jne 0x4cf979
mov eax, 1
jmp 0x4cf9a1
cmp al, 0x32
jne 0x4cf984
mov eax, 0x100
jmp 0x4cf9a1
cmp al, 0x2d
jne 0x4cf98f
mov eax, 0x80
jmp 0x4cf9a1
mov ecx, dword [esp + 0x68]
mov eax, 2
lea ecx, [ecx - 0x35]
shl ax, cl
movzx eax, ax
and eax, dword [esp + 0x60]
mov word [edx + 0xc], ax
cmp byte [esp + 0xd], 0x2d
mov eax, 0x800
jne 0x4cf9b9
or word [edx + 0xa], ax
test ebx, ebx
je 0x4cfc1e
push dword [esp + 0x68]
mov ecx, dword [esp + 0x38]
push ebx
push dword [edx + 0x24]
push dword [edx + 0x20]
lea edx, [esp + 0x48]
call fcn.004ceb20
add esp, 0x10
test eax, eax
je 0x4cfc1e
test byte [ebx + 4], 0x20
jne 0x4cfc1e
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x58], 0
cmp dword [ebx + 0x14], 0
jl 0x4cfac0
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
push 0
push 0
call fcn.00479b40
add esp, 8
mov esi, eax
cmp byte [ebx + 0x57], 0
je 0x4cfa3a
test esi, esi
je 0x4d01a1
mov edx, esi
mov ecx, ebx
call fcn.004798d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x10]
mov edx, esi
push 3
mov ecx, ebx
call fcn.004cd460
add esp, 4
test eax, eax
je 0x4d01a1
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x18]
shl edx, 4
add eax, edx
mov dword [esp + 0x68], eax
mov dword [eax + 0x10], ecx
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x18]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx + 8], ax
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x18]
inc byte [ecx + eax + 0xe]
cmp byte [esp + 0xd], 0x2d
jne 0x4cfa99
mov eax, dword [esp + 0x68]
mov edx, 0x800
or word [eax + 0xa], dx
mov ebx, dword [ebx + 0x18]
mov edx, esi
or word [ebx + ecx + 0xa], 8
add ebx, ecx
mov ecx, edi
call fcn.004ce640
test eax, eax
je 0x4cfac8
mov eax, 0x800
or word [ebx + 0xc], ax
mov dword [esp + 0x58], eax
jmp 0x4cfac8
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], ebx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0xb1
je 0x4cfb5a
mov eax, dword [esi + 0x10]
mov dword [esp + 0x54], eax
cmp byte [eax], 0xb1
je 0x4cfb5a
test dword [edx + 4], 0x200
jne 0x4cfb0f
test eax, eax
je 0x4cfafa
test dword [eax + 4], 0x200
je 0x4cfafa
mov edx, eax
jmp 0x4cfb0f
mov ecx, edi
call fcn.004781c0
mov ecx, eax
mov dword [esp + 0x5c], ecx
test ecx, ecx
jne 0x4cfb1a
mov edx, dword [esp + 0x54]
mov ecx, edi
call fcn.004781c0
mov dword [esp + 0x5c], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x54], eax
test dword [edx + 4], 0x200
jne 0x4cfb4d
test eax, eax
je 0x4cfb3e
test dword [eax + 4], 0x200
je 0x4cfb3e
mov edx, eax
jmp 0x4cfb4d
mov ecx, edi
call fcn.004781c0
test eax, eax
jne 0x4cfb54
mov edx, dword [esp + 0x54]
mov ecx, edi
call fcn.004781c0
cmp dword [esp + 0x5c], eax
je 0x4cfb61
xor dword [esi + 4], 0x400
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x10], eax
mov al, byte [esi]
mov dword [esi + 0xc], ecx
cmp al, 0x36
jb 0x4cfb7b
sub al, 0x36
xor al, 2
add al, 0x36
mov byte [esi], al
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
or ecx, dword [esp + 0x50]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0x48]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x2c], eax
movzx ecx, byte [esi]
cmp ecx, 0x31
jne 0x4cfbcf
mov eax, 1
add eax, dword [esp + 0x58]
and eax, dword [esp + 0x60]
mov word [edx + 0xc], ax
jmp 0x4cfc79
cmp ecx, 0x32
jne 0x4cfbea
mov eax, 0x100
add eax, dword [esp + 0x58]
and eax, dword [esp + 0x60]
mov word [edx + 0xc], ax
jmp 0x4cfc79
cmp ecx, 0x2d
jne 0x4cfc02
mov eax, 0x80
add eax, dword [esp + 0x58]
and eax, dword [esp + 0x60]
mov word [edx + 0xc], ax
jmp 0x4cfc79
add ecx, 0xffffffcb
mov eax, 2
shl ax, cl
movzx eax, ax
add eax, dword [esp + 0x58]
and eax, dword [esp + 0x60]
mov word [edx + 0xc], ax
jmp 0x4cfc79
cmp byte [esp + 0xd], 0x32
jne 0x4cfc75
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax]
test bl, 1
jne 0x4cfc75
mov ecx, esi
call fcn.0047b0e0
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x4cfc6f
mov eax, dword [esp + 0x1c]
or ebx, 0x20000000
mov byte [esi], 0xaa
mov dword [esi + 8], str.false
mov dword [eax], ebx
xor eax, eax
mov ebx, dword [esp + 0x30]
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov word [ebx + 0xc], ax
jmp 0x4cfc7d
mov ebx, dword [esp + 0x30]
jmp 0x4cfc7d
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
mov al, byte [esi]
mov byte [esp + 0xf], al
cmp al, 0x35
je 0x4cfc8f
cmp al, 0x2d
jne 0x4cfe80
mov eax, dword [esi + 0xc]
mov dl, byte [eax]
cmp dl, 0xb0
jne 0x4cfc9c
mov dl, byte [eax + 2]
cmp dl, 0xb1
jne 0x4cfca6
mov edx, dword [eax + 0x14]
jmp 0x4cfcb5
cmp dl, 0x8a
jne 0x4cfe80
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov edx, dword [edx]
mov dword [esp + 0x5c], edx
cmp edx, 1
jle 0x4cfe80
mov eax, dword [esi + 0x10]
mov cl, byte [eax]
mov byte [esp + 0xd], cl
cmp cl, 0xb0
mov ecx, dword [esp + 0x10]
jne 0x4cfce1
mov cl, byte [eax + 2]
mov byte [esp + 0xd], cl
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0xd], 0xb1
jne 0x4cfced
mov eax, dword [eax + 0x14]
jmp 0x4cfcfe
cmp byte [esp + 0xd], 0x8a
jne 0x4cfe80
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], edx
jne 0x4cfe80
mov eax, dword [esi + 0xc]
test dword [eax + 4], 0x1000
je 0x4cfd22
mov eax, dword [esi + 0x10]
test dword [eax + 4], 0x1000
jne 0x4cfe80
cmp byte [ecx + 8], 0x2c
jne 0x4cfe80
xor esi, esi
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x14]
mov ecx, edi
push edx
push esi
mov edx, dword [eax + 0xc]
call fcn.004784e0
push dword [esp + 0x64]
mov ecx, edi
mov ebx, eax
push esi
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x10]
call fcn.004784e0
mov ecx, dword [edi]
mov dword [esp + 0x78], eax
mov al, byte [esi]
push 0
push 0x34
mov byte [esp + 0x26], al
call fcn.0043b7c0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4cfe0d
push 0x34
push 0
push esi
call fcn.00570cd0
mov al, byte [esp + 0x1a]
add esp, 0xc
mov ecx, dword [esp + 0x68]
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ecx, ecx
je 0x4cfdb1
mov dword [esi + 0x10], ecx
mov eax, dword [ecx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ecx + 0x18]
inc ecx
jmp 0x4cfdb6
mov ecx, 1
mov dword [esi + 0x18], ecx
test ebx, ebx
je 0x4cfdd8
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov eax, dword [ebx + 0x18]
cmp eax, ecx
jl 0x4cfdd8
lea ecx, [eax + 1]
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x4cfdf3
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0043f000
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
and eax, 3
je 0x4cfe2b
or dword [esi + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
jmp 0x4cfe2b
test ebx, ebx
je 0x4cfe1a
mov ecx, dword [edi]
mov edx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4cfe2b
mov ecx, dword [edi]
mov edx, eax
call fcn.004798d0
mov ebx, dword [esp + 0x10]
mov edx, esi
push 0x8001
mov ecx, ebx
call fcn.004cd460
mov ecx, dword [esp + 0x38]
add esp, 4
mov edx, ebx
push eax
call fcn.004cebb0
mov esi, dword [esp + 0x64]
add esp, 4
mov edx, dword [esp + 0x5c]
inc esi
mov dword [esp + 0x60], esi
cmp esi, edx
jl 0x4cfd32
mov eax, dword [ebx + 0x18]
mov ecx, 0x2000
mov edx, dword [esp + 0x18]
or word [eax + edx + 0xa], 6
mov word [eax + edx + 0xc], cx
jmp 0x4d018e
cmp byte [esp + 0xf], 0x31
jne 0x4cff6a
cmp dword [ebx + 0x1c], 0
jne 0x4cff6a
mov eax, dword [esi + 0xc]
cmp byte [eax], 0xb1
jne 0x4cff6a
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
test dword [eax], 0x1000
je 0x4cff6e
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x34], 0
jne 0x4cff6e
cmp dword [eax + 0x44], 0
jne 0x4cff6e
cmp byte [ebx + 8], 0x2c
jne 0x4d018a
mov edx, dword [esp + 0x18]
xor edi, edi
nop dword [eax]
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0xb0
jne 0x4cfeec
mov al, byte [ecx + 2]
cmp al, 0xb1
jne 0x4cfef7
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x4cff0a
cmp al, 0x8a
jne 0x4cff05
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x4cff0a
mov eax, 1
cmp edi, eax
jge 0x4d018e
push 0x8002
mov edx, esi
mov ecx, ebx
call fcn.004cd460
mov ecx, dword [ebx + 0x18]
add esp, 4
inc edi
mov edx, ebx
lea esi, [eax + eax*2]
add esi, esi
push eax
mov dword [ecx + esi*8 + 0x1c], edi
mov ecx, dword [esp + 0x38]
call fcn.004cebb0
mov eax, dword [ebx + 0x18]
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov dword [eax + esi*8 + 0x10], ecx
mov ecx, dword [ebx + 0x18]
mov ax, word [edx + ecx + 8]
mov word [ecx + esi*8 + 8], ax
mov eax, dword [ebx + 0x18]
mov esi, dword [esp + 0x14]
inc byte [edx + eax + 0xe]
jmp 0x4cfee0
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 8], 0x2c
jne 0x4d018a
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
mov dword [esp + 0x6c], 0
push eax
lea eax, [esp + 0x16]
mov dword [esp + 0x68], 0
push eax
mov edx, esi
call fcn.004cda70
add esp, 0xc
test eax, eax
jle 0x4d018a
mov cl, byte [esp + 0xe]
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x60]
mov byte [esp + 0xf], cl
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
dec eax
mov dword [esp + 0x54], eax
test ebx, ebx
je 0x4cffdf
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.004d0780
mov dword [esp + 0x60], edx
jmp 0x4cfff4
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov eax, dword [esp + 0x74]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x68], eax
test esi, esi
je 0x4d0009
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.004d0780
jmp 0x4d001a
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
and eax, dword [esp + 0x68]
and edx, dword [esp + 0x60]
or eax, edx
jne 0x4d0166
test ebx, ebx
je 0x4d0042
mov ecx, dword [esp + 0x2c]
mov edx, ebx
push eax
push eax
call fcn.00479b40
add esp, 8
mov ebx, eax
jmp 0x4d0044
xor ebx, ebx
mov ecx, dword [edi]
push 0
push 0x34
call fcn.0043b7c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d00ac
push 0x34
push 0
push esi
call fcn.00570cd0
or eax, 0xffffffff
mov byte [esi], 0x2e
add esp, 0xc
mov word [esi + 0x22], ax
test ebx, ebx
je 0x4d0087
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x400208
or dword [esi + 4], eax
mov ecx, dword [ebx + 0x18]
inc ecx
jmp 0x4d008c
mov ecx, 1
mov dword [esi + 0x18], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x84]
cmp ecx, eax
jle 0x4d00b9
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0043f000
add esp, 0xc
jmp 0x4d00b9
test ebx, ebx
je 0x4d00b9
mov ecx, dword [edi]
mov edx, ebx
call fcn.004798d0
mov eax, dword [esp + 0x1c]
test byte [eax], 1
je 0x4d00d4
test esi, esi
je 0x4d00d4
mov eax, dword [esp + 0x14]
or dword [esi + 4], 1
mov eax, dword [eax + 0x24]
mov dword [esi + 0x24], eax
mov ebx, dword [esp + 0x10]
mov edx, esi
push 3
mov ecx, ebx
call fcn.004cd460
mov esi, dword [ebx + 0x18]
add esp, 4
mov ecx, dword [esp + 0x5c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x68]
shl edx, 4
add esi, edx
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x14], eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x18], eax
mov eax, 0x40
mov word [esi + 0xc], ax
mov al, byte [esp + 0xf]
mov byte [esi + 0xf], al
mov eax, dword [ebx + 0x18]
mov dword [edx + eax + 0x10], ecx
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x18]
mov ax, word [eax + ecx + 8]
mov word [edx + ecx + 8], ax
mov eax, dword [ebx + 0x18]
mov edx, dword [esp + 0x18]
inc byte [edx + eax + 0xe]
mov ecx, dword [ebx + 0x18]
mov ebx, dword [esp + 0x58]
add ecx, edx
or word [ecx + 0xa], 8
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov esi, dword [esp + 0x5c]
jmp 0x4d016a
mov edx, dword [esp + 0x18]
mov eax, esi
mov esi, ebx
mov ebx, eax
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], ebx
test eax, eax
jg 0x4cffc5
mov ebx, dword [esp + 0x10]
jmp 0x4d018e
mov edx, dword [esp + 0x18]
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x48]
add eax, edx
or dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x50]
or dword [eax + 0x24], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret