Function at 0x44c5d0
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 0x44d2fd
cmp eax, ebx
jne 0x44d2fd
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.0044a4d0
add esp, 0x10
test eax, eax
jne 0x44d2a1
mov dword [esp + 0x1c], ebx
cmp dword [esi + 0x14], ebx
jle 0x44cf4b
mov eax, 3
mov dword [esp + 0x60], 0x4b81a8
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0x4b81a4
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44c688
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
jmp 0x44c68e
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x24]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x44c6af
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 0x44c6b4
mov ecx, 0x4b9700
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 0x44c6ed
cmp byte [ecx], 0
je 0x44c6e6
nop
inc eax
cmp byte [eax], 0
jne 0x44c6e0
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x54], eax
mov eax, edx
test edx, edx
je 0x44c70d
cmp byte [edx], 0
je 0x44c706
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x44c700
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.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x44c747
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44c765
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44c765
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x5c]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x44c797
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44c7b5
call fcn.00436110
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44c7b5
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x6c]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x44c7e7
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44c805
call fcn.00436110
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44c805
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov ebx, eax
test ebx, ebx
je 0x44c835
push 0x30
push 0
push ebx
call fcn.004a3190
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 0x44c856
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.004367e0
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44c8a1
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44c86c
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 0x44c883
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
call fcn.00436110
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44c8a1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov esi, eax
test esi, esi
je 0x44c8d1
push 0x30
push 0
push esi
call fcn.004a3190
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 0x44c8f8
mov edx, ecx
push ebx
push edx
call fcn.004367e0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.004367e0
add esp, 0x10
jmp 0x44c941
mov eax, dword [esp + 0x40]
test eax, eax
je 0x44c90f
mov dword [esi + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x44c921
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
mov ebx, esi
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x44c941
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push esi
push edx
call fcn.00436450
add esp, 8
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x18], eax
je 0x44cc8f
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x5c]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x44c993
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44c9b1
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44c9b1
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x74]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x44c9df
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44c9fd
call fcn.00436110
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44c9fd
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
je 0x44ca31
push 0x30
push 0
push esi
call fcn.004a3190
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 0x44ca50
mov esi, edx
push ebx
push esi
call fcn.004367e0
mov eax, dword [esp + 0x48]
push eax
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44ca9c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x44ca67
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x44ca7a
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.00436110
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44ca9c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x5c]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x44cace
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44caec
call fcn.00436110
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44caec
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov eax, dword [edi]
push 1
push 0x1b
push eax
lea eax, [esp + 0x6c]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x44cb1e
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44cb3c
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44cb3c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov ebx, eax
test ebx, ebx
je 0x44cb6c
push 0x30
push 0
push ebx
call fcn.004a3190
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 0x44cb8d
mov eax, dword [esp + 0x3c]
push eax
push esi
call fcn.004367e0
mov ecx, dword [esp + 0x48]
push ecx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44cbd8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x44cba4
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 0x44cbba
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x100
or dword [ebx + 4], eax
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44cbd8
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov esi, eax
test esi, esi
je 0x44cc08
push 0x30
push 0
push esi
call fcn.004a3190
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 0x44cc2f
mov ecx, eax
push ebx
push ecx
call fcn.004367e0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.004367e0
add esp, 0x10
jmp 0x44cc79
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44cc46
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [esi + 4], ecx
test ebx, ebx
je 0x44cc59
mov dword [esi + 0xc], ebx
mov edx, dword [ebx + 4]
and edx, 0x100
or dword [esi + 4], edx
mov ebx, esi
call fcn.00436110
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [esi + 0x18], eax
jle 0x44cc79
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push esi
push ecx
call fcn.00436450
add esp, 8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x28], 6
je 0x44cf36
mov eax, dword [esp + 0x28]
cmp eax, 9
jne 0x44cdf9
cmp dword [ebp + 0x10], 0
je 0x44cf36
mov edx, dword [edi]
push 1
push 0x1b
push edx
lea eax, [esp + 0x5c]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x44cce3
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44cd01
call fcn.00436110
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44cd01
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov ecx, dword [edi]
push 1
push 0x1b
push ecx
lea eax, [esp + 0x74]
call fcn.004361e0
mov esi, dword [edi]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x44cd2f
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44cd4d
call fcn.00436110
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44cd4d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov esi, eax
test esi, esi
je 0x44cd7d
push 0x30
push 0
push esi
call fcn.004a3190
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 0x44cda9
mov edx, ecx
push ebx
push edx
call fcn.004367e0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
push eax
push ecx
call fcn.004367e0
add esp, 0x10
mov eax, esi
jmp 0x44ced6
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x44cdc0
mov dword [esi + 0x10], eax
mov edx, dword [eax + 4]
and edx, 0x100
or dword [esi + 4], edx
test ebx, ebx
je 0x44cdd2
mov dword [esi + 0xc], ebx
mov eax, dword [ebx + 4]
and eax, 0x100
or dword [esi + 4], eax
mov ebx, esi
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [esi + 0x18], eax
jle 0x44cdf2
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov eax, esi
jmp 0x44ced6
cmp eax, 8
jne 0x44ce6b
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 0x44ce29
push 0
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.00436930
add esp, 0x10
jmp 0x44ced6
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov ebx, eax
test ebx, ebx
je 0x44ce59
push 0x30
push 0
push ebx
call fcn.004a3190
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 0x44cea1
call fcn.00436110
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
jmp 0x44cec0
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov ebx, eax
test ebx, ebx
je 0x44ce9b
push 0x30
push 0
push ebx
call fcn.004a3190
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 0x44ceb6
push 0
push esi
call fcn.004367e0
push 0
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44ced4
call fcn.00436110
mov ecx, dword [edi]
mov eax, dword [ecx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44ced4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov eax, ebx
mov ecx, dword [esp + 0x24]
push eax
mov eax, edi
call fcn.004371b0
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x44cf36
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 0x44cf0a
xor esi, esi
jmp 0x44cf2f
mov ebx, dword [esp + 0x44]
lea ecx, [ebx + 1]
call fcn.004087f0
mov esi, eax
test esi, esi
je 0x44cf2f
mov edx, dword [esp + 0x58]
push ebx
push edx
push esi
call fcn.004a85a0
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 0x44c677
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
call fcn.004085b0
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 0x44cf7d
cmp byte [ecx], 0
je 0x44cf76
mov edi, edi
inc eax
cmp byte [eax], 0
jne 0x44cf70
sub eax, ecx
and eax, 0x3fffffff
cmp dword [esp + 0x28], 6
mov dword [esp + 0x20], eax
jne 0x44d0ed
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 0x44cfa0
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.004087f0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x44d030
mov ecx, dword [esp + 0x48]
push ecx
mov esi, eax
push 0
push esi
call fcn.004a3190
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 0x44d001
or dword [esi + 4], 0x400
mov dword [esi + 8], ecx
jmp 0x44d025
lea ecx, [esi + 0x30]
mov dword [esi + 8], ecx
test eax, eax
je 0x44d01e
push eax
push str.FOREIGN_KEY_constraint_failed
push ecx
call fcn.004a85a0
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.004087f0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x44d065
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.004087f0
mov edx, dword [esp + 0x1c]
mov dword [edx + 8], eax
test eax, eax
jne 0x44d082
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.004367e0
mov ecx, dword [esp + 0x24]
push ecx
push esi
call fcn.00437380
add esp, 0x10
xor esi, esi
jmp 0x44d0ad
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.004440d0
add esp, 0x10
push eax
push esi
mov ecx, edi
call fcn.00456af0
add esp, 0x24
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], 0
jmp 0x44d0f1
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.004087f0
mov dword [esp + 0x1c], eax
mov esi, eax
test eax, eax
je 0x44d12d
mov eax, dword [esp + 0x20]
add eax, 0x4d
push eax
push 0
push esi
call fcn.004a3190
add esp, 0xc
mov dword [esp + 0x48], esi
test esi, esi
je 0x44d241
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.004a85a0
mov edx, dword [esp + 0x24]
add esp, 0xc
push 0
push 1
push edx
push ebx
call fcn.00436930
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x34]
push 1
push eax
push ebx
call fcn.00436b80
mov ecx, dword [esp + 0x50]
add esp, 0x1c
push 1
push ecx
push ebx
mov dword [esi + 0x18], eax
call fcn.00437080
add esp, 0xc
cmp dword [esp + 0x14], 0
mov dword [esi + 8], eax
je 0x44d245
mov esi, dword [edi]
mov ecx, 0x30
call fcn.004087f0
mov ebx, eax
test ebx, ebx
je 0x44d1d6
push 0x30
push 0
push ebx
call fcn.004a3190
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 0x44d1f3
push eax
push esi
call fcn.004367e0
push ebx
push esi
call fcn.004367e0
add esp, 0x10
jmp 0x44d220
mov dword [ebx + 0xc], eax
mov ecx, dword [eax + 4]
and ecx, 0x100
or dword [ebx + 4], ecx
call fcn.00436110
mov edx, dword [edi]
mov eax, dword [edx + 0x64]
cmp dword [ebx + 0x18], eax
jle 0x44d220
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push edi
call fcn.0040a9c0
add esp, 0xc
mov eax, dword [esp + 0x10]
push 0
push 1
push ebx
push eax
mov dword [esp + 0x24], ebx
call fcn.00436930
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.004367e0
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
call fcn.004367e0
mov edx, dword [esp + 0x34]
push edx
push ebx
call fcn.00437380
mov edi, dword [esp + 0x4c]
add esp, 0x18
test edi, edi
je 0x44d28e
push edi
push ebx
call fcn.00456a60
add esp, 8
mov eax, edi
mov ecx, ebx
call fcn.004085b0
cmp byte [ebx + 0x40], 1
jne 0x44d2aa
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
call fcn.0044ba90
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x28]
cmp eax, 6
je 0x44d2c8
cmp eax, 9
jne 0x44d2c3
cmp dword [ebp + 0x10], 0
jne 0x44d2c3
mov byte [esi], 0x6b
jmp 0x44d2cb
mov byte [esi], 0x6c
jmp 0x44d2cb
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