4040f3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4040f7:	0f 84 b3 00 00 00    	je     0x4041b0
4040fd:	33 c0                	xor    %eax,%eax
4040ff:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
404103:	8d 45 ec             	lea    -0x14(%ebp),%eax
404106:	50                   	push   %eax
404107:	8d 45 f8             	lea    -0x8(%ebp),%eax
40410a:	50                   	push   %eax
40410b:	ff 76 04             	push   0x4(%esi)
40410e:	ff 15 58 c0 41 00    	call   *0x41c058
404114:	85 c0                	test   %eax,%eax
404116:	0f 84 87 00 00 00    	je     0x4041a3
40411c:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
404120:	a9 00 80 00 00       	test   $0x8000,%eax
404125:	75 7c                	jne    0x4041a3
404127:	8d 45 f4             	lea    -0xc(%ebp),%eax
40412a:	50                   	push   %eax
40412b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40412e:	50                   	push   %eax
40412f:	ff 76 04             	push   0x4(%esi)
404132:	ff 15 5c c0 41 00    	call   *0x41c05c
404138:	ff 75 e8             	push   -0x18(%ebp)
40413b:	e8 3b 81 00 00       	call   0x40c27b
404140:	59                   	pop    %ecx
404141:	8d 45 f4             	lea    -0xc(%ebp),%eax
404144:	50                   	push   %eax
404145:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404148:	50                   	push   %eax
404149:	ff 76 04             	push   0x4(%esi)
40414c:	ff 15 54 c0 41 00    	call   *0x41c054
404152:	ff 75 e4             	push   -0x1c(%ebp)
404155:	e8 21 81 00 00       	call   0x40c27b
40415a:	59                   	pop    %ecx
40415b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40415e:	50                   	push   %eax
40415f:	8d 45 e0             	lea    -0x20(%ebp),%eax
404162:	50                   	push   %eax
404163:	8d 45 f0             	lea    -0x10(%ebp),%eax
404166:	50                   	push   %eax
404167:	ff 76 04             	push   0x4(%esi)
40416a:	ff 15 50 c0 41 00    	call   *0x41c050
404170:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
404174:	74 09                	je     0x40417f
404176:	ff 75 e0             	push   -0x20(%ebp)
404179:	e8 fd 80 00 00       	call   0x40c27b
40417e:	59                   	pop    %ecx
40417f:	8d 45 f4             	lea    -0xc(%ebp),%eax
404182:	50                   	push   %eax
404183:	8d 45 ec             	lea    -0x14(%ebp),%eax
404186:	50                   	push   %eax
404187:	8d 45 f0             	lea    -0x10(%ebp),%eax
40418a:	50                   	push   %eax
40418b:	ff 76 04             	push   0x4(%esi)
40418e:	ff 15 4c c0 41 00    	call   *0x41c04c
404194:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
404198:	74 09                	je     0x4041a3
40419a:	ff 75 ec             	push   -0x14(%ebp)
40419d:	e8 d9 80 00 00       	call   0x40c27b
4041a2:	59                   	pop    %ecx
4041a3:	ff 76 04             	push   0x4(%esi)
4041a6:	e8 d0 80 00 00       	call   0x40c27b
4041ab:	83 66 04 00          	andl   $0x0,0x4(%esi)
4041af:	59                   	pop    %ecx
4041b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4041b3:	33 cd                	xor    %ebp,%ecx
4041b5:	5e                   	pop    %esi
4041b6:	e8 3a 4a 00 00       	call   0x408bf5
4041bb:	c9                   	leave
4041bc:	c3                   	ret
4041bd:	55                   	push   %ebp
4041be:	8b ec                	mov    %esp,%ebp
4041c0:	83 ec 10             	sub    $0x10,%esp
4041c3:	53                   	push   %ebx
4041c4:	56                   	push   %esi
4041c5:	57                   	push   %edi
4041c6:	8b f1                	mov    %ecx,%esi
4041c8:	8b fa                	mov    %edx,%edi
4041ca:	56                   	push   %esi
4041cb:	68 50 2d 42 00       	push   $0x422d50
4041d0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4041d3:	e8 09 11 00 00       	call   0x4052e1
4041d8:	56                   	push   %esi
4041d9:	68 ac 2c 42 00       	push   $0x422cac
4041de:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4041e1:	8b d8                	mov    %eax,%ebx
4041e3:	e8 f9 10 00 00       	call   0x4052e1
4041e8:	83 c4 10             	add    $0x10,%esp
4041eb:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
4041ef:	74 02                	je     0x4041f3
4041f1:	8b 38                	mov    (%eax),%edi
4041f3:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
4041f7:	74 02                	je     0x4041fb
4041f9:	8b 3b                	mov    (%ebx),%edi
4041fb:	8b c7                	mov    %edi,%eax
4041fd:	5f                   	pop    %edi
4041fe:	5e                   	pop    %esi
4041ff:	5b                   	pop    %ebx
404200:	c9                   	leave
404201:	c3                   	ret
404202:	55                   	push   %ebp
404203:	8b ec                	mov    %esp,%ebp
404205:	83 e4 f8             	and    $0xfffffff8,%esp
404208:	83 ec 20             	sub    $0x20,%esp
40420b:	a1 18 60 42 00       	mov    0x426018,%eax
404210:	33 c4                	xor    %esp,%eax
404212:	89 44 24 1c          	mov    %eax,0x1c(%esp)
404216:	8b 45 08             	mov    0x8(%ebp),%eax
404219:	56                   	push   %esi
40421a:	8b f1                	mov    %ecx,%esi
40421c:	57                   	push   %edi
40421d:	33 ff                	xor    %edi,%edi
40421f:	89 06                	mov    %eax,(%esi)
404221:	8b 45 0c             	mov    0xc(%ebp),%eax
404224:	89 46 04             	mov    %eax,0x4(%esi)
404227:	8b 45 14             	mov    0x14(%ebp),%eax
40422a:	89 46 08             	mov    %eax,0x8(%esi)
40422d:	8a 45 10             	mov    0x10(%ebp),%al
404230:	89 7e 10             	mov    %edi,0x10(%esi)
404233:	88 46 14             	mov    %al,0x14(%esi)
404236:	c6 46 15 01          	movb   $0x1,0x15(%esi)
40423a:	89 7e 18             	mov    %edi,0x18(%esi)
40423d:	84 c0                	test   %al,%al
40423f:	74 4e                	je     0x40428f
404241:	e8 e5 d0 ff ff       	call   0x40132b
404246:	50                   	push   %eax
404247:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40424b:	e8 ac f8 ff ff       	call   0x403afc
404250:	8d 54 24 08          	lea    0x8(%esp),%edx
404254:	c7 44 24 18 bc 33 42 	movl   $0x4233bc,0x18(%esp)
40425b:	00
40425c:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
404260:	89 7c 24 0c          	mov    %edi,0xc(%esp)
404264:	89 7c 24 10          	mov    %edi,0x10(%esp)
404268:	89 7c 24 14          	mov    %edi,0x14(%esp)
40426c:	e8 7b 21 00 00       	call   0x4063ec
404271:	ff 74 24 08          	push   0x8(%esp)
404275:	8d 44 24 10          	lea    0x10(%esp),%eax
404279:	57                   	push   %edi
40427a:	6a 01                	push   $0x1
40427c:	50                   	push   %eax
40427d:	ff 15 e8 c1 41 00    	call   *0x41c1e8
404283:	8d 4c 24 08          	lea    0x8(%esp),%ecx
404287:	89 46 18             	mov    %eax,0x18(%esi)
40428a:	e8 3d 00 00 00       	call   0x4042cc
40428f:	57                   	push   %edi
404290:	6a 01                	push   $0x1
404292:	57                   	push   %edi
404293:	ff 15 dc c1 41 00    	call   *0x41c1dc
404299:	89 46 0c             	mov    %eax,0xc(%esi)
40429c:	85 c0                	test   %eax,%eax
40429e:	74 17                	je     0x4042b7
4042a0:	8d 44 24 20          	lea    0x20(%esp),%eax
4042a4:	50                   	push   %eax
4042a5:	57                   	push   %edi
4042a6:	56                   	push   %esi
4042a7:	68 40 43 40 00       	push   $0x404340
4042ac:	57                   	push   %edi
4042ad:	57                   	push   %edi
4042ae:	ff 15 f0 c1 41 00    	call   *0x41c1f0
4042b4:	89 46 10             	mov    %eax,0x10(%esi)
4042b7:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4042bb:	8b c6                	mov    %esi,%eax
4042bd:	5f                   	pop    %edi
4042be:	5e                   	pop    %esi
4042bf:	33 cc                	xor    %esp,%ecx
4042c1:	e8 2f 49 00 00       	call   0x408bf5
4042c6:	8b e5                	mov    %ebp,%esp
4042c8:	5d                   	pop    %ebp
4042c9:	c2 10 00             	ret    $0x10
4042cc:	56                   	push   %esi
4042cd:	8b f1                	mov    %ecx,%esi
4042cf:	8d 4e 10             	lea    0x10(%esi),%ecx
4042d2:	c7 01 bc 33 42 00    	movl   $0x4233bc,(%ecx)
4042d8:	e8 03 fe ff ff       	call   0x4040e0
4042dd:	8b 0e                	mov    (%esi),%ecx
4042df:	83 e9 10             	sub    $0x10,%ecx
4042e2:	5e                   	pop    %esi
4042e3:	e9 1a d0 ff ff       	jmp    0x401302
4042e8:	56                   	push   %esi
4042e9:	8b f1                	mov    %ecx,%esi
4042eb:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
4042ef:	74 37                	je     0x404328
4042f1:	ff 76 0c             	push   0xc(%esi)
4042f4:	ff 15 e4 c1 41 00    	call   *0x41c1e4
4042fa:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
4042fe:	74 1b                	je     0x40431b
404300:	68 e8 03 00 00       	push   $0x3e8
404305:	ff 76 10             	push   0x10(%esi)
404308:	ff 15 e0 c1 41 00    	call   *0x41c1e0
40430e:	ff 76 10             	push   0x10(%esi)
404311:	ff 15 00 c1 41 00    	call   *0x41c100
404317:	83 66 10 00          	andl   $0x0,0x10(%esi)
40431b:	ff 76 0c             	push   0xc(%esi)
40431e:	ff 15 00 c1 41 00    	call   *0x41c100
404324:	83 66 0c 00          	andl   $0x0,0xc(%esi)
404328:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40432c:	74 0d                	je     0x40433b
40432e:	ff 76 18             	push   0x18(%esi)
404331:	ff 15 00 c1 41 00    	call   *0x41c100
404337:	83 66 18 00          	andl   $0x0,0x18(%esi)
40433b:	5e                   	pop    %esi
40433c:	c3                   	ret
40433d:	cc                   	int3
40433e:	cc                   	int3
40433f:	cc                   	int3
404340:	55                   	push   %ebp
404341:	8b ec                	mov    %esp,%ebp
404343:	56                   	push   %esi
404344:	8b 75 08             	mov    0x8(%ebp),%esi
404347:	57                   	push   %edi
404348:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
40434c:	8b 0e                	mov    (%esi),%ecx
40434e:	74 09                	je     0x404359
404350:	8b 46 04             	mov    0x4(%esi),%eax
404353:	3b c8                	cmp    %eax,%ecx
404355:	76 02                	jbe    0x404359
404357:	8b c8                	mov    %eax,%ecx
404359:	8b 06                	mov    (%esi),%eax
40435b:	2b c1                	sub    %ecx,%eax
40435d:	39 06                	cmp    %eax,(%esi)
40435f:	51                   	push   %ecx
404360:	ff 76 0c             	push   0xc(%esi)
404363:	1b ff                	sbb    %edi,%edi
404365:	f7 d7                	not    %edi
404367:	23 f8                	and    %eax,%edi
404369:	ff 15 e0 c1 41 00    	call   *0x41c1e0
40436f:	85 c0                	test   %eax,%eax
404371:	74 3d                	je     0x4043b0
404373:	3d 02 01 00 00       	cmp    $0x102,%eax
404378:	75 3f                	jne    0x4043b9
40437a:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40437e:	74 17                	je     0x404397
404380:	ff 76 18             	push   0x18(%esi)
404383:	ff 15 ec c1 41 00    	call   *0x41c1ec
404389:	57                   	push   %edi
40438a:	ff 76 0c             	push   0xc(%esi)
40438d:	ff 15 e0 c1 41 00    	call   *0x41c1e0
404393:	85 c0                	test   %eax,%eax
404395:	74 22                	je     0x4043b9
404397:	80 7e 15 00          	cmpb   $0x0,0x15(%esi)
40439b:	74 1c                	je     0x4043b9
40439d:	8b 76 08             	mov    0x8(%esi),%esi
4043a0:	ff 15 54 c1 41 00    	call   *0x41c154
4043a6:	56                   	push   %esi
4043a7:	50                   	push   %eax
4043a8:	ff 15 50 c1 41 00    	call   *0x41c150
4043ae:	eb 09                	jmp    0x4043b9
4043b0:	ff 76 0c             	push   0xc(%esi)
4043b3:	ff 15 e4 c1 41 00    	call   *0x41c1e4
4043b9:	5f                   	pop    %edi
4043ba:	33 c0                	xor    %eax,%eax
4043bc:	5e                   	pop    %esi
4043bd:	5d                   	pop    %ebp
4043be:	c2 04 00             	ret    $0x4
4043c1:	ff 31                	push   (%ecx)
4043c3:	ff 71 04             	push   0x4(%ecx)
4043c6:	ff 15 b8 c1 41 00    	call   *0x41c1b8
4043cc:	85 c0                	test   %eax,%eax
4043ce:	75 01                	jne    0x4043d1
4043d0:	c3                   	ret
4043d1:	50                   	push   %eax
4043d2:	ff 15 ac c1 41 00    	call   *0x41c1ac
4043d8:	c3                   	ret
4043d9:	cc                   	int3
4043da:	cc                   	int3
4043db:	cc                   	int3
4043dc:	cc                   	int3
4043dd:	cc                   	int3
4043de:	cc                   	int3
4043df:	cc                   	int3
4043e0:	55                   	push   %ebp
4043e1:	8b ec                	mov    %esp,%ebp
4043e3:	56                   	push   %esi
4043e4:	8b f1                	mov    %ecx,%esi
4043e6:	c7 06 c4 33 42 00    	movl   $0x4233c4,(%esi)
4043ec:	e8 bd 00 00 00       	call   0x4044ae
4043f1:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4043f5:	74 0a                	je     0x404401
4043f7:	6a 1c                	push   $0x1c
4043f9:	56                   	push   %esi
4043fa:	e8 f1 4d 01 00       	call   0x4191f0
4043ff:	59                   	pop    %ecx
404400:	59                   	pop    %ecx
404401:	8b c6                	mov    %esi,%eax
404403:	5e                   	pop    %esi
404404:	5d                   	pop    %ebp
404405:	c2 04 00             	ret    $0x4
404408:	55                   	push   %ebp
404409:	8b ec                	mov    %esp,%ebp
40440b:	83 ec 20             	sub    $0x20,%esp
40440e:	a1 18 60 42 00       	mov    0x426018,%eax
404413:	33 c5                	xor    %ebp,%eax
404415:	89 45 fc             	mov    %eax,-0x4(%ebp)
404418:	53                   	push   %ebx
404419:	56                   	push   %esi
40441a:	8b 75 08             	mov    0x8(%ebp),%esi
40441d:	8b d9                	mov    %ecx,%ebx
40441f:	57                   	push   %edi
404420:	e8 89 00 00 00       	call   0x4044ae
404425:	33 ff                	xor    %edi,%edi
404427:	57                   	push   %edi
404428:	68 80 00 00 00       	push   $0x80
40442d:	6a 03                	push   $0x3
40442f:	57                   	push   %edi
404430:	6a 01                	push   $0x1
404432:	68 00 00 00 80       	push   $0x80000000
404437:	56                   	push   %esi
404438:	ff 15 fc c0 41 00    	call   *0x41c0fc
40443e:	89 43 04             	mov    %eax,0x4(%ebx)
404441:	83 f8 ff             	cmp    $0xffffffff,%eax
404444:	74 55                	je     0x40449b
404446:	57                   	push   %edi
404447:	57                   	push   %edi
404448:	57                   	push   %edi
404449:	6a 02                	push   $0x2
40444b:	57                   	push   %edi
40444c:	50                   	push   %eax
40444d:	ff 15 f8 c1 41 00    	call   *0x41c1f8
404453:	89 43 08             	mov    %eax,0x8(%ebx)
404456:	85 c0                	test   %eax,%eax
404458:	74 3a                	je     0x404494
40445a:	57                   	push   %edi
40445b:	57                   	push   %edi
40445c:	57                   	push   %edi
40445d:	6a 04                	push   $0x4
40445f:	50                   	push   %eax
404460:	ff 15 fc c1 41 00    	call   *0x41c1fc
404466:	8b d0                	mov    %eax,%edx
404468:	89 53 0c             	mov    %edx,0xc(%ebx)
40446b:	85 d2                	test   %edx,%edx
40446d:	74 25                	je     0x404494
40446f:	6a 07                	push   $0x7
404471:	59                   	pop    %ecx
404472:	33 c0                	xor    %eax,%eax
404474:	8d 7d e0             	lea    -0x20(%ebp),%edi
404477:	f3 ab                	rep stos %eax,%es:(%edi)
404479:	6a 1c                	push   $0x1c
40447b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40447e:	51                   	push   %ecx
40447f:	52                   	push   %edx
404480:	ff 15 00 c2 41 00    	call   *0x41c200
404486:	85 c0                	test   %eax,%eax
404488:	74 0a                	je     0x404494
40448a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40448d:	b0 01                	mov    $0x1,%al
40448f:	89 4b 10             	mov    %ecx,0x10(%ebx)
404492:	eb 09                	jmp    0x40449d
404494:	8b cb                	mov    %ebx,%ecx
404496:	e8 13 00 00 00       	call   0x4044ae
40449b:	32 c0                	xor    %al,%al