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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, edx
mov dword [esp + 0x24], ecx
push ebx
push esi
push edi
mov edx, dword [eax]
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
movlpd qword [esp + 0x68], xmm0
mov dword [esp + 0x20], 0
mov edi, dword [edx]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], edi
mov ecx, dword [edi]
mov dword [esp + 0x28], ecx
cmp byte [ecx + 0x49], 0
jne 0x48e102
mov ecx, dword [ebp + 8]
mov esi, dword [eax + 0x14]
lea eax, [edx + 0x1e8]
mov dword [esp + 0x24], eax
lea ecx, [ecx + ecx*2]
shl ecx, 4
add esi, ecx
mov dword [esp + 0x18], ecx
mov ecx, eax
mov dword [esp + 0x14], esi
mov ebx, dword [esi]
mov dword [esp + 0x1c], ebx
mov edx, dword [ebx + 0xc]
call fcn.0048e390
mov dword [esp + 0x54], eax
mov al, byte [ebx]
mov byte [esp + 0xf], al
movzx eax, al
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], eax
cmp eax, 0x31
jne 0x48cfae
mov edx, ebx
mov ecx, edi
call fcn.00444660
test eax, eax
jne 0x48e102
test dword [ebx + 4], 0x800
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x74], eax
je 0x48cf4e
mov ecx, dword [esp + 0x24]
mov edx, eax
call fcn.0048ca90
jmp 0x48cfd2
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
test eax, eax
je 0x48cfbc
cmp dword [eax], 0
jle 0x48cfbc
mov ebx, dword [esp + 0x7c]
add eax, 4
mov esi, dword [esp + 0x78]
xor edi, edi
mov dword [esp + 0x5c], eax
mov edx, dword [eax]
mov ecx, dword [esp + 0x24]
call fcn.0048e390
mov ecx, dword [esp + 0x74]
or esi, eax
mov eax, dword [esp + 0x5c]
inc edi
add eax, 0x18
or ebx, edx
mov dword [esp + 0x5c], eax
cmp edi, dword [ecx]
jl 0x48cf71
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
jmp 0x48cfd2
cmp eax, 0x32
jne 0x48cfc6
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
jmp 0x48cfd2
mov edx, dword [ebx + 0x10]
mov ecx, dword [esp + 0x24]
call fcn.0048e390
mov edi, dword [esp + 0x24]
mov ecx, esi
add ecx, 0x20
mov dword [esp + 0x2c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, ebx
mov ecx, edi
mov dword [edi], 0
call fcn.0048e390
cmp dword [edi], 0
mov edi, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edx
je 0x48d00d
mov eax, 0x1000
or word [esi + 0xa], ax
test byte [ebx + 4], 1
je 0x48d0c1
mov edx, dword [esp + 0x24]
xor eax, eax
mov edx, dword [edx + 4]
test edx, edx
jle 0x48d044
mov ecx, dword [esp + 0x24]
add ecx, 8
nop dword [eax + eax]
movsx edi, word [ebx + 0x24]
cmp dword [ecx], edi
mov edi, dword [esp + 0x34]
je 0x48d0aa
inc eax
add ecx, 4
cmp eax, edx
jl 0x48d030
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x44]
mov esi, edx
or dword [esp + 0x3c], edx
or eax, ecx
mov dword [esp + 0x40], ecx
add dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x44], eax
adc esi, 0xffffffff
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
shrd dword [esp + 0x48], eax, 1
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x14]
shr eax, 1
cmp eax, edx
jb 0x48d0d1
ja 0x48d095
cmp dword [esp + 0x48], ecx
jb 0x48d0d1
push str.ON_clause_references_tables_to_its_right
push edi
call fcn.00408830
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
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 0x48d055
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x2c], eax
xor eax, eax
mov word [esi + 0xc], ax
mov al, byte [esp + 0xf]
mov dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
cmp al, 0x31
je 0x48d326
cmp al, 0x35
jb 0x48d10b
cmp al, 0x39
jbe 0x48d326
cmp al, 0x32
je 0x48d326
cmp al, 0x2d
je 0x48d326
mov al, byte [ebx]
cmp al, 0x30
jne 0x48d2f9
mov eax, dword [esp + 0x10]
cmp byte [eax + 8], 0x2c
jne 0x48db2c
mov eax, dword [ebx + 0x14]
add eax, 4
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], eax
mov edx, dword [ebx + 0xc]
mov ebx, dword [esp + 0x28]
test edx, edx
je 0x48d16a
push 0
push 0
mov ecx, ebx
call fcn.004416a0
mov esi, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
add esp, 8
jmp 0x48d170
xor esi, esi
mov dword [esp + 0x48], esi
mov edx, dword [eax]
test edx, edx
je 0x48d188
push 0
push 0
mov ecx, ebx
call fcn.004416a0
add esp, 8
mov ebx, eax
jmp 0x48d18a
xor ebx, ebx
mov eax, dword [esp + 0x44]
mov al, byte [eax + 0x54c1a4]
mov byte [esp + 0xf], al
cmp al, 0x2c
jne 0x48d1ba
cmp dword [edi + 0x24], 0
jne 0x48d1ba
mov ecx, dword [edi]
mov edx, esi
push ebx
call fcn.00440e80
mov esi, eax
add esp, 4
test esi, esi
jne 0x48d21d
jmp 0x48d273
mov ecx, dword [edi]
push 0
push 0x30
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x48d24d
push 0x30
push 0
push esi
call fcn.004f7f30
mov al, byte [esp + 0x1b]
add esp, 0xc
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
test ebx, ebx
je 0x48d200
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov edx, dword [esp + 0x48]
test edx, edx
je 0x48d216
mov dword [esi + 0xc], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.00440c30
mov eax, dword [edi]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x48d236
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00408830
add esp, 0xc
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 4]
and eax, 1
or dword [esi + 4], eax
mov ax, word [ebx + 0x24]
mov word [esi + 0x24], ax
jmp 0x48d277
mov edx, dword [esp + 0x48]
mov eax, dword [edi]
mov dword [esp + 0x74], eax
test edx, edx
je 0x48d266
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0x74]
test ebx, ebx
je 0x48d273
mov edx, ebx
mov ecx, eax
call fcn.00441410
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, esi
push 3
call fcn.0048b8f0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x30]
mov esi, eax
push esi
call fcn.0048ce80
mov eax, dword [esp + 0x14]
lea edx, [esi + esi*2]
mov esi, dword [esp + 0x14]
add edx, edx
add esp, 4
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ecx + edx*8 + 0x10], eax
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0x18]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x18]
inc byte [ecx + eax + 0xe]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
inc ecx
add eax, 0x18
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], eax
cmp ecx, 2
jl 0x48d145
jmp 0x48d6b3
cmp al, 0x2b
jne 0x48d6b7
push dword [ebp + 8]
mov esi, dword [esp + 0x14]
mov edx, esi
mov ecx, dword [esp + 0x34]
call fcn.0048bf00
mov esi, dword [esi + 0x14]
add esp, 4
add esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jmp 0x48d6b7
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x48d350
nop dword [eax]
mov eax, dword [edx + 4]
test eax, 0x1000
je 0x48d350
test eax, 0x40000
je 0x48d349
mov eax, dword [edx + 0x14]
mov edx, dword [eax + 4]
jmp 0x48d34c
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x48d330
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x48d380
nop word [eax + eax]
mov eax, dword [esi + 4]
test eax, 0x1000
je 0x48d380
test eax, 0x40000
je 0x48d379
mov eax, dword [esi + 0x14]
mov esi, dword [eax + 4]
jmp 0x48d37c
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x48d360
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x58], 0x1fff
and ecx, dword [eax]
mov eax, dword [eax + 4]
and eax, dword [esp + 0x38]
or ecx, eax
je 0x48d3a5
mov dword [esp + 0x58], 0x800
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
test eax, eax
jle 0x48d3ba
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x14]
mov edx, dword [eax + ecx*8 - 0x14]
push dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
push edx
push dword [esp + 0x40]
lea edx, [esp + 0x84]
push dword [esp + 0x60]
call fcn.0048cdf0
mov edx, dword [esp + 0x24]
add esp, 0x10
test eax, eax
je 0x48d42f
mov eax, dword [esp + 0x78]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x1c], eax
mov al, byte [esp + 0xf]
cmp al, 0x31
jne 0x48d3ff
mov eax, 1
jmp 0x48d427
cmp al, 0x32
jne 0x48d40a
mov eax, 0x100
jmp 0x48d427
cmp al, 0x2d
jne 0x48d415
mov eax, 0x80
jmp 0x48d427
mov ecx, dword [esp + 0x60]
mov eax, 2
lea ecx, [ecx - 0x35]
shl ax, cl
movzx eax, ax
and eax, dword [esp + 0x58]
mov word [edx + 0xc], ax
mov cl, byte [esp + 0xf]
mov eax, 0x800
cmp cl, 0x2d
jne 0x48d441
or word [edx + 0xa], ax
test esi, esi
je 0x48d6b3
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov al, byte [esi]
cmp al, 0x97
jne 0x48d467
cmp cl, 0x36
jb 0x48d478
cmp cl, 0x39
ja 0x48d478
mov eax, dword [esi + 0x14]
mov esi, dword [eax + 4]
mov al, byte [esi]
cmp al, 0x91
jne 0x48d478
movsx ecx, word [esi + 0x20]
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x70], ecx
jmp 0x48d4db
mov ecx, dword [esp + 0x2c]
mov eax, edx
or eax, dword [ecx + 4]
je 0x48d6b3
mov eax, dword [esp + 0x2c]
mov ecx, edx
mov edi, dword [esp + 0x2c]
add ecx, 0xffffffff
mov eax, dword [eax + 4]
adc eax, 0xffffffff
and ecx, edx
and eax, dword [edi + 4]
or ecx, eax
mov edi, dword [esp + 0x34]
jne 0x48d6b3
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push esi
push dword [eax + 4]
push edx
lea edx, [esp + 0x84]
call fcn.0048ccc0
add esp, 0xc
test eax, eax
je 0x48d6b3
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], 0
cmp dword [esi + 0x14], 0
jl 0x48d5bb
mov esi, dword [esp + 0x28]
mov ecx, esi
push 0
push 0
call fcn.004416a0
add esp, 8
mov dword [esp + 0x2c], eax
cmp byte [esi + 0x49], 0
je 0x48d52b
test eax, eax
je 0x48e102
mov edx, eax
mov ecx, esi
call fcn.00441410
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x10]
mov edx, eax
push 3
mov ecx, esi
call fcn.0048b8f0
add esp, 4
test eax, eax
je 0x48e102
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x14]
shl edx, 4
add eax, edx
mov dword [esp + 0x48], eax
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0x18]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx + 8], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esp + 0x18]
inc byte [edx + eax + 0xe]
cmp byte [esp + 0xf], 0x2d
jne 0x48d58a
mov ecx, dword [esp + 0x48]
mov eax, 0x800
or word [ecx + 0xa], ax
mov esi, dword [esi + 0x14]
mov ecx, edi
or word [esi + edx + 0xa], 8
add esi, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], esi
call fcn.0048c980
mov edx, dword [esp + 0x2c]
test eax, eax
je 0x48d5c3
mov eax, 0x800
or word [esi + 0xc], ax
mov dword [esp + 0x74], eax
jmp 0x48d5c3
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], esi
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x60], 0x100
movzx eax, word [ecx + 4]
and ax, word [esp + 0x60]
movzx eax, ax
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0xc]
movzx eax, word [eax + 4]
and ax, word [esp + 0x60]
cmp word [esp + 0x64], ax
jne 0x48d61e
cmp word [esp + 0x64], 0
je 0x48d602
and dword [ecx + 4], 0xfffffeff
jmp 0x48d61e
mov edx, dword [edx + 0xc]
mov ecx, edi
call fcn.004401f0
mov edx, dword [esp + 0x2c]
test eax, eax
je 0x48d61e
mov eax, dword [edx + 0xc]
or dword [eax + 4], 0x100
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov dword [edx + 0x10], eax
mov al, byte [edx]
mov dword [edx + 0xc], ecx
cmp al, 0x36
jb 0x48d638
sub al, 0x36
xor al, 2
add al, 0x36
mov byte [edx], al
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
or dword [esp + 0x38], esi
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x54]
or ecx, dword [esp + 0x40]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x2c], ecx
movzx ecx, byte [edx]
cmp ecx, 0x31
jne 0x48d67f
lea eax, [ecx - 0x30]
jmp 0x48d6a3
cmp ecx, 0x32
jne 0x48d68b
mov eax, 0x100
jmp 0x48d6a3
cmp ecx, 0x2d
jne 0x48d695
lea eax, [ecx + 0x53]
jmp 0x48d6a3
mov eax, 2
add ecx, 0xffffffcb
shl ax, cl
movzx eax, ax
mov ecx, dword [esp + 0x48]
add eax, dword [esp + 0x74]
and eax, dword [esp + 0x58]
mov word [ecx + 0xc], ax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp byte [eax + 8], 0x2c
jne 0x48db2c
lea eax, [esp + 0x50]
mov edx, ebx
push eax
lea eax, [esp + 0x50]
mov ecx, edi
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0048bb10
add esp, 0xc
test eax, eax
je 0x48db2c
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x74], eax
test ecx, ecx
je 0x48d716
push 0
mov edx, ecx
mov ecx, dword [esp + 0x2c]
push 0
call fcn.004416a0
mov ecx, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x2c], eax
jmp 0x48d71e
mov dword [esp + 0x2c], 0
cmp dword [esp + 0x50], 0
je 0x48d78b
mov eax, dword [edi]
cmp byte [eax + 0x49], 0
jne 0x48d78b
mov eax, 0x400
or word [esi + 0xa], ax
xor esi, esi
mov eax, dword [ecx + 8]
mov dword [esp + 0x78], eax
mov cl, byte [eax]
test cl, cl
je 0x48d78b
mov edi, dword [esp + 0x20]
mov ebx, eax
nop dword [eax + eax]
movzx edx, cl
lea esi, [esi + 1]
movzx eax, byte [edx + 0x54c528]
and al, 0x20
not al
and al, cl
mov byte [ebx + esi - 1], al
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
movzx eax, byte [edx + 0x54ce60]
mov byte [esi + ecx - 1], al
mov ebx, dword [edi + 8]
mov cl, byte [ebx + esi]
test cl, cl
jne 0x48d750
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x49], 0
jne 0x48d7f6
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
test edx, edx
jne 0x48d7a4
xor ecx, ecx
jmp 0x48d7bf
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48d7b0
sub ecx, esi
and ecx, 0x3fffffff
cmp dword [esp + 0x50], 0
mov al, byte [ecx + edx - 1]
mov esi, dword [esp + 0x4c]
je 0x48d7e6
cmp al, 0x40
mov dword [esp + 0x78], 0
movzx eax, al
cmove esi, dword [esp + 0x78]
mov al, byte [eax + 0x54ce60]
inc al
mov dword [esp + 0x58], esi
mov byte [ecx + edx - 1], al
mov ecx, dword [esp + 0x28]
jmp 0x48d7fe
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
cmp dword [esp + 0x50], 0
mov eax, 0x547964
mov esi, str.NOCASE
cmove esi, eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x48d82c
push 0
push 0
mov edx, eax
call fcn.004416a0
add esp, 8
mov dword [esp + 0x3c], eax
jmp 0x48d834
mov dword [esp + 0x3c], 0
mov ecx, esi
mov dword [esp + 0x78], esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48d840
sub ecx, edx
and ecx, 0x3fffffff
mov dword [esp + 0x7c], ecx
jbe 0x48d881
mov ecx, dword [edi]
lea eax, [esp + 0x78]
push 0
push eax
mov edx, 0x5e
call fcn.00440d30
add esp, 8
test eax, eax
je 0x48d881
mov ecx, dword [esp + 0x3c]
or dword [eax + 4], 0x1100
mov dword [eax + 0xc], ecx
mov dword [esp + 0x3c], eax
mov ecx, dword [edi]
push 0
push 0x30
call fcn.004058c0
add esp, 8
mov dword [esp + 0x38], eax
test eax, eax
je 0x48d91b
push 0x30
push 0
push eax
call fcn.004f7f30
mov ecx, dword [esp + 0x44]
or eax, 0xffffffff
add esp, 0xc
mov word [ecx + 0x22], ax
mov eax, dword [esp + 0x20]
mov byte [ecx], 0x39
test eax, eax
je 0x48d8cc
mov dword [ecx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [ecx + 4], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48d8e2
mov dword [ecx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [ecx + 4], eax
call fcn.00440c30
mov eax, dword [edi]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 0x70]
cmp dword [ecx + 0x18], eax
jle 0x48d908
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00408830
mov ecx, dword [esp + 0x44]
add esp, 0xc
mov eax, dword [ebx + 4]
and eax, 1
or dword [ecx + 4], eax
mov ax, word [ebx + 0x24]
mov word [ecx + 0x24], ax
jmp 0x48d947
mov eax, dword [esp + 0x3c]
mov ecx, dword [edi]
mov dword [esp + 0x78], ecx
test eax, eax
je 0x48d934
mov edx, eax
call fcn.00441410
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x48d943
mov edx, eax
call fcn.00441410
mov ecx, dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push 0x103
call fcn.0048b8f0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x70], eax
push eax
call fcn.0048ce80
mov eax, dword [esp + 0x78]
add esp, 4
test eax, eax
je 0x48d98f
mov ecx, dword [esp + 0x28]
mov edx, eax
push 0
push 0
call fcn.004416a0
add esp, 8
mov dword [esp + 0x3c], eax
jmp 0x48d997
mov dword [esp + 0x3c], 0
mov dword [esp + 0x78], esi
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x48d9a0
sub esi, ecx
and esi, 0x3fffffff
mov dword [esp + 0x7c], esi
jbe 0x48d9e1
mov ecx, dword [edi]
lea eax, [esp + 0x78]
push 0
push eax
mov edx, 0x5e
call fcn.00440d30
add esp, 8
test eax, eax
je 0x48d9e1
mov ecx, dword [esp + 0x3c]
or dword [eax + 4], 0x1100
mov dword [eax + 0xc], ecx
mov dword [esp + 0x3c], eax
mov ecx, dword [edi]
push 0
push 0x30
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x48da6b
push 0x30
push 0
push esi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [esi], 0x38
mov word [esi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48da22
mov dword [esi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48da38
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.00440c30
mov eax, dword [edi]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x48da58
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00408830
add esp, 0xc
mov eax, dword [ebx + 4]
and eax, 1
or dword [esi + 4], eax
mov ax, word [ebx + 0x24]
mov word [esi + 0x24], ax
jmp 0x48da93
mov eax, dword [esp + 0x3c]
mov ecx, dword [edi]
mov dword [esp + 0x78], ecx
test eax, eax
je 0x48da84
mov edx, eax
call fcn.00441410
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48da93
mov edx, eax
call fcn.00441410
mov edx, esi
mov esi, dword [esp + 0x10]
push 0x103
mov ecx, esi
call fcn.0048b8f0
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, esi
mov dword [esp + 0x78], eax
push eax
call fcn.0048ce80
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esi + 0x14]
add eax, ecx
cmp dword [esp + 0x58], 0
mov dword [esp + 0x14], eax
je 0x48db30
mov eax, dword [esp + 0x70]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 8]
add edx, edx
mov dword [ecx + edx*8 + 0x10], eax
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0x18]
movzx eax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x18]
inc byte [ecx + eax + 0xe]
mov eax, dword [esp + 0x78]
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x14]
add edx, edx
mov dword [eax + edx*8 + 0x10], ecx
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0x18]
movzx eax, word [eax + ecx + 8]
mov word [ecx + edx*8 + 8], ax
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x18]
inc byte [ecx + eax + 0xe]
jmp 0x48db30
mov esi, dword [esp + 0x10]
cmp byte [esi + 8], 0x2c
jne 0x48de43
mov dl, byte [ebx]
cmp dl, 0x90
jne 0x48dc18
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x70], eax
test eax, eax
je 0x48de43
cmp dword [eax], 2
jne 0x48de43
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x20], eax
cmp byte [eax], 0x91
jne 0x48de43
mov eax, dword [eax + 0x2c]
cmp dword [eax + 0x38], 0
je 0x48de43
mov ecx, dword [ebx + 8]
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], ecx
nop word [eax + eax]
mov esi, dword [eax*8 + 0x54c978]
mov edx, ecx
mov bl, byte [edx]
movzx eax, bl
movzx ecx, byte [eax + 0x54ce60]
movzx eax, byte [esi]
movzx eax, byte [eax + 0x54ce60]
sub ecx, eax
jne 0x48dbd8
sub esi, dword [esp + 0x74]
test bl, bl
je 0x48dbf0
movzx eax, byte [edx + esi + 1]
inc edx
movzx ecx, byte [eax + 0x54ce60]
mov bl, byte [edx]
movzx eax, bl
movzx eax, byte [eax + 0x54ce60]
sub eax, ecx
je 0x48dbb7
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
cmp eax, 4
jge 0x48de43
mov ecx, dword [esp + 0x74]
jmp 0x48db90
mov eax, dword [esp + 0x58]
mov ecx, 1
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
mov al, byte [eax*8 + 0x54c97c]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], ebx
jmp 0x48dcb0
cmp dl, 0x34
je 0x48dc2b
cmp dl, 0x8f
je 0x48dc2b
cmp dl, 0x33
jne 0x48de43
mov esi, dword [ebx + 0xc]
xor ecx, ecx
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x20], esi
mov dword [esp + 0x50], ebx
cmp byte [esi], 0x91
jne 0x48dc53
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x78], 1
cmp dword [eax + 0x38], ecx
cmovne ecx, dword [esp + 0x78]
test ebx, ebx
je 0x48dc76
cmp byte [ebx], 0x91
jne 0x48dc76
mov eax, dword [ebx + 0x2c]
cmp dword [eax + 0x38], 0
je 0x48dc76
mov eax, esi
mov dword [esp + 0x20], ebx
mov esi, ebx
inc ecx
mov ebx, eax
mov dword [esp + 0x50], ebx
jmp 0x48dc7a
mov esi, dword [esp + 0x20]
cmp dl, 0x34
jne 0x48dc83
mov al, 0x44
jmp 0x48dca3
mov al, byte [esp + 0xf]
cmp dl, 0x8f
jne 0x48dc90
mov al, 0x45
jmp 0x48dca3
cmp dl, 0x33
movzx eax, al
mov dword [esp + 0x78], 0x46
cmove eax, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x48de43
nop
dec ecx
mov byte [esp + 0xf], al
mov dword [esp + 0x78], ecx
mov edx, ebx
mov ecx, dword [esp + 0x24]
call fcn.0048e390
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], edx
mov edx, esi
mov dword [esp + 0x74], eax
call fcn.0048e390
and eax, dword [esp + 0x74]
and edx, dword [esp + 0x70]
or eax, edx
jne 0x48de23
test ebx, ebx
je 0x48dcff
mov ecx, dword [esp + 0x28]
mov edx, ebx
push eax
push eax
call fcn.004416a0
add esp, 8
mov ebx, eax
jmp 0x48dd01
xor ebx, ebx
mov ecx, dword [edi]
push 0
push 0x30
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x48dd6c
push 0x30
push 0
push esi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [esi], 0x2e
add esp, 0xc
mov word [esi + 0x22], ax
test ebx, ebx
je 0x48dd3e
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.00440c30
mov eax, dword [edi]
mov bl, byte [esp + 0xf]
mov dword [esp + 0x2c], ebx
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x48dd7d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00408830
add esp, 0xc
mov dword [esp + 0x2c], ebx
jmp 0x48dd7d
test ebx, ebx
je 0x48dd79
mov ecx, dword [edi]
mov edx, ebx
call fcn.00441410
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
test byte [eax + 4], 1
je 0x48dd8f
test esi, esi
je 0x48dd8f
or dword [esi + 4], 1
mov edx, esi
mov esi, dword [esp + 0x10]
push 3
mov ecx, esi
call fcn.0048b8f0
mov esi, dword [esi + 0x14]
add esp, 4
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x74]
shl edx, 4
add esi, edx
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x70]
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 byte [esi + 0xf], bl
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x1c], eax
mov eax, 0x40
mov word [esi + 0xc], ax
mov eax, dword [ebx + 0x14]
mov dword [edx + eax + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0x18]
mov ax, word [eax + ecx + 8]
mov word [ecx + edx + 8], ax
mov eax, dword [ebx + 0x14]
mov edx, dword [esp + 0x18]
inc byte [edx + eax + 0xe]
mov ecx, dword [ebx + 0x14]
mov ebx, dword [esp + 0x50]
add ecx, edx
mov dword [esp + 0x14], ecx
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 + 0x20]
mov ecx, dword [esp + 0x78]
mov eax, esi
mov dword [esp + 0x20], ebx
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
test ecx, ecx
jg 0x48dcb0
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp byte [ebx + 8], 0x2c
jne 0x48e02f
mov al, byte [esi]
cmp al, 0x35
je 0x48de63
cmp al, 0x2d
jne 0x48e02f
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x96
jne 0x48de6f
mov al, byte [ecx + 0x26]
cmp al, 0x97
jne 0x48de78
lea eax, [ecx + 0x14]
jmp 0x48de83
cmp al, 0x77
jne 0x48e02f
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
cmp eax, 1
jle 0x48e02f
mov edx, dword [esi + 0x10]
mov al, byte [edx]
cmp al, 0x96
jne 0x48dea0
mov al, byte [edx + 0x26]
cmp al, 0x97
jne 0x48dea9
lea eax, [edx + 0x14]
jmp 0x48deb4
cmp al, 0x77
jne 0x48e02f
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
mov edi, dword [esp + 0x70]
cmp dword [eax], edi
mov edi, dword [esp + 0x34]
jne 0x48e02f
test dword [ecx + 4], 0x800
je 0x48dedc
test dword [edx + 4], 0x800
jne 0x48e02f
xor eax, eax
mov dword [esp + 0x50], eax
mov edx, dword [esi + 0xc]
mov ecx, edi
push eax
call fcn.00440610
mov edx, dword [esi + 0x10]
add esp, 4
mov ecx, edi
mov ebx, eax
push dword [esp + 0x50]
call fcn.00440610
mov cl, byte [esi]
add esp, 4
mov dword [esp + 0x74], eax
mov byte [esp + 0xf], cl
cmp cl, 0x2c
jne 0x48df30
cmp dword [edi + 0x24], 0
jne 0x48df30
mov ecx, dword [edi]
mov edx, ebx
push eax
call fcn.00440e80
mov esi, eax
add esp, 4
test esi, esi
jne 0x48df8f
jmp 0x48dfe5
mov ecx, dword [edi]
push 0
push 0x30
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x48dfbf
push 0x30
push 0
push esi
call fcn.004f7f30
mov al, byte [esp + 0x1b]
add esp, 0xc
mov byte [esi], al
mov eax, 0xffffffff
mov word [esi + 0x22], ax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x48df76
mov dword [esi + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [esi + 4], eax
test ebx, ebx
je 0x48df88
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.00440c30
mov eax, dword [edi]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x48dfa8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.00408830
add esp, 0xc
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
and eax, 1
or dword [esi + 4], eax
mov ax, word [ecx + 0x24]
mov word [esi + 0x24], ax
jmp 0x48dfe5
mov eax, dword [edi]
mov dword [esp + 0x78], eax
test ebx, ebx
je 0x48dfd6
mov edx, ebx
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
test edx, edx
je 0x48dfe5
mov ecx, eax
call fcn.00441410
mov ebx, dword [esp + 0x10]
mov edx, esi
push 1
mov ecx, ebx
call fcn.0048b8f0
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, ebx
push eax
call fcn.0048ce80
mov eax, dword [esp + 0x54]
add esp, 4
mov esi, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x50], eax
cmp eax, dword [esp + 0x70]
jl 0x48dee2
mov eax, dword [ebx + 0x14]
mov edx, dword [esp + 0x18]
add eax, edx
mov dword [eax + 0xa], 6
jmp 0x48e037
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp byte [ebx + 8], 0x2c
jne 0x48e0ef
cmp byte [esi], 0x31
jne 0x48e0ef
cmp dword [eax + 0x18], 0
jne 0x48e0ef
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x97
jne 0x48e0ef
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x30], 0
jne 0x48e0ef
xor edi, edi
nop
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x96
jne 0x48e07c
mov al, byte [ecx + 0x26]
cmp al, 0x97
jne 0x48e087
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x48e099
cmp al, 0x77
jne 0x48e094
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x48e099
mov eax, 1
cmp edi, eax
jge 0x48e0ef
push 2
mov edx, esi
mov ecx, ebx
call fcn.0048b8f0
mov ecx, dword [ebx + 0x14]
add esp, 4
inc edi
mov edx, ebx
lea esi, [eax + eax*2]
add esi, esi
push eax
mov dword [ecx + esi*8 + 0x18], edi
mov ecx, dword [esp + 0x34]
call fcn.0048ce80
mov eax, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov dword [eax + esi*8 + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov ax, word [edx + ecx + 8]
mov word [ecx + esi*8 + 8], ax
mov eax, dword [ebx + 0x14]
mov esi, dword [esp + 0x1c]
inc byte [edx + eax + 0xe]
jmp 0x48e070
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x40]
add eax, edx
or dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x5c]
or dword [eax + 0x24], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret