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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, eax
mov eax, dword [edi]
mov dword [esp + 0x10], eax
xor eax, eax
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
setne al
movzx ecx, byte [eax + esi + 0x19]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + eax*4 + 0x1c]
mov dword [esp + 0x28], ecx
cmp ecx, ebx
je 0x448ced
cmp eax, ebx
jne 0x448ced
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x38]
push ecx
push esi
push edx
push edi
lea eax, [esp + 0x3c]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x24], ebx
call fcn.00445ef0
add esp, 0x10
test eax, eax
jne 0x448c91
mov dword [esp + 0x1c], ebx
cmp dword [esi + 0x14], ebx
jle 0x44893b
mov eax, 3
mov dword [esp + 0x60], 0x4c67b0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0x4c67ac
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x448078
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
jmp 0x44807e
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x24]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x44809f
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
movsx eax, word [eax + ecx*2]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov ecx, dword [ecx + eax*8]
jmp 0x4480a4
mov ecx, 0x4c7d58
lea eax, [edx + edx*2]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
mov edx, dword [edx + 4]
add eax, eax
add eax, eax
add eax, eax
mov edx, dword [eax + edx]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], edx
mov eax, ecx
test ecx, ecx
je 0x4480dd
cmp byte [ecx], 0
je 0x4480d6
nop
inc eax
cmp byte [eax], 0
jne 0x4480d0
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x54], eax
mov eax, edx
test edx, edx
je 0x4480fd
cmp byte [edx], 0
je 0x4480f6
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x4480f0
sub eax, edx
and eax, 0x3fffffff
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], eax
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x64]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x448137
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x448155
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x448155
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x5c]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x448187
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4481a5
call fcn.00431930
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4481a5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x6c]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x4481d7
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4481f5
call fcn.00431930
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4481f5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov ebx, eax
test ebx, ebx
je 0x448225
push 0x30
push 0
push ebx
call fcn.0049d4a0
add esp, 0xc
or eax, 0xffffffff
mov byte [ebx], 0x77
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x448246
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.00432000
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x448291
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44825c
mov dword [ebx + 0x10], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x448273
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
call fcn.00431930
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x448291
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov esi, eax
test esi, esi
je 0x4482c1
push 0x30
push 0
push esi
call fcn.0049d4a0
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x4d
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
test esi, esi
jne 0x4482e8
mov edx, ecx
push ebx
push edx
call fcn.00432000
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.00432000
add esp, 0x10
jmp 0x448331
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4482ff
mov dword [esi + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x448311
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
mov ebx, esi
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x448331
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push esi
push edx
call fcn.00431c70
add esp, 8
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x18], eax
je 0x44867f
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x5c]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x448383
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4483a1
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4483a1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x74]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4483cf
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4483ed
call fcn.00431930
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4483ed
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
je 0x448421
push 0x30
push 0
push esi
call fcn.0049d4a0
add esp, 0xc
or ecx, 0xffffffff
mov byte [esi], 0x77
mov word [esi + 0x22], cx
mov dword [esi + 0x18], 1
mov edx, dword [edi]
test esi, esi
jne 0x448440
mov esi, edx
push ebx
push esi
call fcn.00432000
mov eax, dword [esp + 0x48]
push eax
push esi
call fcn.00432000
add esp, 0x10
jmp 0x44848c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x448457
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x44846a
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
mov ebx, dword [esp + 0x20]
call fcn.00431930
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44848c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x5c]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x4484be
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4484dc
call fcn.00431930
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4484dc
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x6c]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x44850e
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x44852c
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44852c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov ebx, eax
test ebx, ebx
je 0x44855c
push 0x30
push 0
push ebx
call fcn.0049d4a0
add esp, 0xc
or edx, 0xffffffff
mov byte [ebx], 0x77
mov word [ebx + 0x22], dx
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x44857d
mov eax, dword [esp + 0x3c]
push eax
push esi
call fcn.00432000
mov ecx, dword [esp + 0x48]
push ecx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4485c8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x448594
mov dword [ebx + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [ebx + 4], edx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4485aa
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4485c8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov esi, eax
test esi, esi
je 0x4485f8
push 0x30
push 0
push esi
call fcn.0049d4a0
add esp, 0xc
or edx, 0xffffffff
mov byte [esi], 0x47
mov word [esi + 0x22], dx
mov dword [esi + 0x18], 1
mov eax, dword [edi]
mov dword [esp + 0x40], eax
test esi, esi
jne 0x44861f
mov ecx, eax
push ebx
push ecx
call fcn.00432000
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.00432000
add esp, 0x10
jmp 0x448669
mov eax, dword [esp + 0x20]
test eax, eax
je 0x448636
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x448649
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
mov ebx, esi
call fcn.00431930
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [esi + 0x18], eax
jle 0x448669
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push esi
push ecx
call fcn.00431c70
add esp, 8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], 6
je 0x448926
mov eax, dword [esp + 0x28]
cmp eax, 9
jne 0x4487e9
cmp dword [ebp + 0x10], 0
je 0x448926
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x5c]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x4486d3
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4486f1
call fcn.00431930
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4486f1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x74]
call fcn.00431a00
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x44871f
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x44873d
call fcn.00431930
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44873d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov esi, eax
test esi, esi
je 0x44876d
push 0x30
push 0
push esi
call fcn.0049d4a0
add esp, 0xc
or eax, 0xffffffff
mov byte [esi], 0x77
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov ecx, dword [edi]
mov dword [esp + 0x40], ecx
test esi, esi
jne 0x448799
mov edx, ecx
push ebx
push edx
call fcn.00432000
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
push eax
push ecx
call fcn.00432000
add esp, 0x10
mov eax, esi
jmp 0x4488c6
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4487b0
mov dword [esi + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x4487c2
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
mov ebx, esi
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x4487e2
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov eax, esi
jmp 0x4488c6
cmp eax, 8
jne 0x44885b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov eax, dword [ecx + edx + 4]
test eax, eax
je 0x448819
push 0
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.00432150
add esp, 0x10
jmp 0x4488c6
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov ebx, eax
test ebx, ebx
je 0x448849
push 0x30
push 0
push ebx
call fcn.0049d4a0
add esp, 0xc
or ecx, 0xffffffff
mov byte [ebx], 0x63
mov word [ebx + 0x22], cx
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
je 0x448891
call fcn.00431930
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
jmp 0x4488b0
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov ebx, eax
test ebx, ebx
je 0x44888b
push 0x30
push 0
push ebx
call fcn.0049d4a0
add esp, 0xc
or eax, 0xffffffff
mov byte [ebx], 0x63
mov word [ebx + 0x22], ax
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
test ebx, ebx
jne 0x4488a6
push 0
push esi
call fcn.00432000
push 0
push esi
call fcn.00432000
add esp, 0x10
jmp 0x4488c4
call fcn.00431930
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x4488c4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov eax, ebx
mov ecx, dword [esp + 0x24]
push eax
mov eax, edi
call fcn.004329d0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x448926
cmp dword [esp + 0x58], 0
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov esi, dword [edi]
lea edx, [ecx + ecx*2]
lea ecx, [eax + edx*8 - 0x18]
mov dword [esp + 0x48], ecx
jne 0x4488fa
xor esi, esi
jmp 0x44891f
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + 1]
call fcn.00404440
mov esi, eax
test esi, esi
je 0x44891f
mov edx, dword [esp + 0x58]
push ebx
push edx
push esi
call fcn.0049d5c0
add esp, 0xc
mov byte [esi + ebx], 0
mov eax, dword [esp + 0x48]
mov dword [eax + 4], esi
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [ecx + 0x14]
jl 0x448067
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
call fcn.00404210
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov eax, ecx
test ecx, ecx
je 0x44896d
cmp byte [ecx], 0
je 0x448966
mov edi, edi
inc eax
cmp byte [eax], 0
jne 0x448960
sub eax, ecx
and eax, 0x3fffffff
cmp dword [esp + 0x28], 6
mov dword [esp + 0x20], eax
jne 0x448add
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ecx
mov eax, str.FOREIGN_KEY_constraint_failed
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x448990
mov ebx, dword [esp + 0x10]
sub eax, str.FOREIGN_KEY_constraint_failed
and eax, 0x3fffffff
lea ecx, [eax + 0x31]
mov esi, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x48], ecx
call fcn.00404440
mov dword [esp + 0x2c], eax
test eax, eax
je 0x448a20
mov ecx, dword [esp + 0x48]
push ecx
mov esi, eax
push 0
push esi
call fcn.0049d4a0
mov eax, dword [esp + 0x78]
or edx, 0xffffffff
lea ecx, [eax + 1]
add esp, 0xc
mov byte [esi], 0x39
mov word [esi + 0x22], dx
test ecx, ecx
jne 0x4489f1
or dword [esi + 4], 0x400
mov dword [esi + 8], ecx
jmp 0x448a15
lea ecx, [esi + 0x30]
mov dword [esi + 8], ecx
test eax, eax
je 0x448a0e
push eax
push str.FOREIGN_KEY_constraint_failed
push ecx
call fcn.0049d5c0
mov eax, dword [esp + 0x78]
add esp, 0xc
mov ecx, dword [esi + 8]
mov byte [eax + ecx], 0
mov dword [esi + 0x18], 1
mov byte [esi + 1], 2
mov esi, dword [edi]
mov ecx, 0xc
call fcn.00404440
mov dword [esp + 0x1c], eax
test eax, eax
je 0x448a55
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
lea ecx, [eax + 0x18]
call fcn.00404440
mov edx, dword [esp + 0x1c]
mov dword [edx + 8], eax
test eax, eax
jne 0x448a72
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.00432000
mov ecx, dword [esp + 0x24]
push ecx
push esi
call fcn.00432ba0
add esp, 0x10
xor esi, esi
jmp 0x448a9d
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov esi, dword [edx + 8]
lea eax, [ecx + ecx*2]
lea eax, [esi + eax*8]
inc ecx
mov dword [edx], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov esi, edx
mov edx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push ecx
push 0
push 0
push ebx
lea eax, [esp + 0x8c]
call fcn.0043f820
add esp, 0x10
push eax
push esi
mov ecx, edi
call fcn.00452740
add esp, 0x24
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], 0
jmp 0x448ae1
mov ebx, dword [esp + 0x10]
mov al, byte [ebx + 0xf2]
mov ecx, dword [esp + 0x20]
add ecx, 0x4d
mov esi, ebx
mov byte [esp + 0xf], al
mov byte [ebx + 0xf2], 0
call fcn.00404440
mov dword [esp + 0x1c], eax
mov esi, eax
test eax, eax
je 0x448b1d
mov eax, dword [esp + 0x20]
add eax, 0x4d
push eax
push 0
push esi
call fcn.0049d4a0
add esp, 0xc
mov dword [esp + 0x48], esi
test esi, esi
je 0x448c31
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
lea esi, [eax + 0x24]
mov dword [eax + 0x1c], esi
push ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x48]
lea eax, [esi + 0x28]
push ecx
push eax
mov dword [esp + 0x3c], esi
mov dword [esi + 0xc], eax
call fcn.0049d5c0
mov edx, dword [esp + 0x24]
add esp, 0xc
push 0
push 1
push edx
push ebx
call fcn.00432150
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x34]
push 1
push eax
push ebx
call fcn.004323a0
mov ecx, dword [esp + 0x50]
add esp, 0x1c
push 1
push ecx
push ebx
mov dword [esi + 0x18], eax
call fcn.004328a0
add esp, 0xc
cmp dword [esp + 0x14], 0
mov dword [esi + 8], eax
je 0x448c35
mov esi, dword [edi]
mov ecx, 0x30
call fcn.00404440
mov ebx, eax
test ebx, ebx
je 0x448bc6
push 0x30
push 0
push ebx
call fcn.0049d4a0
add esp, 0xc
or edx, 0xffffffff
mov byte [ebx], 0x13
mov word [ebx + 0x22], dx
mov dword [ebx + 0x18], 1
mov esi, dword [edi]
mov eax, dword [esp + 0x14]
test ebx, ebx
jne 0x448be3
push eax
push esi
call fcn.00432000
push ebx
push esi
call fcn.00432000
add esp, 0x10
jmp 0x448c10
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
call fcn.00431930
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x448c10
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.004067f0
add esp, 0xc
mov eax, dword [esp + 0x10]
push 0
push 1
push ebx
push eax
mov dword [esp + 0x24], ebx
call fcn.00432150
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
add esp, 0x10
mov dword [ecx + 0xc], eax
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0xf]
push eax
push ebx
mov byte [ebx + 0xf2], dl
call fcn.00432000
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
call fcn.00432000
mov edx, dword [esp + 0x34]
push edx
push ebx
call fcn.00432ba0
mov edi, dword [esp + 0x4c]
add esp, 0x18
test edi, edi
je 0x448c7e
push edi
push ebx
call fcn.004526b0
add esp, 8
mov eax, edi
mov ecx, ebx
call fcn.00404210
cmp byte [ebx + 0x40], 1
jne 0x448c9a
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
call fcn.00447490
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x28]
cmp eax, 6
je 0x448cb8
cmp eax, 9
jne 0x448cb3
cmp dword [ebp + 0x10], 0
jne 0x448cb3
mov byte [esi], 0x6b
jmp 0x448cbb
mov byte [esi], 0x6c
jmp 0x448cbb
mov byte [esi], 0x75
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
cmp dword [ebp + 0x10], 0
mov dword [esi + 4], eax
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x14], edx
mov ecx, dword [ecx + 0x44]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x4c]
mov dword [edx + ecx*4 + 0x1c], eax
setne dl
add dl, 0x6b
mov byte [eax + 8], dl
mov eax, dword [esp + 0x48]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret