40412a:	72 04                	jb     0x404130
40412c:	8b 31                	mov    (%ecx),%esi
40412e:	eb 02                	jmp    0x404132
404130:	8b f1                	mov    %ecx,%esi
404132:	8b 41 10             	mov    0x10(%ecx),%eax
404135:	03 c6                	add    %esi,%eax
404137:	5e                   	pop    %esi
404138:	3b c2                	cmp    %edx,%eax
40413a:	76 04                	jbe    0x404140
40413c:	b0 01                	mov    $0x1,%al
40413e:	eb 02                	jmp    0x404142
404140:	32 c0                	xor    %al,%al
404142:	5d                   	pop    %ebp
404143:	c2 04 00             	ret    $0x4
404146:	8b ff                	mov    %edi,%edi
404148:	55                   	push   %ebp
404149:	8b ec                	mov    %esp,%ebp
40414b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40414f:	56                   	push   %esi
404150:	57                   	push   %edi
404151:	8b 7d 0c             	mov    0xc(%ebp),%edi
404154:	8b f1                	mov    %ecx,%esi
404156:	74 20                	je     0x404178
404158:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
40415c:	72 1a                	jb     0x404178
40415e:	53                   	push   %ebx
40415f:	8b 1e                	mov    (%esi),%ebx
404161:	85 ff                	test   %edi,%edi
404163:	74 0b                	je     0x404170
404165:	57                   	push   %edi
404166:	53                   	push   %ebx
404167:	56                   	push   %esi
404168:	e8 3c 09 00 00       	call   0x404aa9
40416d:	83 c4 0c             	add    $0xc,%esp
404170:	53                   	push   %ebx
404171:	e8 7e e7 ff ff       	call   0x4028f4
404176:	59                   	pop    %ecx
404177:	5b                   	pop    %ebx
404178:	89 7e 10             	mov    %edi,0x10(%esi)
40417b:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
404182:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
404186:	5f                   	pop    %edi
404187:	5e                   	pop    %esi
404188:	5d                   	pop    %ebp
404189:	c2 08 00             	ret    $0x8
40418c:	8b ff                	mov    %edi,%edi
40418e:	55                   	push   %ebp
40418f:	8b ec                	mov    %esp,%ebp
404191:	83 ec 0c             	sub    $0xc,%esp
404194:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404197:	e8 e5 fc ff ff       	call   0x403e81
40419c:	68 d8 55 40 00       	push   $0x4055d8
4041a1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4041a4:	50                   	push   %eax
4041a5:	e8 7c 08 00 00       	call   0x404a26
4041aa:	cc                   	int3
4041ab:	68 6c 18 40 00       	push   $0x40186c
4041b0:	e8 01 00 00 00       	call   0x4041b6
4041b5:	cc                   	int3
4041b6:	8b ff                	mov    %edi,%edi
4041b8:	55                   	push   %ebp
4041b9:	8b ec                	mov    %esp,%ebp
4041bb:	83 ec 0c             	sub    $0xc,%esp
4041be:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4041c1:	ff 75 08             	push   0x8(%ebp)
4041c4:	e8 08 fd ff ff       	call   0x403ed1
4041c9:	68 48 56 40 00       	push   $0x405648
4041ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4041d1:	50                   	push   %eax
4041d2:	e8 4f 08 00 00       	call   0x404a26
4041d7:	cc                   	int3
4041d8:	8b ff                	mov    %edi,%edi
4041da:	55                   	push   %ebp
4041db:	8b ec                	mov    %esp,%ebp
4041dd:	83 ec 0c             	sub    $0xc,%esp
4041e0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4041e3:	ff 75 08             	push   0x8(%ebp)
4041e6:	e8 e6 fc ff ff       	call   0x403ed1
4041eb:	68 84 56 40 00       	push   $0x405684
4041f0:	8d 45 f4             	lea    -0xc(%ebp),%eax
4041f3:	50                   	push   %eax
4041f4:	e8 2d 08 00 00       	call   0x404a26
4041f9:	cc                   	int3
4041fa:	68 54 18 40 00       	push   $0x401854
4041ff:	e8 d4 ff ff ff       	call   0x4041d8
404204:	cc                   	int3
404205:	8b ff                	mov    %edi,%edi
404207:	55                   	push   %ebp
404208:	8b ec                	mov    %esp,%ebp
40420a:	8b 45 0c             	mov    0xc(%ebp),%eax
40420d:	53                   	push   %ebx
40420e:	8b 5d 08             	mov    0x8(%ebp),%ebx
404211:	56                   	push   %esi
404212:	57                   	push   %edi
404213:	8b f1                	mov    %ecx,%esi
404215:	8b 7b 10             	mov    0x10(%ebx),%edi
404218:	3b f8                	cmp    %eax,%edi
40421a:	72 79                	jb     0x404295
40421c:	2b f8                	sub    %eax,%edi
40421e:	39 7d 10             	cmp    %edi,0x10(%ebp)
404221:	73 03                	jae    0x404226
404223:	8b 7d 10             	mov    0x10(%ebp),%edi
404226:	3b f3                	cmp    %ebx,%esi
404228:	75 17                	jne    0x404241
40422a:	03 c7                	add    %edi,%eax
40422c:	50                   	push   %eax
40422d:	e8 91 01 00 00       	call   0x4043c3
404232:	8b 45 0c             	mov    0xc(%ebp),%eax
404235:	8b ce                	mov    %esi,%ecx
404237:	50                   	push   %eax
404238:	6a 00                	push   $0x0
40423a:	e8 b0 01 00 00       	call   0x4043ef
40423f:	eb 4b                	jmp    0x40428c
404241:	6a 00                	push   $0x0
404243:	57                   	push   %edi
404244:	e8 62 fe ff ff       	call   0x4040ab
404249:	84 c0                	test   %al,%al
40424b:	74 3f                	je     0x40428c
40424d:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
404251:	72 02                	jb     0x404255
404253:	8b 1b                	mov    (%ebx),%ebx
404255:	8b 46 14             	mov    0x14(%esi),%eax
404258:	83 f8 10             	cmp    $0x10,%eax
40425b:	72 04                	jb     0x404261
40425d:	8b 0e                	mov    (%esi),%ecx
40425f:	eb 02                	jmp    0x404263
404261:	8b ce                	mov    %esi,%ecx
404263:	85 ff                	test   %edi,%edi
404265:	74 13                	je     0x40427a
404267:	8b 45 0c             	mov    0xc(%ebp),%eax
40426a:	57                   	push   %edi
40426b:	03 c3                	add    %ebx,%eax
40426d:	50                   	push   %eax
40426e:	51                   	push   %ecx
40426f:	e8 35 08 00 00       	call   0x404aa9
404274:	8b 46 14             	mov    0x14(%esi),%eax
404277:	83 c4 0c             	add    $0xc,%esp
40427a:	89 7e 10             	mov    %edi,0x10(%esi)
40427d:	83 f8 10             	cmp    $0x10,%eax
404280:	72 04                	jb     0x404286
404282:	8b 06                	mov    (%esi),%eax
404284:	eb 02                	jmp    0x404288
404286:	8b c6                	mov    %esi,%eax
404288:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
40428c:	5f                   	pop    %edi
40428d:	8b c6                	mov    %esi,%eax
40428f:	5e                   	pop    %esi
404290:	5b                   	pop    %ebx
404291:	5d                   	pop    %ebp
404292:	c2 0c 00             	ret    $0xc
404295:	e8 60 ff ff ff       	call   0x4041fa
40429a:	cc                   	int3
40429b:	8b ff                	mov    %edi,%edi
40429d:	55                   	push   %ebp
40429e:	8b ec                	mov    %esp,%ebp
4042a0:	53                   	push   %ebx
4042a1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4042a4:	56                   	push   %esi
4042a5:	53                   	push   %ebx
4042a6:	8b f1                	mov    %ecx,%esi
4042a8:	e8 5c fe ff ff       	call   0x404109
4042ad:	84 c0                	test   %al,%al
4042af:	74 1c                	je     0x4042cd
4042b1:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4042b5:	72 04                	jb     0x4042bb
4042b7:	8b 06                	mov    (%esi),%eax
4042b9:	eb 02                	jmp    0x4042bd
4042bb:	8b c6                	mov    %esi,%eax
4042bd:	ff 75 0c             	push   0xc(%ebp)
4042c0:	2b d8                	sub    %eax,%ebx
4042c2:	8b ce                	mov    %esi,%ecx
4042c4:	53                   	push   %ebx
4042c5:	56                   	push   %esi
4042c6:	e8 3a ff ff ff       	call   0x404205
4042cb:	eb 47                	jmp    0x404314
4042cd:	57                   	push   %edi
4042ce:	8b 7d 0c             	mov    0xc(%ebp),%edi
4042d1:	8b ce                	mov    %esi,%ecx
4042d3:	6a 00                	push   $0x0
4042d5:	57                   	push   %edi
4042d6:	e8 d0 fd ff ff       	call   0x4040ab
4042db:	84 c0                	test   %al,%al
4042dd:	74 32                	je     0x404311
4042df:	8b 46 14             	mov    0x14(%esi),%eax
4042e2:	83 f8 10             	cmp    $0x10,%eax
4042e5:	72 04                	jb     0x4042eb
4042e7:	8b 0e                	mov    (%esi),%ecx
4042e9:	eb 02                	jmp    0x4042ed
4042eb:	8b ce                	mov    %esi,%ecx
4042ed:	85 ff                	test   %edi,%edi
4042ef:	74 0e                	je     0x4042ff
4042f1:	57                   	push   %edi
4042f2:	53                   	push   %ebx
4042f3:	51                   	push   %ecx
4042f4:	e8 b0 07 00 00       	call   0x404aa9
4042f9:	8b 46 14             	mov    0x14(%esi),%eax
4042fc:	83 c4 0c             	add    $0xc,%esp
4042ff:	89 7e 10             	mov    %edi,0x10(%esi)
404302:	83 f8 10             	cmp    $0x10,%eax
404305:	72 04                	jb     0x40430b
404307:	8b 06                	mov    (%esi),%eax
404309:	eb 02                	jmp    0x40430d
40430b:	8b c6                	mov    %esi,%eax
40430d:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
404311:	8b c6                	mov    %esi,%eax
404313:	5f                   	pop    %edi
404314:	5e                   	pop    %esi
404315:	5b                   	pop    %ebx
404316:	5d                   	pop    %ebp
404317:	c2 08 00             	ret    $0x8
40431a:	cc                   	int3
40431b:	cc                   	int3
40431c:	cc                   	int3
40431d:	cc                   	int3
40431e:	cc                   	int3
40431f:	cc                   	int3
404320:	8b ff                	mov    %edi,%edi
404322:	55                   	push   %ebp
404323:	8b ec                	mov    %esp,%ebp
404325:	56                   	push   %esi
404326:	8b 75 0c             	mov    0xc(%ebp),%esi
404329:	56                   	push   %esi
40432a:	e8 27 02 00 00       	call   0x404556
40432f:	59                   	pop    %ecx
404330:	8b 4d 08             	mov    0x8(%ebp),%ecx
404333:	85 c0                	test   %eax,%eax
404335:	8b c1                	mov    %ecx,%eax
404337:	89 31                	mov    %esi,(%ecx)
404339:	5e                   	pop    %esi
40433a:	74 09                	je     0x404345
40433c:	c7 41 04 00 80 40 00 	movl   $0x408000,0x4(%ecx)
404343:	eb 07                	jmp    0x40434c
404345:	c7 41 04 08 80 40 00 	movl   $0x408008,0x4(%ecx)
40434c:	5d                   	pop    %ebp
40434d:	c2 08 00             	ret    $0x8
404350:	8b ff                	mov    %edi,%edi
404352:	55                   	push   %ebp
404353:	8b ec                	mov    %esp,%ebp
404355:	8b 45 08             	mov    0x8(%ebp),%eax
404358:	8b 55 0c             	mov    0xc(%ebp),%edx
40435b:	89 10                	mov    %edx,(%eax)
40435d:	89 48 04             	mov    %ecx,0x4(%eax)
404360:	5d                   	pop    %ebp
404361:	c2 08 00             	ret    $0x8
404364:	cc                   	int3
404365:	cc                   	int3
404366:	cc                   	int3
404367:	cc                   	int3
404368:	cc                   	int3
404369:	cc                   	int3
40436a:	cc                   	int3
40436b:	cc                   	int3
40436c:	cc                   	int3
40436d:	cc                   	int3
40436e:	cc                   	int3
40436f:	cc                   	int3
404370:	8b ff                	mov    %edi,%edi
404372:	55                   	push   %ebp
404373:	8b ec                	mov    %esp,%ebp
404375:	8b 45 08             	mov    0x8(%ebp),%eax
404378:	3b 48 04             	cmp    0x4(%eax),%ecx
40437b:	75 0b                	jne    0x404388
40437d:	8b 00                	mov    (%eax),%eax
40437f:	3b 45 0c             	cmp    0xc(%ebp),%eax
404382:	75 04                	jne    0x404388
404384:	b0 01                	mov    $0x1,%al
404386:	eb 02                	jmp    0x40438a
404388:	32 c0                	xor    %al,%al
40438a:	5d                   	pop    %ebp
40438b:	c2 08 00             	ret    $0x8
40438e:	cc                   	int3
40438f:	cc                   	int3
404390:	8b ff                	mov    %edi,%edi
404392:	55                   	push   %ebp
404393:	8b ec                	mov    %esp,%ebp
404395:	51                   	push   %ecx
404396:	51                   	push   %ecx
404397:	56                   	push   %esi
404398:	57                   	push   %edi
404399:	ff 75 0c             	push   0xc(%ebp)
40439c:	8b f9                	mov    %ecx,%edi
40439e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4043a1:	ff 75 08             	push   0x8(%ebp)
4043a4:	51                   	push   %ecx
4043a5:	8b 07                	mov    (%edi),%eax
4043a7:	8b 70 0c             	mov    0xc(%eax),%esi
4043aa:	8b ce                	mov    %esi,%ecx
4043ac:	ff 15 5c 91 40 00    	call   *0x40915c
4043b2:	8b cf                	mov    %edi,%ecx
4043b4:	ff d6                	call   *%esi
4043b6:	8b c8                	mov    %eax,%ecx
4043b8:	e8 58 fb ff ff       	call   0x403f15
4043bd:	5f                   	pop    %edi
4043be:	5e                   	pop    %esi
4043bf:	c9                   	leave
4043c0:	c2 08 00             	ret    $0x8
4043c3:	8b ff                	mov    %edi,%edi
4043c5:	55                   	push   %ebp
4043c6:	8b ec                	mov    %esp,%ebp
4043c8:	8b 45 08             	mov    0x8(%ebp),%eax
4043cb:	39 41 10             	cmp    %eax,0x10(%ecx)
4043ce:	72 19                	jb     0x4043e9
4043d0:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4043d4:	89 41 10             	mov    %eax,0x10(%ecx)
4043d7:	72 04                	jb     0x4043dd
4043d9:	8b 11                	mov    (%ecx),%edx
4043db:	eb 02                	jmp    0x4043df
4043dd:	8b d1                	mov    %ecx,%edx
4043df:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4043e3:	8b c1                	mov    %ecx,%eax
4043e5:	5d                   	pop    %ebp
4043e6:	c2 04 00             	ret    $0x4
4043e9:	e8 0c fe ff ff       	call   0x4041fa
4043ee:	cc                   	int3
4043ef:	8b ff                	mov    %edi,%edi
4043f1:	55                   	push   %ebp
4043f2:	8b ec                	mov    %esp,%ebp
4043f4:	51                   	push   %ecx
4043f5:	56                   	push   %esi
4043f6:	8b f1                	mov    %ecx,%esi
4043f8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4043fb:	57                   	push   %edi
4043fc:	8b 7e 10             	mov    0x10(%esi),%edi
4043ff:	3b f9                	cmp    %ecx,%edi
404401:	72 6d                	jb     0x404470
404403:	8b 55 0c             	mov    0xc(%ebp),%edx
404406:	8b c7                	mov    %edi,%eax
404408:	2b c1                	sub    %ecx,%eax
40440a:	3b c2                	cmp    %edx,%eax
40440c:	77 15                	ja     0x404423
40440e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404412:	89 4e 10             	mov    %ecx,0x10(%esi)
404415:	72 04                	jb     0x40441b
404417:	8b 06                	mov    (%esi),%eax
404419:	eb 02                	jmp    0x40441d
40441b:	8b c6                	mov    %esi,%eax
40441d:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
404421:	eb 45                	jmp    0x404468
404423:	85 d2                	test   %edx,%edx
404425:	74 41                	je     0x404468
404427:	8b 46 14             	mov    0x14(%esi),%eax
40442a:	53                   	push   %ebx
40442b:	83 f8 10             	cmp    $0x10,%eax
40442e:	72 04                	jb     0x404434
404430:	8b 1e                	mov    (%esi),%ebx
404432:	eb 02                	jmp    0x404436
404434:	8b de                	mov    %esi,%ebx
404436:	2b fa                	sub    %edx,%edi
404438:	03 d9                	add    %ecx,%ebx
40443a:	89 7d fc             	mov    %edi,-0x4(%ebp)