4100ac:	83 fe fd             	cmp    $0xfffffffd,%esi
4100af:	75 12                	jne    0x4100c3
4100b1:	c7 05 24 e3 41 00 01 	movl   $0x1,0x41e324
4100b8:	00 00 00
4100bb:	ff 15 60 71 41 00    	call   *0x417160
4100c1:	eb db                	jmp    0x41009e
4100c3:	83 fe fc             	cmp    $0xfffffffc,%esi
4100c6:	75 12                	jne    0x4100da
4100c8:	8b 45 f0             	mov    -0x10(%ebp),%eax
4100cb:	8b 40 04             	mov    0x4(%eax),%eax
4100ce:	c7 05 24 e3 41 00 01 	movl   $0x1,0x41e324
4100d5:	00 00 00
4100d8:	eb c4                	jmp    0x41009e
4100da:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4100dd:	74 07                	je     0x4100e6
4100df:	8b 45 f8             	mov    -0x8(%ebp),%eax
4100e2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4100e6:	8b c6                	mov    %esi,%eax
4100e8:	5b                   	pop    %ebx
4100e9:	c9                   	leave
4100ea:	c3                   	ret
4100eb:	55                   	push   %ebp
4100ec:	8b ec                	mov    %esp,%ebp
4100ee:	83 ec 20             	sub    $0x20,%esp
4100f1:	a1 20 c5 41 00       	mov    0x41c520,%eax
4100f6:	33 c5                	xor    %ebp,%eax
4100f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4100fb:	53                   	push   %ebx
4100fc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4100ff:	56                   	push   %esi
410100:	8b 75 08             	mov    0x8(%ebp),%esi
410103:	57                   	push   %edi
410104:	e8 68 ff ff ff       	call   0x410071
410109:	8b f8                	mov    %eax,%edi
41010b:	33 f6                	xor    %esi,%esi
41010d:	3b fe                	cmp    %esi,%edi
41010f:	89 7d 08             	mov    %edi,0x8(%ebp)
410112:	75 0e                	jne    0x410122
410114:	8b c3                	mov    %ebx,%eax
410116:	e8 d3 fc ff ff       	call   0x40fdee
41011b:	33 c0                	xor    %eax,%eax
41011d:	e9 65 01 00 00       	jmp    0x410287
410122:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410125:	33 c0                	xor    %eax,%eax
410127:	39 b8 48 d0 41 00    	cmp    %edi,0x41d048(%eax)
41012d:	74 67                	je     0x410196
41012f:	ff 45 e4             	incl   -0x1c(%ebp)
410132:	83 c0 30             	add    $0x30,%eax
410135:	3d f0 00 00 00       	cmp    $0xf0,%eax
41013a:	72 eb                	jb     0x410127
41013c:	8d 45 e8             	lea    -0x18(%ebp),%eax
41013f:	50                   	push   %eax
410140:	57                   	push   %edi
410141:	ff 15 e0 70 41 00    	call   *0x4170e0
410147:	85 c0                	test   %eax,%eax
410149:	0f 84 29 01 00 00    	je     0x410278
41014f:	68 01 01 00 00       	push   $0x101
410154:	8d 43 1c             	lea    0x1c(%ebx),%eax
410157:	56                   	push   %esi
410158:	50                   	push   %eax
410159:	e8 f2 59 ff ff       	call   0x405b50
41015e:	33 d2                	xor    %edx,%edx
410160:	42                   	inc    %edx
410161:	83 c4 0c             	add    $0xc,%esp
410164:	39 55 e8             	cmp    %edx,-0x18(%ebp)
410167:	89 7b 04             	mov    %edi,0x4(%ebx)
41016a:	89 73 0c             	mov    %esi,0xc(%ebx)
41016d:	0f 86 f8 00 00 00    	jbe    0x41026b
410173:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
410177:	0f 84 cf 00 00 00    	je     0x41024c
41017d:	8d 75 ef             	lea    -0x11(%ebp),%esi
410180:	8a 0e                	mov    (%esi),%cl
410182:	84 c9                	test   %cl,%cl
410184:	0f 84 c2 00 00 00    	je     0x41024c
41018a:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
41018e:	0f b6 c9             	movzbl %cl,%ecx
410191:	e9 a6 00 00 00       	jmp    0x41023c
410196:	68 01 01 00 00       	push   $0x101
41019b:	8d 43 1c             	lea    0x1c(%ebx),%eax
41019e:	56                   	push   %esi
41019f:	50                   	push   %eax
4101a0:	e8 ab 59 ff ff       	call   0x405b50
4101a5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4101a8:	83 c4 0c             	add    $0xc,%esp
4101ab:	6b c9 30             	imul   $0x30,%ecx,%ecx
4101ae:	89 75 e0             	mov    %esi,-0x20(%ebp)
4101b1:	8d b1 58 d0 41 00    	lea    0x41d058(%ecx),%esi
4101b7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4101ba:	eb 2a                	jmp    0x4101e6
4101bc:	8a 46 01             	mov    0x1(%esi),%al
4101bf:	84 c0                	test   %al,%al
4101c1:	74 28                	je     0x4101eb
4101c3:	0f b6 3e             	movzbl (%esi),%edi
4101c6:	0f b6 c0             	movzbl %al,%eax
4101c9:	eb 12                	jmp    0x4101dd
4101cb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4101ce:	8a 80 44 d0 41 00    	mov    0x41d044(%eax),%al
4101d4:	08 44 3b 1d          	or     %al,0x1d(%ebx,%edi,1)
4101d8:	0f b6 46 01          	movzbl 0x1(%esi),%eax
4101dc:	47                   	inc    %edi
4101dd:	3b f8                	cmp    %eax,%edi
4101df:	76 ea                	jbe    0x4101cb
4101e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4101e4:	46                   	inc    %esi
4101e5:	46                   	inc    %esi
4101e6:	80 3e 00             	cmpb   $0x0,(%esi)
4101e9:	75 d1                	jne    0x4101bc
4101eb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4101ee:	ff 45 e0             	incl   -0x20(%ebp)
4101f1:	83 c6 08             	add    $0x8,%esi
4101f4:	83 7d e0 04          	cmpl   $0x4,-0x20(%ebp)
4101f8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4101fb:	72 e9                	jb     0x4101e6
4101fd:	8b c7                	mov    %edi,%eax
4101ff:	89 7b 04             	mov    %edi,0x4(%ebx)
410202:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
410209:	e8 b1 fb ff ff       	call   0x40fdbf
41020e:	6a 06                	push   $0x6
410210:	89 43 0c             	mov    %eax,0xc(%ebx)
410213:	8d 43 10             	lea    0x10(%ebx),%eax
410216:	8d 89 4c d0 41 00    	lea    0x41d04c(%ecx),%ecx
41021c:	5a                   	pop    %edx
41021d:	66 8b 31             	mov    (%ecx),%si
410220:	41                   	inc    %ecx
410221:	66 89 30             	mov    %si,(%eax)
410224:	41                   	inc    %ecx
410225:	40                   	inc    %eax
410226:	40                   	inc    %eax
410227:	4a                   	dec    %edx
410228:	75 f3                	jne    0x41021d
41022a:	8b f3                	mov    %ebx,%esi
41022c:	e8 12 fc ff ff       	call   0x40fe43
410231:	e9 e5 fe ff ff       	jmp    0x41011b
410236:	80 4c 03 1d 04       	orb    $0x4,0x1d(%ebx,%eax,1)
41023b:	40                   	inc    %eax
41023c:	3b c1                	cmp    %ecx,%eax
41023e:	76 f6                	jbe    0x410236
410240:	46                   	inc    %esi
410241:	46                   	inc    %esi
410242:	80 7e ff 00          	cmpb   $0x0,-0x1(%esi)
410246:	0f 85 34 ff ff ff    	jne    0x410180
41024c:	8d 43 1e             	lea    0x1e(%ebx),%eax
41024f:	b9 fe 00 00 00       	mov    $0xfe,%ecx
410254:	80 08 08             	orb    $0x8,(%eax)
410257:	40                   	inc    %eax
410258:	49                   	dec    %ecx
410259:	75 f9                	jne    0x410254
41025b:	8b 43 04             	mov    0x4(%ebx),%eax
41025e:	e8 5c fb ff ff       	call   0x40fdbf
410263:	89 43 0c             	mov    %eax,0xc(%ebx)
410266:	89 53 08             	mov    %edx,0x8(%ebx)
410269:	eb 03                	jmp    0x41026e
41026b:	89 73 08             	mov    %esi,0x8(%ebx)
41026e:	33 c0                	xor    %eax,%eax
410270:	8d 7b 10             	lea    0x10(%ebx),%edi
410273:	ab                   	stos   %eax,%es:(%edi)
410274:	ab                   	stos   %eax,%es:(%edi)
410275:	ab                   	stos   %eax,%es:(%edi)
410276:	eb b2                	jmp    0x41022a
410278:	39 35 24 e3 41 00    	cmp    %esi,0x41e324
41027e:	0f 85 90 fe ff ff    	jne    0x410114
410284:	83 c8 ff             	or     $0xffffffff,%eax
410287:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41028a:	5f                   	pop    %edi
41028b:	5e                   	pop    %esi
41028c:	33 cd                	xor    %ebp,%ecx
41028e:	5b                   	pop    %ebx
41028f:	e8 a1 5c ff ff       	call   0x405f35
410294:	c9                   	leave
410295:	c3                   	ret
410296:	6a 14                	push   $0x14
410298:	68 18 ae 41 00       	push   $0x41ae18
41029d:	e8 a6 d3 ff ff       	call   0x40d648
4102a2:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
4102a6:	e8 a1 c2 ff ff       	call   0x40c54c
4102ab:	8b f8                	mov    %eax,%edi
4102ad:	89 7d dc             	mov    %edi,-0x24(%ebp)
4102b0:	e8 18 fd ff ff       	call   0x40ffcd
4102b5:	8b 5f 68             	mov    0x68(%edi),%ebx
4102b8:	8b 75 08             	mov    0x8(%ebp),%esi
4102bb:	e8 b1 fd ff ff       	call   0x410071
4102c0:	89 45 08             	mov    %eax,0x8(%ebp)
4102c3:	3b 43 04             	cmp    0x4(%ebx),%eax
4102c6:	0f 84 57 01 00 00    	je     0x410423
4102cc:	68 20 02 00 00       	push   $0x220
4102d1:	e8 16 90 ff ff       	call   0x4092ec
4102d6:	59                   	pop    %ecx
4102d7:	8b d8                	mov    %eax,%ebx
4102d9:	85 db                	test   %ebx,%ebx
4102db:	0f 84 46 01 00 00    	je     0x410427
4102e1:	b9 88 00 00 00       	mov    $0x88,%ecx
4102e6:	8b 77 68             	mov    0x68(%edi),%esi
4102e9:	8b fb                	mov    %ebx,%edi
4102eb:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4102ed:	83 23 00             	andl   $0x0,(%ebx)
4102f0:	53                   	push   %ebx
4102f1:	ff 75 08             	push   0x8(%ebp)
4102f4:	e8 f2 fd ff ff       	call   0x4100eb
4102f9:	59                   	pop    %ecx
4102fa:	59                   	pop    %ecx
4102fb:	89 45 e0             	mov    %eax,-0x20(%ebp)
4102fe:	85 c0                	test   %eax,%eax
410300:	0f 85 fc 00 00 00    	jne    0x410402
410306:	8b 75 dc             	mov    -0x24(%ebp),%esi
410309:	ff 76 68             	push   0x68(%esi)
41030c:	ff 15 98 70 41 00    	call   *0x417098
410312:	85 c0                	test   %eax,%eax
410314:	75 11                	jne    0x410327
410316:	8b 46 68             	mov    0x68(%esi),%eax
410319:	3d 18 cc 41 00       	cmp    $0x41cc18,%eax
41031e:	74 07                	je     0x410327
410320:	50                   	push   %eax
410321:	e8 2d 61 ff ff       	call   0x406453
410326:	59                   	pop    %ecx
410327:	89 5e 68             	mov    %ebx,0x68(%esi)
41032a:	53                   	push   %ebx
41032b:	8b 3d 94 70 41 00    	mov    0x417094,%edi
410331:	ff d7                	call   *%edi
410333:	f6 46 70 02          	testb  $0x2,0x70(%esi)
410337:	0f 85 ea 00 00 00    	jne    0x410427
41033d:	f6 05 38 d1 41 00 01 	testb  $0x1,0x41d138
410344:	0f 85 dd 00 00 00    	jne    0x410427
41034a:	6a 0d                	push   $0xd
41034c:	e8 c6 c7 ff ff       	call   0x40cb17
410351:	59                   	pop    %ecx
410352:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410356:	8b 43 04             	mov    0x4(%ebx),%eax
410359:	a3 34 e3 41 00       	mov    %eax,0x41e334
41035e:	8b 43 08             	mov    0x8(%ebx),%eax
410361:	a3 38 e3 41 00       	mov    %eax,0x41e338
410366:	8b 43 0c             	mov    0xc(%ebx),%eax
410369:	a3 3c e3 41 00       	mov    %eax,0x41e33c
41036e:	33 c0                	xor    %eax,%eax
410370:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410373:	83 f8 05             	cmp    $0x5,%eax
410376:	7d 10                	jge    0x410388
410378:	66 8b 4c 43 10       	mov    0x10(%ebx,%eax,2),%cx
41037d:	66 89 0c 45 28 e3 41 	mov    %cx,0x41e328(,%eax,2)
410384:	00
410385:	40                   	inc    %eax
410386:	eb e8                	jmp    0x410370
410388:	33 c0                	xor    %eax,%eax
41038a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41038d:	3d 01 01 00 00       	cmp    $0x101,%eax
410392:	7d 0d                	jge    0x4103a1
410394:	8a 4c 18 1c          	mov    0x1c(%eax,%ebx,1),%cl
410398:	88 88 38 ce 41 00    	mov    %cl,0x41ce38(%eax)
41039e:	40                   	inc    %eax
41039f:	eb e9                	jmp    0x41038a
4103a1:	33 c0                	xor    %eax,%eax
4103a3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4103a6:	3d 00 01 00 00       	cmp    $0x100,%eax
4103ab:	7d 10                	jge    0x4103bd
4103ad:	8a 8c 18 1d 01 00 00 	mov    0x11d(%eax,%ebx,1),%cl
4103b4:	88 88 40 cf 41 00    	mov    %cl,0x41cf40(%eax)
4103ba:	40                   	inc    %eax
4103bb:	eb e6                	jmp    0x4103a3
4103bd:	ff 35 40 d0 41 00    	push   0x41d040
4103c3:	ff 15 98 70 41 00    	call   *0x417098
4103c9:	85 c0                	test   %eax,%eax
4103cb:	75 13                	jne    0x4103e0
4103cd:	a1 40 d0 41 00       	mov    0x41d040,%eax
4103d2:	3d 18 cc 41 00       	cmp    $0x41cc18,%eax
4103d7:	74 07                	je     0x4103e0
4103d9:	50                   	push   %eax
4103da:	e8 74 60 ff ff       	call   0x406453
4103df:	59                   	pop    %ecx
4103e0:	89 1d 40 d0 41 00    	mov    %ebx,0x41d040
4103e6:	53                   	push   %ebx
4103e7:	ff d7                	call   *%edi
4103e9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4103f0:	e8 02 00 00 00       	call   0x4103f7
4103f5:	eb 30                	jmp    0x410427
4103f7:	6a 0d                	push   $0xd
4103f9:	e8 41 c6 ff ff       	call   0x40ca3f
4103fe:	59                   	pop    %ecx
4103ff:	c3                   	ret
410400:	eb 25                	jmp    0x410427
410402:	83 f8 ff             	cmp    $0xffffffff,%eax
410405:	75 20                	jne    0x410427
410407:	81 fb 18 cc 41 00    	cmp    $0x41cc18,%ebx
41040d:	74 07                	je     0x410416
41040f:	53                   	push   %ebx
410410:	e8 3e 60 ff ff       	call   0x406453
410415:	59                   	pop    %ecx
410416:	e8 df 8f ff ff       	call   0x4093fa
41041b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
410421:	eb 04                	jmp    0x410427
410423:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
410427:	8b 45 e0             	mov    -0x20(%ebp),%eax
41042a:	e8 5e d2 ff ff       	call   0x40d68d
41042f:	c3                   	ret
410430:	83 3d cc e5 41 00 00 	cmpl   $0x0,0x41e5cc
410437:	75 12                	jne    0x41044b
410439:	6a fd                	push   $0xfffffffd
41043b:	e8 56 fe ff ff       	call   0x410296
410440:	59                   	pop    %ecx
410441:	c7 05 cc e5 41 00 01 	movl   $0x1,0x41e5cc
410448:	00 00 00
41044b:	33 c0                	xor    %eax,%eax
41044d:	c3                   	ret
41044e:	55                   	push   %ebp
41044f:	8b ec                	mov    %esp,%ebp
410451:	83 ec 0c             	sub    $0xc,%esp
410454:	a1 20 c5 41 00       	mov    0x41c520,%eax
410459:	33 c5                	xor    %ebp,%eax
41045b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41045e:	6a 06                	push   $0x6
410460:	8d 45 f4             	lea    -0xc(%ebp),%eax
410463:	50                   	push   %eax
410464:	68 04 10 00 00       	push   $0x1004
410469:	ff 75 08             	push   0x8(%ebp)
41046c:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
410470:	ff 15 68 71 41 00    	call   *0x417168
410476:	85 c0                	test   %eax,%eax
410478:	75 05                	jne    0x41047f
41047a:	83 c8 ff             	or     $0xffffffff,%eax
41047d:	eb 0a                	jmp    0x410489
41047f:	8d 45 f4             	lea    -0xc(%ebp),%eax
410482:	50                   	push   %eax
410483:	e8 2c 4a 00 00       	call   0x414eb4
410488:	59                   	pop    %ecx
410489:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41048c:	33 cd                	xor    %ebp,%ecx
41048e:	e8 a2 5a ff ff       	call   0x405f35
410493:	c9                   	leave
410494:	c3                   	ret
410495:	55                   	push   %ebp
410496:	8b ec                	mov    %esp,%ebp
410498:	83 ec 34             	sub    $0x34,%esp
41049b:	a1 20 c5 41 00       	mov    0x41c520,%eax
4104a0:	33 c5                	xor    %ebp,%eax
4104a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4104a5:	8b 45 10             	mov    0x10(%ebp),%eax
4104a8:	8b 4d 18             	mov    0x18(%ebp),%ecx
4104ab:	89 45 d8             	mov    %eax,-0x28(%ebp)
4104ae:	8b 45 14             	mov    0x14(%ebp),%eax
4104b1:	53                   	push   %ebx
4104b2:	89 45 d0             	mov    %eax,-0x30(%ebp)
4104b5:	8b 00                	mov    (%eax),%eax
4104b7:	56                   	push   %esi
4104b8:	89 45 dc             	mov    %eax,-0x24(%ebp)
4104bb:	8b 45 08             	mov    0x8(%ebp),%eax
4104be:	57                   	push   %edi
4104bf:	33 ff                	xor    %edi,%edi
4104c1:	3b 45 0c             	cmp    0xc(%ebp),%eax
4104c4:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4104c7:	89 7d e0             	mov    %edi,-0x20(%ebp)
4104ca:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4104cd:	0f 84 5f 01 00 00    	je     0x410632