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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
mov eax, dword [0x559940]
xor eax, esp
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x4c], edx
mov edx, dword [ebp + 0xc]
test edx, edx
push ebx
push esi
mov esi, dword [ebp + 8]
setne al
mov dword [esp + 0x38], edx
push edi
mov edi, dword [ecx]
mov dl, byte [esi + eax + 0x19]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x17], dl
cmp dl, 6
jne 0x461b79
test dword [edi + 0x1c], 0x80000
jne 0x462beb
add eax, 7
mov ebx, dword [esi + eax*4]
lea eax, [esi + eax*4]
mov dword [esp + 0x68], eax
jmp 0x461b8e
add eax, 7
mov ebx, dword [esi + eax*4]
lea eax, [esi + eax*4]
mov dword [esp + 0x68], eax
test dl, dl
je 0x462c53
test ebx, ebx
jne 0x462c53
lea eax, [esp + 0x54]
mov dword [esp + 0x5c], ebx
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x58], ebx
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x60]
mov edx, ebx
push esi
call fcn.0045f500
add esp, 0xc
test eax, eax
jne 0x462beb
xor ecx, ecx
mov dword [esp + 0x40], ecx
cmp dword [esi + 0x14], ecx
jle 0x4626ad
mov eax, dword [esp + 0x54]
test eax, eax
je 0x461bef
mov edx, dword [eax + ecx*4]
jmp 0x461bf2
mov edx, dword [esi + 0x24]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x461c03
mov eax, dword [eax + 4]
movzx eax, word [eax + ecx*2]
jmp 0x461c07
movzx eax, word [ebx + 0x28]
movsx ecx, ax
mov eax, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x461c1e
xor ebx, ebx
jmp 0x461c32
mov ebx, eax
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x461c23
sub ebx, ecx
and ebx, 0x3fffffff
mov eax, dword [esi]
shl edx, 4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x34], edx
mov eax, dword [eax + 4]
mov eax, dword [edx + eax]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x461c51
xor edi, edi
jmp 0x461c65
mov edi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x461c56
sub edi, ecx
and edi, 0x3fffffff
mov ecx, dword [esp + 0x10]
push 0
push 0x34
mov dword [esp + 0x50], edi
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x461cb8
push 0x30
push 0
push esi
call fcn.004f7f30
lea ecx, [esi + 0x30]
mov byte [esi], 0x3b
mov dword [esi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov ax, word [0x547f28]
mov word [ecx], ax
mov al, byte [0x547f2a]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [esi + 0x18], 1
mov ecx, dword [esp + 0x10]
lea eax, [edi + 0x31]
push 0
push eax
call fcn.004058c0
mov edi, eax
add esp, 8
mov dword [esp + 0x6c], edi
test edi, edi
je 0x461d19
push 0x30
push 0
push edi
call fcn.004f7f30
mov ecx, dword [esp + 0x54]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov byte [edi], 0x3b
lea eax, [edi + 0x30]
mov dword [edi + 8], eax
test ecx, ecx
je 0x461d0b
push ecx
push dword [esp + 0x54]
push eax
call fcn.004f79b0
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [ecx + eax], 0
mov dword [edi + 0x18], 1
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0x31]
push 0
push eax
mov dword [esp + 0x6c], eax
call fcn.004058c0
mov edi, eax
add esp, 8
mov dword [esp + 0x60], edi
test edi, edi
je 0x461d76
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x3b
mov word [edi + 0x22], ax
add esp, 0xc
lea eax, [edi + 0x30]
mov dword [edi + 8], eax
test ebx, ebx
je 0x461d68
push ebx
push dword [esp + 0x48]
push eax
call fcn.004f79b0
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [ebx + eax], 0
mov dword [edi + 0x18], 1
mov ecx, dword [esp + 0xc]
push 0
push 0x30
mov ecx, dword [ecx]
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x461df3
push 0x30
push 0
push edi
call fcn.004f7f30
mov edx, dword [esp + 0x6c]
or eax, 0xffffffff
add esp, 0xc
mov byte [edi], 0x7a
mov word [edi + 0x22], ax
test edx, edx
je 0x461dbb
mov dword [edi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [edi + 4], eax
test esi, esi
je 0x461dcd
mov dword [edi + 0xc], esi
mov eax, dword [esi + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x461e1d
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.00408830
add esp, 0xc
jmp 0x461e1d
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test esi, esi
je 0x461e0e
mov edx, esi
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x461e1d
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0xc]
push 0
push 0x30
mov ecx, dword [eax]
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x461e9a
push 0x30
push 0
push esi
call fcn.004f7f30
mov edx, dword [esp + 0x78]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x35
mov word [esi + 0x22], ax
test edx, edx
je 0x461e62
mov dword [esi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [esi + 4], eax
test edi, edi
je 0x461e74
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.00440c30
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x461ec4
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.00408830
add esp, 0xc
jmp 0x461ec4
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test edi, edi
je 0x461eb5
mov edx, edi
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x461ec4
mov ecx, eax
call fcn.00441410
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x461ed5
mov dword [esp + 0x18], esi
jmp 0x462068
test esi, esi
je 0x462068
test byte [edx + 4], 1
mov edi, dword [esp + 0x18]
mov dword [esp + 0x6c], 0
jne 0x461f0b
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.004428c0
test eax, eax
je 0x461f0b
xor eax, eax
cmp dword [esp + 0x6c], eax
sete al
test eax, eax
jne 0x461f41
test byte [esi + 4], 1
mov dword [esp + 0x6c], 0
jne 0x461fe9
lea edx, [esp + 0x6c]
mov ecx, esi
call fcn.004428c0
test eax, eax
je 0x461fe9
xor eax, eax
cmp dword [esp + 0x6c], eax
sete al
test eax, eax
je 0x461fe9
mov edx, edi
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00441410
mov edx, esi
mov ecx, edi
call fcn.00441410
xor esi, esi
lea edx, [esp + 0x6c]
mov ecx, 0x546514
mov dword [esp + 0x6c], esi
call fcn.004093d0
test eax, eax
mov ecx, edi
mov eax, 2
cmove esi, eax
push 0
lea eax, [esi + 0x30]
push eax
call fcn.004058c0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
je 0x46206c
push 0x30
push 0
push edx
call fcn.004f7f30
mov edx, dword [esp + 0x24]
or eax, 0xffffffff
add esp, 0xc
mov byte [edx], 0x86
mov word [edx + 0x22], ax
test esi, esi
jne 0x461fcc
mov eax, dword [esp + 0x6c]
or dword [edx + 4], 0x800400
mov dword [edx + 8], eax
mov dword [edx + 0x18], 1
jmp 0x46206c
lea ecx, [edx + 0x30]
mov dword [edx + 8], ecx
mov al, byte [0x546514]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov dword [edx + 0x18], 1
jmp 0x46206c
mov ecx, dword [esp + 0x10]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x46204c
push 0x30
push 0
push edi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [edi], 0x2c
mov word [edi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov dword [edi + 0x18], 1
mov dword [edi + 0x10], esi
mov ecx, dword [esi + 4]
and ecx, 0x200100
mov dword [edi + 0xc], eax
or ecx, dword [edi + 4]
mov dword [edi + 4], ecx
mov eax, dword [eax + 4]
and eax, 0x200100
or eax, ecx
mov ecx, edi
mov dword [edi + 4], eax
call fcn.00440c30
jmp 0x462064
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.00441410
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.00441410
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4623b0
lea eax, [ebx + 0x31]
mov ecx, edi
push 0
push eax
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4620cb
push 0x30
push 0
push esi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [esi], 0x3b
mov word [esi + 0x22], ax
add esp, 0xc
lea eax, [esi + 0x30]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4620bd
push ebx
push dword [esp + 0x48]
push eax
call fcn.004f79b0
add esp, 0xc
mov eax, dword [esi + 8]
mov byte [ebx + eax], 0
mov dword [esi + 0x18], 1
push 0
push 0x34
mov ecx, edi
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x462118
push 0x30
push 0
push edi
call fcn.004f7f30
lea ecx, [edi + 0x30]
mov byte [edi], 0x3b
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov ax, word [0x547f24]
mov word [ecx], ax
mov al, byte [0x547f26]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [edi + 0x18], 1
mov eax, dword [esp + 0xc]
push 0
push 0x30
mov ecx, dword [eax]
call fcn.004058c0
mov ebx, eax
add esp, 8
mov dword [esp + 0x6c], ebx
test ebx, ebx
je 0x462195
push 0x30
push 0
push ebx
call fcn.004f7f30
or eax, 0xffffffff
mov byte [ebx], 0x7a
add esp, 0xc
mov word [ebx + 0x22], ax
test esi, esi
je 0x46215d
mov dword [ebx + 0x10], esi
mov eax, dword [esi + 4]
and eax, 0x200100
or dword [ebx + 4], eax
test edi, edi
je 0x46216f
mov dword [ebx + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x200100
or dword [ebx + 4], eax
mov ecx, ebx
call fcn.00440c30
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp dword [ebx + 0x18], eax
jle 0x4621b9
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push esi
call fcn.00408830
add esp, 0xc
jmp 0x4621b9
mov eax, dword [esp + 0xc]
mov ebx, dword [eax]
test edi, edi
je 0x4621a8
mov edx, edi
mov ecx, ebx
call fcn.00441410
test esi, esi
je 0x4621b5
mov edx, esi
mov ecx, ebx
call fcn.00441410
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push 0
push dword [esp + 0x68]
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x462212
push 0x30
push 0
push edi
call fcn.004f7f30
mov ebx, dword [esp + 0x58]
or eax, 0xffffffff
mov word [edi + 0x22], ax
add esp, 0xc
mov byte [edi], 0x3b
lea eax, [edi + 0x30]
mov dword [edi + 8], eax
test ebx, ebx
je 0x462204
push ebx
push dword [esp + 0x48]
push eax
call fcn.004f79b0
add esp, 0xc
mov eax, dword [edi + 8]
mov byte [ebx + eax], 0
mov dword [edi + 0x18], 1
mov ecx, dword [esp + 0x10]
push 0
push 0x34
call fcn.004058c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x462261
push 0x30
push 0
push ebx
call fcn.004f7f30
lea ecx, [ebx + 0x30]
mov byte [ebx], 0x3b
mov dword [ebx + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [ebx + 0x22], ax
mov ax, word [0x547f28]
mov word [ecx], ax
mov al, byte [0x547f2a]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [ebx + 0x18], 1
mov ecx, dword [esi]
push 0
push 0x30
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4622d6
push 0x30
push 0
push esi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [esi], 0x7a
add esp, 0xc
mov word [esi + 0x22], ax
test edi, edi
je 0x46229e
mov dword [esi + 0x10], edi
mov eax, dword [edi + 4]
and eax, 0x200100
or dword [esi + 4], eax
test ebx, ebx
je 0x4622b0
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 ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x462302
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x462302
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x4622f1
mov edx, ebx
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0x30]
test edi, edi
je 0x4622fe
mov edx, edi
mov ecx, eax
call fcn.00441410
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx]
push 0
push 0x30
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x462377
push 0x30
push 0
push edi
call fcn.004f7f30
mov edx, dword [esp + 0x78]
or eax, 0xffffffff
add esp, 0xc
mov byte [edi], 0x2d
mov word [edi + 0x22], ax
test edx, edx
je 0x462343
mov dword [edi + 0x10], edx
mov eax, dword [edx + 4]
and eax, 0x200100
or dword [edi + 4], eax
test esi, esi
je 0x462355
mov dword [edi + 0xc], esi
mov eax, dword [esi + 4]
and eax, 0x200100
or dword [edi + 4], eax
mov ecx, edi
call fcn.00440c30
mov eax, dword [ebx]
mov eax, dword [eax + 0x70]
cmp dword [edi + 0x18], eax
jle 0x462395
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ebx
call fcn.00408830
add esp, 0xc
jmp 0x462395
mov ebx, dword [ebx]
test esi, esi
je 0x462386
mov edx, esi
mov ecx, ebx
call fcn.00441410
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x462395
mov ecx, ebx
call fcn.00441410
mov edx, dword [esp + 0x20]
push edi
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.00440e80
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [esp + 0x20], eax
mov al, byte [esp + 0x17]
cmp al, 6
je 0x462693
cmp al, 9
jne 0x46251a
test ecx, ecx
je 0x462693
push 0
push dword [esp + 0x68]
mov ecx, edi
call fcn.004058c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x462423
push 0x30
push 0
push ebx
call fcn.004f7f30
mov esi, dword [esp + 0x58]
or eax, 0xffffffff
mov word [ebx + 0x22], ax
add esp, 0xc
mov byte [ebx], 0x3b
lea eax, [ebx + 0x30]
mov dword [ebx + 8], eax
test esi, esi
je 0x462415
push esi
push dword [esp + 0x48]
push eax
call fcn.004f79b0
add esp, 0xc
mov eax, dword [ebx + 8]
mov byte [esi + eax], 0
mov dword [ebx + 0x18], 1
push 0
push 0x34
mov ecx, edi
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x462470
push 0x30
push 0
push edi
call fcn.004f7f30
lea ecx, [edi + 0x30]
mov byte [edi], 0x3b
mov dword [edi + 8], ecx
add esp, 0xc
or eax, 0xffffffff
mov word [edi + 0x22], ax
mov ax, word [0x547f24]
mov word [ecx], ax
mov al, byte [0x547f26]
mov byte [ecx + 2], al
mov byte [ecx + 3], 0
mov dword [edi + 0x18], 1
mov eax, dword [esp + 0xc]
push 0
push 0x30
mov ecx, dword [eax]
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4624f0
push 0x30
push 0
push esi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [esi], 0x7a
add esp, 0xc
mov word [esi + 0x22], ax
test ebx, ebx
je 0x4624b1
mov dword [esi + 0x10], ebx
mov eax, dword [ebx + 4]
and eax, 0x200100
or dword [esi + 4], eax
test edi, edi
je 0x4624c3
mov dword [esi + 0xc], edi
mov eax, dword [edi + 4]
and eax, 0x200100
or dword [esi + 4], eax
mov ecx, esi
call fcn.00440c30
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x462573
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.00408830
add esp, 0xc
jmp 0x462573
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
test edi, edi
je 0x46250b
mov edx, edi
mov ecx, eax
call fcn.00441410
mov eax, dword [esp + 0x30]
test ebx, ebx
je 0x462573
mov edx, ebx
mov ecx, eax
call fcn.00441410
jmp 0x462573
mov ecx, edi
push 0
cmp al, 8
jne 0x462545
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx + 4]
test edx, edx
je 0x462545
push 0
call fcn.004416a0
add esp, 8
mov esi, eax
jmp 0x462573
push 0x30
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x462573
push 0x30
push 0
push esi
call fcn.004f7f30
add esp, 0xc
mov dword [esi + 0x18], 1
or eax, 0xffffffff
mov word [esi + 0x22], ax
mov byte [esi], 0x65
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov edi, ecx
mov ebx, dword [eax]
test ecx, ecx
jne 0x46259e
push ecx
push 0x1c
mov ecx, ebx
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x462633
xor edx, edx
jmp 0x4625e8
mov edx, dword [ecx]
lea eax, [edx - 1]
test edx, eax
jne 0x4625e8
mov eax, dword [esp + 0x24]
lea ecx, [edx + edx*2]
shl ecx, 4
add ecx, 4
mov dword [esp + 0x34], 0
cmp eax, dword [ebx + 0x128]
jb 0x46261f
cmp eax, dword [ebx + 0x12c]
jae 0x46261f
movzx eax, word [ebx + 0x10c]
cdq
cmp dword [esp + 0x34], edx
ja 0x46261b
jb 0x4625e0
cmp ecx, eax
ja 0x46261b
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
mov edi, eax
cmp dword [esp + 0x50], 0
lea eax, [edx + edx*2]
lea ecx, [edi + eax*8]
mov dword [esp + 0x24], edi
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [edi], eax
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], 0
mov dword [ecx + 4], esi
mov eax, dword [edi]
lea eax, [eax + eax*2]
lea edi, [edi + eax*8]
jne 0x462657
xor esi, esi
jmp 0x46268c
mov eax, dword [esp + 0x24]
xor edx, edx
push edx
push ecx
mov edx, eax
mov ecx, ebx
call fcn.00405960
add esp, 8
test eax, eax
jne 0x4625e4
test esi, esi
je 0x462640
mov edx, esi
mov ecx, ebx
call fcn.00441410
test edi, edi
je 0x46264d
mov edx, edi
mov ecx, ebx
call fcn.00442460
mov dword [esp + 0x24], 0
jmp 0x46268f
mov ebx, dword [esp + 0x48]
xor eax, eax
mov ecx, ebx
add ecx, 1
adc eax, eax
push eax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [eax]
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x46268c
push ebx
push dword [esp + 0x54]
push esi
call fcn.004f79b0
add esp, 0xc
mov byte [esi + ebx], 0
mov dword [edi - 0x10], esi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
inc ecx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x40], ecx
cmp ecx, dword [esi + 0x14]
jl 0x461be2
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x462749
test edi, edi
je 0x4626f1
cmp dword [edi + 0x1d0], 0
je 0x4626d1
mov edx, ebx
mov ecx, edi
call fcn.00405430
jmp 0x462749
cmp ebx, dword [edi + 0x128]
jb 0x4626f1
cmp ebx, dword [edi + 0x12c]
jae 0x4626f1
mov eax, dword [edi + 0x124]
mov dword [ebx], eax
mov dword [edi + 0x124], ebx
jmp 0x462749
cmp dword [0x55a418], 0
je 0x46273f
mov eax, dword [0x560268]
test eax, eax
je 0x46270d
push eax
call dword [0x55a474]
add esp, 4
push ebx
call dword [0x55a450]
sub dword [0x560070], eax
add esp, 4
dec dword [0x560094]
push ebx
call dword [0x55a448]
mov eax, dword [0x560268]
add esp, 4
test eax, eax
je 0x462749
push eax
call dword [0x55a47c]
jmp 0x462746
push ebx
call dword [0x55a448]
add esp, 4
mov eax, dword [esi]
mov ebx, dword [eax]
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x462759
xor esi, esi
jmp 0x46276f
mov esi, ebx
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x462760
sub esi, ecx
and esi, 0x3fffffff
cmp byte [esp + 0x17], 6
jne 0x462a2e
lea eax, [esp + 0x34]
mov dword [esp + 0x34], str.FOREIGN_KEY_constraint_failed
push 0
push eax
mov edx, 0x46
mov dword [esp + 0x40], 0x1d
mov ecx, edi
call fcn.00440d30
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4627ac
mov byte [eax + 1], 2
push 0
push 0x58
mov ecx, edi
call fcn.004058c0
mov edi, eax
add esp, 8
test edi, edi
je 0x462855
push 0x50
lea eax, [edi + 8]
mov dword [edi + 4], 1
push 0
push eax
mov dword [edi], 1
call fcn.004f7f30
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [edi + 0x38], 0xffffffff
cmp byte [eax + 0x49], 0
je 0x4627ff
mov edx, edi
mov ecx, eax
call fcn.00457490
xor edi, edi
jmp 0x462855
mov eax, dword [edi]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edi
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x462840
xor eax, eax
mov ecx, esi
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.004058c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x462840
push esi
push dword [esp + 0x44]
push ebx
call fcn.004f79b0
add esp, 0xc
mov byte [ebx + esi], 0
mov ecx, ebx
call fcn.004089e0
mov eax, dword [esp + 0x34]
mov dword [eax - 0x40], ebx
mov dword [eax - 0x44], 0
mov eax, dword [esp + 0xc]
push 0
push 0x1c
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.004058c0
mov edx, dword [esp + 0x24]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x462890
mov dword [ebx], 1
xorps xmm0, xmm0
movups xmmword [ebx + 8], xmm0
mov dword [ebx + 0x18], 0
mov dword [ebx + 4], edx
jmp 0x46289f
test edx, edx
je 0x46289d
mov ecx, dword [esp + 0x34]
call fcn.00441410
xor ebx, ebx
mov eax, dword [esp + 0xc]
push 0
push 0x44
mov ecx, dword [eax]
call fcn.004058c0
add esp, 8
lea edx, [esp + 0x70]
test eax, eax
cmovne edx, eax
mov dword [esp + 0x28], edx
test ebx, ebx
jne 0x462956
mov eax, dword [esp + 0xc]
push ebx
push 0x31
mov ecx, dword [eax]
call fcn.004058c0
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x462908
push 0x30
push 0
push ebx
call fcn.004f7f30
add esp, 0xc
mov byte [ebx], 0x9a
or eax, 0xffffffff
mov word [ebx + 0x22], ax
lea eax, [ebx + 0x30]
mov dword [ebx + 8], eax
mov byte [eax], 0
mov dword [ebx + 0x18], 1
mov eax, dword [esp + 0xc]
push 0
push 0x1c
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.004058c0
mov edx, dword [esp + 0x24]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x462943
mov dword [ebx], 1
xorps xmm0, xmm0
movups xmmword [ebx + 8], xmm0
mov dword [ebx + 0x18], 0
mov dword [ebx + 4], edx
jmp 0x462952
test edx, edx
je 0x462950
mov ecx, dword [esp + 0x34]
call fcn.00441410
xor ebx, ebx
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [edx], ebx
mov byte [edx + 4], 0x77
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xffffffff
mov dword [edx + 0x18], 0xffffffff
mov word [edx + 6], ax
test edi, edi
jne 0x4629bc
mov eax, dword [esp + 0xc]
push edi
push 0x58
mov ecx, dword [eax]
test ecx, ecx
je 0x46299d
call fcn.004058c0
jmp 0x4629a2
call fcn.004051e0
mov edi, eax
add esp, 8
test edi, edi
je 0x4629b8
push 0x58
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [edx + 0x1c], edi
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [edx + 0x40], 0
mov ecx, dword [eax]
cmp byte [ecx + 0x49], 0
je 0x462a26
xor eax, eax
lea edi, [esp + 0x70]
cmp edx, edi
setne al
push eax
call fcn.004711a0
add esp, 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x49]
push 0
push eax
inc dword [ecx + 0x108]
call fcn.004058c0
mov edi, eax
add esp, 8
mov ebx, edi
test edi, edi
je 0x462b87
lea eax, [esi + 0x49]
push eax
push 0
push edi
call fcn.004f7f30
add esp, 0xc
mov dword [esp + 0x1c], ebx
lea ecx, [edi + 0x24]
lea eax, [ecx + 0x24]
mov dword [esp + 0x2c], ecx
mov dword [edi + 0x1c], ecx
push esi
push dword [esp + 0x44]
mov dword [ecx + 0xc], eax
push eax
call fcn.004f79b0
mov eax, dword [esp + 0x24]
add esp, 0xc
mov esi, dword [esp + 0x10]
test eax, eax
je 0x462aa1
push 0
push 1
mov edx, eax
mov ecx, esi
call fcn.004416a0
add esp, 8
jmp 0x462aa3
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push 1
mov dword [ecx + 0x10], eax
mov ecx, esi
call fcn.00441960
mov ecx, dword [esp + 0x30]
add esp, 4
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x14], eax
mov ecx, esi
push 1
call fcn.00441f50
mov ecx, dword [esp + 0x30]
add esp, 4
cmp dword [esp + 0x20], 0
mov dword [ecx + 8], eax
je 0x462b8d
mov eax, dword [esp + 0xc]
push 0
push 0x30
mov ecx, dword [eax]
call fcn.004058c0
mov esi, eax
add esp, 8
test esi, esi
je 0x462b69
push 0x30
push 0
push esi
call fcn.004f7f30
or eax, 0xffffffff
mov byte [esi], 0x13
mov word [esi + 0x22], ax
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, esi
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
and eax, 0x200100
or dword [esi + 4], eax
call fcn.00440c30
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
cmp dword [esi + 0x18], eax
jle 0x462b4c
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push ecx
call fcn.00408830
add esp, 0xc
mov edx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
mov ecx, esi
push 0
push 1
call fcn.004416a0
add esp, 8
mov dword [edi + 0xc], eax
jmp 0x462b8d
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
call fcn.00441410
xor eax, eax
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
mov dword [edi + 0xc], eax
jmp 0x462b8d
mov esi, dword [esp + 0x10]
mov ebx, edi
dec dword [esi + 0x108]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x462ba4
mov edx, eax
mov ecx, esi
call fcn.00441410
mov eax, dword [esp + 0x20]
test eax, eax
je 0x462bb5
mov edx, eax
mov ecx, esi
call fcn.00441410
mov eax, dword [esp + 0x24]
test eax, eax
je 0x462bc6
mov edx, eax
mov ecx, esi
call fcn.00442460
mov eax, dword [esp + 0x28]
test eax, eax
je 0x462bdc
push 1
mov edx, eax
mov ecx, esi
call fcn.004711a0
add esp, 4
cmp byte [esi + 0x49], 1
jne 0x462c02
mov edx, edi
mov ecx, esi
call fcn.00460cc0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.004f49c2
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x17]
mov esi, dword [esp + 0x3c]
cmp al, 6
je 0x462c28
cmp al, 9
jne 0x462c1f
test esi, esi
jne 0x462c1f
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0x6d
jmp 0x462c2f
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0x6e
jmp 0x462c2f
mov ecx, dword [esp + 0x2c]
mov byte [ecx], 0x77
mov edx, dword [esp + 0x58]
test esi, esi
mov dword [ecx + 4], edi
mov eax, dword [edx + 0x48]
mov dword [edi + 0x14], eax
mov ecx, dword [edx + 0x48]
mov eax, dword [esp + 0x68]
mov dword [edi + 0x18], ecx
setne cl
add cl, 0x6d
mov dword [eax], edi
mov byte [edi + 8], cl
mov ecx, dword [esp + 0xbc]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004f49c2
mov esp, ebp
pop ebp
ret