405fd8:	cc                   	int3
405fd9:	cc                   	int3
405fda:	cc                   	int3
405fdb:	cc                   	int3
405fdc:	cc                   	int3
405fdd:	cc                   	int3
405fde:	cc                   	int3
405fdf:	cc                   	int3
405fe0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
405fe4:	8b 49 0c             	mov    0xc(%ecx),%ecx
405fe7:	33 c0                	xor    %eax,%eax
405fe9:	85 c9                	test   %ecx,%ecx
405feb:	74 0a                	je     0x405ff7
405fed:	8d 49 00             	lea    0x0(%ecx),%ecx
405ff0:	8b 09                	mov    (%ecx),%ecx
405ff2:	40                   	inc    %eax
405ff3:	85 c9                	test   %ecx,%ecx
405ff5:	75 f9                	jne    0x405ff0
405ff7:	c3                   	ret
405ff8:	cc                   	int3
405ff9:	cc                   	int3
405ffa:	cc                   	int3
405ffb:	cc                   	int3
405ffc:	cc                   	int3
405ffd:	cc                   	int3
405ffe:	cc                   	int3
405fff:	cc                   	int3
406000:	8b 44 24 08          	mov    0x8(%esp),%eax
406004:	85 c0                	test   %eax,%eax
406006:	75 01                	jne    0x406009
406008:	c3                   	ret
406009:	56                   	push   %esi
40600a:	8b 70 0c             	mov    0xc(%eax),%esi
40600d:	57                   	push   %edi
40600e:	85 f6                	test   %esi,%esi
406010:	74 1b                	je     0x40602d
406012:	8b 7c 24 0c          	mov    0xc(%esp),%edi
406016:	8b 46 04             	mov    0x4(%esi),%eax
406019:	50                   	push   %eax
40601a:	57                   	push   %edi
40601b:	e8 77 d5 02 00       	call   0x433597
406020:	83 c4 08             	add    $0x8,%esp
406023:	85 c0                	test   %eax,%eax
406025:	74 0b                	je     0x406032
406027:	8b 36                	mov    (%esi),%esi
406029:	85 f6                	test   %esi,%esi
40602b:	75 e9                	jne    0x406016
40602d:	5f                   	pop    %edi
40602e:	33 c0                	xor    %eax,%eax
406030:	5e                   	pop    %esi
406031:	c3                   	ret
406032:	5f                   	pop    %edi
406033:	b8 01 00 00 00       	mov    $0x1,%eax
406038:	5e                   	pop    %esi
406039:	c3                   	ret
40603a:	cc                   	int3
40603b:	cc                   	int3
40603c:	cc                   	int3
40603d:	cc                   	int3
40603e:	cc                   	int3
40603f:	cc                   	int3
406040:	56                   	push   %esi
406041:	6a 18                	push   $0x18
406043:	e8 ce a9 02 00       	call   0x430a16
406048:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40604c:	8b f0                	mov    %eax,%esi
40604e:	33 c0                	xor    %eax,%eax
406050:	83 c4 04             	add    $0x4,%esp
406053:	89 06                	mov    %eax,(%esi)
406055:	89 46 04             	mov    %eax,0x4(%esi)
406058:	89 46 08             	mov    %eax,0x8(%esi)
40605b:	89 46 0c             	mov    %eax,0xc(%esi)
40605e:	89 46 10             	mov    %eax,0x10(%esi)
406061:	3b c8                	cmp    %eax,%ecx
406063:	74 09                	je     0x40606e
406065:	51                   	push   %ecx
406066:	e8 2d 22 04 00       	call   0x448298
40606b:	83 c4 04             	add    $0x4,%esp
40606e:	89 46 14             	mov    %eax,0x14(%esi)
406071:	8b c6                	mov    %esi,%eax
406073:	5e                   	pop    %esi
406074:	c3                   	ret
406075:	cc                   	int3
406076:	cc                   	int3
406077:	cc                   	int3
406078:	cc                   	int3
406079:	cc                   	int3
40607a:	cc                   	int3
40607b:	cc                   	int3
40607c:	cc                   	int3
40607d:	cc                   	int3
40607e:	cc                   	int3
40607f:	cc                   	int3
406080:	53                   	push   %ebx
406081:	56                   	push   %esi
406082:	57                   	push   %edi
406083:	8b 7c 24 10          	mov    0x10(%esp),%edi
406087:	8b 77 04             	mov    0x4(%edi),%esi
40608a:	33 db                	xor    %ebx,%ebx
40608c:	3b f3                	cmp    %ebx,%esi
40608e:	74 0f                	je     0x40609f
406090:	56                   	push   %esi
406091:	8b 36                	mov    (%esi),%esi
406093:	e8 78 00 00 00       	call   0x406110
406098:	83 c4 04             	add    $0x4,%esp
40609b:	3b f3                	cmp    %ebx,%esi
40609d:	75 f1                	jne    0x406090
40609f:	89 5f 08             	mov    %ebx,0x8(%edi)
4060a2:	89 5f 04             	mov    %ebx,0x4(%edi)
4060a5:	5f                   	pop    %edi
4060a6:	5e                   	pop    %esi
4060a7:	5b                   	pop    %ebx
4060a8:	c3                   	ret
4060a9:	cc                   	int3
4060aa:	cc                   	int3
4060ab:	cc                   	int3
4060ac:	cc                   	int3
4060ad:	cc                   	int3
4060ae:	cc                   	int3
4060af:	cc                   	int3
4060b0:	56                   	push   %esi
4060b1:	6a 0c                	push   $0xc
4060b3:	e8 5e a9 02 00       	call   0x430a16
4060b8:	8b f0                	mov    %eax,%esi
4060ba:	8b 44 24 0c          	mov    0xc(%esp),%eax
4060be:	50                   	push   %eax
4060bf:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4060c5:	e8 ce 21 04 00       	call   0x448298
4060ca:	89 46 04             	mov    %eax,0x4(%esi)
4060cd:	83 c4 08             	add    $0x8,%esp
4060d0:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4060d7:	8b c6                	mov    %esi,%eax
4060d9:	5e                   	pop    %esi
4060da:	c3                   	ret
4060db:	cc                   	int3
4060dc:	cc                   	int3
4060dd:	cc                   	int3
4060de:	cc                   	int3
4060df:	cc                   	int3
4060e0:	56                   	push   %esi
4060e1:	8b 74 24 08          	mov    0x8(%esp),%esi
4060e5:	8b 46 04             	mov    0x4(%esi),%eax
4060e8:	85 c0                	test   %eax,%eax
4060ea:	74 09                	je     0x4060f5
4060ec:	50                   	push   %eax
4060ed:	e8 ab a8 02 00       	call   0x43099d
4060f2:	83 c4 04             	add    $0x4,%esp
4060f5:	8b 46 08             	mov    0x8(%esi),%eax
4060f8:	85 c0                	test   %eax,%eax
4060fa:	74 09                	je     0x406105
4060fc:	50                   	push   %eax
4060fd:	e8 9b a8 02 00       	call   0x43099d
406102:	83 c4 04             	add    $0x4,%esp
406105:	56                   	push   %esi
406106:	e8 92 a8 02 00       	call   0x43099d
40610b:	83 c4 04             	add    $0x4,%esp
40610e:	5e                   	pop    %esi
40610f:	c3                   	ret
406110:	53                   	push   %ebx
406111:	8b 5c 24 08          	mov    0x8(%esp),%ebx
406115:	56                   	push   %esi
406116:	8b 73 0c             	mov    0xc(%ebx),%esi
406119:	57                   	push   %edi
40611a:	8b 7b 04             	mov    0x4(%ebx),%edi
40611d:	85 ff                	test   %edi,%edi
40611f:	74 0f                	je     0x406130
406121:	57                   	push   %edi
406122:	8b 3f                	mov    (%edi),%edi
406124:	e8 e7 ff ff ff       	call   0x406110
406129:	83 c4 04             	add    $0x4,%esp
40612c:	85 ff                	test   %edi,%edi
40612e:	75 f1                	jne    0x406121
406130:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
406137:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
40613e:	85 f6                	test   %esi,%esi
406140:	74 31                	je     0x406173
406142:	8b 46 04             	mov    0x4(%esi),%eax
406145:	8b 3e                	mov    (%esi),%edi
406147:	85 c0                	test   %eax,%eax
406149:	74 09                	je     0x406154
40614b:	50                   	push   %eax
40614c:	e8 4c a8 02 00       	call   0x43099d
406151:	83 c4 04             	add    $0x4,%esp
406154:	8b 46 08             	mov    0x8(%esi),%eax
406157:	85 c0                	test   %eax,%eax
406159:	74 09                	je     0x406164
40615b:	50                   	push   %eax
40615c:	e8 3c a8 02 00       	call   0x43099d
406161:	83 c4 04             	add    $0x4,%esp
406164:	56                   	push   %esi
406165:	e8 33 a8 02 00       	call   0x43099d
40616a:	83 c4 04             	add    $0x4,%esp
40616d:	8b f7                	mov    %edi,%esi
40616f:	85 ff                	test   %edi,%edi
406171:	75 cf                	jne    0x406142
406173:	8b 43 14             	mov    0x14(%ebx),%eax
406176:	85 c0                	test   %eax,%eax
406178:	74 09                	je     0x406183
40617a:	50                   	push   %eax
40617b:	e8 1d a8 02 00       	call   0x43099d
406180:	83 c4 04             	add    $0x4,%esp
406183:	53                   	push   %ebx
406184:	e8 14 a8 02 00       	call   0x43099d
406189:	83 c4 04             	add    $0x4,%esp
40618c:	5f                   	pop    %edi
40618d:	5e                   	pop    %esi
40618e:	5b                   	pop    %ebx
40618f:	c3                   	ret
406190:	8b 44 24 04          	mov    0x4(%esp),%eax
406194:	56                   	push   %esi
406195:	8b 70 0c             	mov    0xc(%eax),%esi
406198:	85 f6                	test   %esi,%esi
40619a:	74 1d                	je     0x4061b9
40619c:	57                   	push   %edi
40619d:	8b 7c 24 10          	mov    0x10(%esp),%edi
4061a1:	8b 4e 04             	mov    0x4(%esi),%ecx
4061a4:	57                   	push   %edi
4061a5:	51                   	push   %ecx
4061a6:	e8 ec d3 02 00       	call   0x433597
4061ab:	83 c4 08             	add    $0x8,%esp
4061ae:	85 c0                	test   %eax,%eax
4061b0:	74 06                	je     0x4061b8
4061b2:	8b 36                	mov    (%esi),%esi
4061b4:	85 f6                	test   %esi,%esi
4061b6:	75 e9                	jne    0x4061a1
4061b8:	5f                   	pop    %edi
4061b9:	8b c6                	mov    %esi,%eax
4061bb:	5e                   	pop    %esi
4061bc:	c3                   	ret
4061bd:	cc                   	int3
4061be:	cc                   	int3
4061bf:	cc                   	int3
4061c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4061c4:	56                   	push   %esi
4061c5:	8b 70 0c             	mov    0xc(%eax),%esi
4061c8:	57                   	push   %edi
4061c9:	85 f6                	test   %esi,%esi
4061cb:	74 24                	je     0x4061f1
4061cd:	8b 7c 24 10          	mov    0x10(%esp),%edi
4061d1:	8b 4e 04             	mov    0x4(%esi),%ecx
4061d4:	57                   	push   %edi
4061d5:	51                   	push   %ecx
4061d6:	e8 bc d3 02 00       	call   0x433597
4061db:	83 c4 08             	add    $0x8,%esp
4061de:	85 c0                	test   %eax,%eax
4061e0:	74 0b                	je     0x4061ed
4061e2:	8b 36                	mov    (%esi),%esi
4061e4:	85 f6                	test   %esi,%esi
4061e6:	75 e9                	jne    0x4061d1
4061e8:	5f                   	pop    %edi
4061e9:	33 c0                	xor    %eax,%eax
4061eb:	5e                   	pop    %esi
4061ec:	c3                   	ret
4061ed:	85 f6                	test   %esi,%esi
4061ef:	75 05                	jne    0x4061f6
4061f1:	5f                   	pop    %edi
4061f2:	33 c0                	xor    %eax,%eax
4061f4:	5e                   	pop    %esi
4061f5:	c3                   	ret
4061f6:	8b 46 08             	mov    0x8(%esi),%eax
4061f9:	5f                   	pop    %edi
4061fa:	5e                   	pop    %esi
4061fb:	c3                   	ret
4061fc:	cc                   	int3
4061fd:	cc                   	int3
4061fe:	cc                   	int3
4061ff:	cc                   	int3
406200:	56                   	push   %esi
406201:	6a 0c                	push   $0xc
406203:	e8 0e a8 02 00       	call   0x430a16
406208:	8b f0                	mov    %eax,%esi
40620a:	8b 44 24 10          	mov    0x10(%esp),%eax
40620e:	50                   	push   %eax
40620f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
406215:	e8 7e 20 04 00       	call   0x448298
40621a:	89 46 04             	mov    %eax,0x4(%esi)
40621d:	8b 44 24 10          	mov    0x10(%esp),%eax
406221:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
406228:	8b 48 0c             	mov    0xc(%eax),%ecx
40622b:	89 0e                	mov    %ecx,(%esi)
40622d:	89 70 0c             	mov    %esi,0xc(%eax)
406230:	83 c4 08             	add    $0x8,%esp
406233:	8b c6                	mov    %esi,%eax
406235:	5e                   	pop    %esi
406236:	c3                   	ret
406237:	cc                   	int3
406238:	cc                   	int3
406239:	cc                   	int3
40623a:	cc                   	int3
40623b:	cc                   	int3
40623c:	cc                   	int3
40623d:	cc                   	int3
40623e:	cc                   	int3
40623f:	cc                   	int3
406240:	53                   	push   %ebx
406241:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
406245:	56                   	push   %esi
406246:	57                   	push   %edi
406247:	8b 7c 24 10          	mov    0x10(%esp),%edi
40624b:	8b 77 0c             	mov    0xc(%edi),%esi
40624e:	85 f6                	test   %esi,%esi
406250:	74 1b                	je     0x40626d
406252:	8b 46 04             	mov    0x4(%esi),%eax
406255:	53                   	push   %ebx
406256:	50                   	push   %eax
406257:	e8 3b d3 02 00       	call   0x433597
40625c:	83 c4 08             	add    $0x8,%esp
40625f:	85 c0                	test   %eax,%eax
406261:	74 06                	je     0x406269
406263:	8b 36                	mov    (%esi),%esi
406265:	85 f6                	test   %esi,%esi
406267:	75 e9                	jne    0x406252
406269:	85 f6                	test   %esi,%esi
40626b:	75 2a                	jne    0x406297
40626d:	6a 0c                	push   $0xc
40626f:	e8 a2 a7 02 00       	call   0x430a16
406274:	8b f0                	mov    %eax,%esi
406276:	53                   	push   %ebx
406277:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40627d:	e8 16 20 04 00       	call   0x448298
406282:	89 46 04             	mov    %eax,0x4(%esi)
406285:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40628c:	8b 4f 0c             	mov    0xc(%edi),%ecx
40628f:	89 0e                	mov    %ecx,(%esi)
406291:	83 c4 08             	add    $0x8,%esp
406294:	89 77 0c             	mov    %esi,0xc(%edi)
406297:	8b 46 08             	mov    0x8(%esi),%eax
40629a:	85 c0                	test   %eax,%eax
40629c:	74 10                	je     0x4062ae
40629e:	50                   	push   %eax
40629f:	e8 f9 a6 02 00       	call   0x43099d
4062a4:	83 c4 04             	add    $0x4,%esp
4062a7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4062ae:	8b 44 24 18          	mov    0x18(%esp),%eax
4062b2:	85 c0                	test   %eax,%eax
4062b4:	75 07                	jne    0x4062bd
4062b6:	5f                   	pop    %edi
4062b7:	89 46 08             	mov    %eax,0x8(%esi)
4062ba:	5e                   	pop    %esi
4062bb:	5b                   	pop    %ebx
4062bc:	c3                   	ret
4062bd:	50                   	push   %eax
4062be:	e8 d5 1f 04 00       	call   0x448298
4062c3:	83 c4 04             	add    $0x4,%esp
4062c6:	5f                   	pop    %edi
4062c7:	89 46 08             	mov    %eax,0x8(%esi)
4062ca:	5e                   	pop    %esi
4062cb:	5b                   	pop    %ebx
4062cc:	c3                   	ret
4062cd:	cc                   	int3