00401000 <.text>:
401000:	b9 50 93 83 02       	mov    $0x2839350,%ecx
401005:	e8 dc 46 00 00       	call   0x4056e6
40100a:	68 2e 6c 42 00       	push   $0x426c2e
40100f:	e8 3d 5b 00 00       	call   0x406b51
401014:	59                   	pop    %ecx
401015:	c3                   	ret
401016:	68 38 6c 42 00       	push   $0x426c38
40101b:	e8 31 5b 00 00       	call   0x406b51
401020:	59                   	pop    %ecx
401021:	c3                   	ret
401022:	68 42 6c 42 00       	push   $0x426c42
401027:	e8 25 5b 00 00       	call   0x406b51
40102c:	59                   	pop    %ecx
40102d:	c3                   	ret
40102e:	68 4c 6c 42 00       	push   $0x426c4c
401033:	e8 19 5b 00 00       	call   0x406b51
401038:	59                   	pop    %ecx
401039:	c3                   	ret
40103a:	b9 c8 94 83 02       	mov    $0x28394c8,%ecx
40103f:	e8 a2 46 00 00       	call   0x4056e6
401044:	68 56 6c 42 00       	push   $0x426c56
401049:	e8 03 5b 00 00       	call   0x406b51
40104e:	59                   	pop    %ecx
40104f:	c3                   	ret
401050:	81 ec 74 05 00 00    	sub    $0x574,%esp
401056:	55                   	push   %ebp
401057:	bd 70 c7 43 00       	mov    $0x43c770,%ebp
40105c:	8b cd                	mov    %ebp,%ecx
40105e:	56                   	push   %esi
40105f:	8d 51 01             	lea    0x1(%ecx),%edx
401062:	8a 01                	mov    (%ecx),%al
401064:	41                   	inc    %ecx
401065:	84 c0                	test   %al,%al
401067:	75 f9                	jne    0x401062
401069:	2b ca                	sub    %edx,%ecx
40106b:	33 f6                	xor    %esi,%esi
40106d:	81 f9 7d 72 0d 00    	cmp    $0xd727d,%ecx
401073:	0f 85 bb 01 00 00    	jne    0x401234
401079:	55                   	push   %ebp
40107a:	ff 15 50 70 42 00    	call   *0x427050
401080:	3d dd 8f 01 00       	cmp    $0x18fdd,%eax
401085:	0f 85 a9 01 00 00    	jne    0x401234
40108b:	ff 74 24 10          	push   0x10(%esp)
40108f:	8d 44 24 14          	lea    0x14(%esp),%eax
401093:	50                   	push   %eax
401094:	8d 44 24 1c          	lea    0x1c(%esp),%eax
401098:	50                   	push   %eax
401099:	8d 44 24 24          	lea    0x24(%esp),%eax
40109d:	50                   	push   %eax
40109e:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4010a2:	50                   	push   %eax
4010a3:	8d 44 24 34          	lea    0x34(%esp),%eax
4010a7:	50                   	push   %eax
4010a8:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4010ac:	50                   	push   %eax
4010ad:	8d 44 24 44          	lea    0x44(%esp),%eax
4010b1:	50                   	push   %eax
4010b2:	56                   	push   %esi
4010b3:	8d 44 24 50          	lea    0x50(%esp),%eax
4010b7:	50                   	push   %eax
4010b8:	8d 84 24 8c 01 00 00 	lea    0x18c(%esp),%eax
4010bf:	50                   	push   %eax
4010c0:	56                   	push   %esi
4010c1:	ff 15 0c 70 42 00    	call   *0x42700c
4010c7:	56                   	push   %esi
4010c8:	56                   	push   %esi
4010c9:	ff 15 38 70 42 00    	call   *0x427038
4010cf:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
4010d6:	50                   	push   %eax
4010d7:	56                   	push   %esi
4010d8:	ff 15 e8 70 42 00    	call   *0x4270e8
4010de:	8d 44 24 30          	lea    0x30(%esp),%eax
4010e2:	50                   	push   %eax
4010e3:	ff 15 ac 70 42 00    	call   *0x4270ac
4010e9:	ff 15 c0 70 42 00    	call   *0x4270c0
4010ef:	8d 44 24 38          	lea    0x38(%esp),%eax
4010f3:	50                   	push   %eax
4010f4:	56                   	push   %esi
4010f5:	ff 15 f8 70 42 00    	call   *0x4270f8
4010fb:	8d 44 24 70          	lea    0x70(%esp),%eax
4010ff:	50                   	push   %eax
401100:	56                   	push   %esi
401101:	ff 15 34 72 42 00    	call   *0x427234
401107:	8d 44 24 08          	lea    0x8(%esp),%eax
40110b:	89 74 24 08          	mov    %esi,0x8(%esp)
40110f:	50                   	push   %eax
401110:	89 74 24 10          	mov    %esi,0x10(%esp)
401114:	ff 15 38 72 42 00    	call   *0x427238
40111a:	56                   	push   %esi
40111b:	ff 15 3c 72 42 00    	call   *0x42723c
401121:	56                   	push   %esi
401122:	ff 15 40 72 42 00    	call   *0x427240
401128:	56                   	push   %esi
401129:	ff 15 44 72 42 00    	call   *0x427244
40112f:	81 3d 84 6e 83 02 83 	cmpl   $0x1283,0x2836e84
401136:	12 00 00
401139:	75 07                	jne    0x401142
40113b:	56                   	push   %esi
40113c:	ff 15 18 70 42 00    	call   *0x427018
401142:	83 0d 24 93 83 02 ff 	orl    $0xffffffff,0x2839324
401149:	53                   	push   %ebx
40114a:	57                   	push   %edi
40114b:	68 2c 1d af 0a       	push   $0xaaf1d2c
401150:	68 9d 42 35 78       	push   $0x7835429d
401155:	c7 05 20 93 83 02 2a 	movl   $0xd28ed42a,0x2839320
40115c:	d4 8e d2
40115f:	e8 ee ab 00 00       	call   0x40bd52
401164:	bb 98 75 42 00       	mov    $0x427598,%ebx
401169:	53                   	push   %ebx
40116a:	e8 54 45 00 00       	call   0x4056c3
40116f:	53                   	push   %ebx
401170:	e8 4e 45 00 00       	call   0x4056c3
401175:	83 c4 10             	add    $0x10,%esp
401178:	8d 4c 24 60          	lea    0x60(%esp),%ecx
40117c:	bf 9c 75 42 00       	mov    $0x42759c,%edi
401181:	57                   	push   %edi
401182:	e8 00 17 00 00       	call   0x402887
401187:	56                   	push   %esi
401188:	56                   	push   %esi
401189:	e8 b4 ab 00 00       	call   0x40bd42
40118e:	59                   	pop    %ecx
40118f:	59                   	pop    %ecx
401190:	8d 4c 24 48          	lea    0x48(%esp),%ecx
401194:	e8 52 18 00 00       	call   0x4029eb
401199:	8d 4c 24 48          	lea    0x48(%esp),%ecx
40119d:	e8 50 3a 00 00       	call   0x404bf2
4011a2:	53                   	push   %ebx
4011a3:	e8 1b 45 00 00       	call   0x4056c3
4011a8:	59                   	pop    %ecx
4011a9:	6a 01                	push   $0x1
4011ab:	6a 03                	push   $0x3
4011ad:	8d 8c 24 c4 00 00 00 	lea    0xc4(%esp),%ecx
4011b4:	e8 60 17 00 00       	call   0x402919
4011b9:	8b d7                	mov    %edi,%edx
4011bb:	8d 8c 24 cc 00 00 00 	lea    0xcc(%esp),%ecx
4011c2:	e8 22 0d 00 00       	call   0x401ee9
4011c7:	8b d3                	mov    %ebx,%edx
4011c9:	8d 8c 24 cc 00 00 00 	lea    0xcc(%esp),%ecx
4011d0:	e8 b7 0f 00 00       	call   0x40218c
4011d5:	6a 30                	push   $0x30
4011d7:	56                   	push   %esi
4011d8:	57                   	push   %edi
4011d9:	68 a0 75 42 00       	push   $0x4275a0
4011de:	e8 63 44 00 00       	call   0x405646
4011e3:	57                   	push   %edi
4011e4:	55                   	push   %ebp
4011e5:	e8 79 44 00 00       	call   0x405663
4011ea:	53                   	push   %ebx
4011eb:	e8 d3 44 00 00       	call   0x4056c3
4011f0:	83 c4 1c             	add    $0x1c,%esp
4011f3:	8d 4c 24 54          	lea    0x54(%esp),%ecx
4011f7:	e8 ef 17 00 00       	call   0x4029eb
4011fc:	57                   	push   %edi
4011fd:	68 ac 75 42 00       	push   $0x4275ac
401202:	55                   	push   %ebp
401203:	e8 73 44 00 00       	call   0x40567b
401208:	83 c4 0c             	add    $0xc,%esp
40120b:	8d 4c 24 54          	lea    0x54(%esp),%ecx
40120f:	e8 a5 1d 00 00       	call   0x402fb9
401214:	8d 8c 24 bc 00 00 00 	lea    0xbc(%esp),%ecx
40121b:	e8 2e 20 00 00       	call   0x40324e
401220:	8d 4c 24 48          	lea    0x48(%esp),%ecx
401224:	e8 90 1d 00 00       	call   0x402fb9
401229:	8d 4c 24 60          	lea    0x60(%esp),%ecx
40122d:	e8 05 1d 00 00       	call   0x402f37
401232:	5f                   	pop    %edi
401233:	5b                   	pop    %ebx
401234:	8d 44 24 38          	lea    0x38(%esp),%eax
401238:	50                   	push   %eax
401239:	8d 44 24 0c          	lea    0xc(%esp),%eax
40123d:	50                   	push   %eax
40123e:	8d 44 24 38          	lea    0x38(%esp),%eax
401242:	50                   	push   %eax
401243:	e8 98 44 00 00       	call   0x4056e0
401248:	a1 1c 93 83 02       	mov    0x283931c,%eax
40124d:	33 c9                	xor    %ecx,%ecx
40124f:	81 3d 84 6e 83 02 60 	cmpl   $0x1160,0x2836e84
401256:	11 00 00
401259:	0f 44 c1             	cmove  %ecx,%eax
40125c:	a3 1c 93 83 02       	mov    %eax,0x283931c
401261:	81 fe 0e 66 08 00    	cmp    $0x8660e,%esi
401267:	7e 14                	jle    0x40127d
401269:	81 7c 24 70 4a 2b 4a 	cmpl   $0x7c4a2b4a,0x70(%esp)
401270:	7c
401271:	74 0a                	je     0x40127d
401273:	81 7c 24 08 26 2e b9 	cmpl   $0x26b92e26,0x8(%esp)
40127a:	26
40127b:	75 0b                	jne    0x401288
40127d:	46                   	inc    %esi
40127e:	81 fe ce a3 26 2b    	cmp    $0x2b26a3ce,%esi
401284:	7c ae                	jl     0x401234
401286:	eb 0b                	jmp    0x401293
401288:	0f 57 c0             	xorps  %xmm0,%xmm0
40128b:	66 0f 13 05 28 93 83 	movlpd %xmm0,0x2839328
401292:	02
401293:	e8 fe 05 00 00       	call   0x401896
401298:	5e                   	pop    %esi
401299:	33 c0                	xor    %eax,%eax
40129b:	5d                   	pop    %ebp
40129c:	81 c4 74 05 00 00    	add    $0x574,%esp
4012a2:	c2 10 00             	ret    $0x10
4012a5:	83 ec 54             	sub    $0x54,%esp
4012a8:	53                   	push   %ebx
4012a9:	55                   	push   %ebp
4012aa:	33 ed                	xor    %ebp,%ebp
4012ac:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4012b0:	81 3d 84 6e 83 02 48 	cmpl   $0x448,0x2836e84
4012b7:	04 00 00
4012ba:	8b da                	mov    %edx,%ebx
4012bc:	56                   	push   %esi
4012bd:	75 0b                	jne    0x4012ca
4012bf:	55                   	push   %ebp
4012c0:	55                   	push   %ebp
4012c1:	55                   	push   %ebp
4012c2:	55                   	push   %ebp
4012c3:	55                   	push   %ebp
4012c4:	ff 15 98 70 42 00    	call   *0x427098
4012ca:	57                   	push   %edi
4012cb:	ff 33                	push   (%ebx)
4012cd:	55                   	push   %ebp
4012ce:	ff 15 28 71 42 00    	call   *0x427128
4012d4:	8b 0d 84 6e 83 02    	mov    0x2836e84,%ecx
4012da:	8b f5                	mov    %ebp,%esi
4012dc:	8b f8                	mov    %eax,%edi
4012de:	89 7c 24 24          	mov    %edi,0x24(%esp)
4012e2:	39 33                	cmp    %esi,(%ebx)
4012e4:	0f 86 d3 01 00 00    	jbe    0x4014bd
4012ea:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4012ee:	33 ff                	xor    %edi,%edi
4012f0:	8b 00                	mov    (%eax),%eax
4012f2:	8a 14 28             	mov    (%eax,%ebp,1),%dl
4012f5:	88 54 24 14          	mov    %dl,0x14(%esp)
4012f9:	8a 54 28 01          	mov    0x1(%eax,%ebp,1),%dl
4012fd:	88 54 24 15          	mov    %dl,0x15(%esp)
401301:	8a 54 28 02          	mov    0x2(%eax,%ebp,1),%dl
401305:	8a 44 28 03          	mov    0x3(%eax,%ebp,1),%al
401309:	88 44 24 12          	mov    %al,0x12(%esp)
40130d:	c0 e0 02             	shl    $0x2,%al
401310:	88 54 24 16          	mov    %dl,0x16(%esp)
401314:	88 44 24 13          	mov    %al,0x13(%esp)
401318:	81 f9 a5 02 00 00    	cmp    $0x2a5,%ecx
40131e:	75 38                	jne    0x401358
401320:	57                   	push   %edi
401321:	57                   	push   %edi
401322:	57                   	push   %edi
401323:	57                   	push   %edi
401324:	57                   	push   %edi
401325:	57                   	push   %edi
401326:	ff 15 34 70 42 00    	call   *0x427034
40132c:	89 7c 24 30          	mov    %edi,0x30(%esp)
401330:	33 c0                	xor    %eax,%eax
401332:	8d 7c 24 34          	lea    0x34(%esp),%edi
401336:	ab                   	stos   %eax,%es:(%edi)
401337:	ab                   	stos   %eax,%es:(%edi)
401338:	ab                   	stos   %eax,%es:(%edi)
401339:	ab                   	stos   %eax,%es:(%edi)
40133a:	8d 44 24 30          	lea    0x30(%esp),%eax
40133e:	50                   	push   %eax
40133f:	33 ff                	xor    %edi,%edi
401341:	57                   	push   %edi
401342:	57                   	push   %edi
401343:	57                   	push   %edi
401344:	57                   	push   %edi
401345:	57                   	push   %edi
401346:	ff 15 f4 70 42 00    	call   *0x4270f4
40134c:	57                   	push   %edi
40134d:	57                   	push   %edi
40134e:	ff 15 30 70 42 00    	call   *0x427030
401354:	8a 44 24 13          	mov    0x13(%esp),%al
401358:	c7 44 24 18 f6 8d 8a 	movl   $0x9e8a8df6,0x18(%esp)
40135f:	9e
401360:	81 44 24 18 ca 72 75 	addl   $0x617572ca,0x18(%esp)
401367:	61
401368:	22 44 24 18          	and    0x18(%esp),%al
40136c:	8b 0d 84 6e 83 02    	mov    0x2836e84,%ecx
401372:	88 44 24 13          	mov    %al,0x13(%esp)
401376:	81 f9 a4 0c 00 00    	cmp    $0xca4,%ecx
40137c:	75 1b                	jne    0x401399
40137e:	8d 44 24 20          	lea    0x20(%esp),%eax
401382:	89 7c 24 20          	mov    %edi,0x20(%esp)
401386:	50                   	push   %eax
401387:	57                   	push   %edi
401388:	57                   	push   %edi
401389:	ff 15 2c 70 42 00    	call   *0x42702c
40138f:	8b 0d 84 6e 83 02    	mov    0x2836e84,%ecx
401395:	8a 44 24 13          	mov    0x13(%esp),%al
401399:	08 44 24 14          	or     %al,0x14(%esp)
40139d:	81 f9 2f 0d 00 00    	cmp    $0xd2f,%ecx
4013a3:	75 3f                	jne    0x4013e4
4013a5:	89 7c 24 30          	mov    %edi,0x30(%esp)
4013a9:	33 c0                	xor    %eax,%eax
4013ab:	8d 7c 24 34          	lea    0x34(%esp),%edi
4013af:	ab                   	stos   %eax,%es:(%edi)
4013b0:	ab                   	stos   %eax,%es:(%edi)
4013b1:	ab                   	stos   %eax,%es:(%edi)
4013b2:	ab                   	stos   %eax,%es:(%edi)
4013b3:	8d 44 24 30          	lea    0x30(%esp),%eax
4013b7:	50                   	push   %eax
4013b8:	8d 44 24 48          	lea    0x48(%esp),%eax
4013bc:	33 ff                	xor    %edi,%edi
4013be:	50                   	push   %eax
4013bf:	57                   	push   %edi
4013c0:	ff 15 94 70 42 00    	call   *0x427094
4013c6:	8d 44 24 28          	lea    0x28(%esp),%eax
4013ca:	50                   	push   %eax
4013cb:	8d 44 24 1b          	lea    0x1b(%esp),%eax
4013cf:	50                   	push   %eax
4013d0:	8d 44 24 34          	lea    0x34(%esp),%eax
4013d4:	50                   	push   %eax
4013d5:	57                   	push   %edi
4013d6:	57                   	push   %edi
4013d7:	57                   	push   %edi
4013d8:	ff 15 04 70 42 00    	call   *0x427004
4013de:	8b 0d 84 6e 83 02    	mov    0x2836e84,%ecx
4013e4:	8a 44 24 12          	mov    0x12(%esp),%al
4013e8:	24 fc                	and    $0xfc,%al
4013ea:	c7 05 cc 92 83 02 60 	movl   $0xeb205a60,0x28392cc
4013f1:	5a 20 eb
4013f4:	c0 e0 04             	shl    $0x4,%al
4013f7:	08 44 24 15          	or     %al,0x15(%esp)
4013fb:	81 f9 7b 0e 00 00    	cmp    $0xe7b,%ecx
401401:	75 0e                	jne    0x401411
401403:	57                   	push   %edi
401404:	57                   	push   %edi
401405:	ff 15 40 70 42 00    	call   *0x427040
40140b:	8b 0d 84 6e 83 02    	mov    0x2836e84,%ecx
401411:	c0 64 24 12 06       	shlb   $0x6,0x12(%esp)
401416:	81 f9 e3 0b 00 00    	cmp    $0xbe3,%ecx
40141c:	75 19                	jne    0x401437
40141e:	8d 44 24 44          	lea    0x44(%esp),%eax
401422:	50                   	push   %eax
401423:	ff 15 1c 71 42 00    	call   *0x42711c
401429:	57                   	push   %edi
40142a:	57                   	push   %edi
40142b:	ff 15 90 70 42 00    	call   *0x427090
401431:	8b 0d 84 6e 83 02    	mov    0x2836e84,%ecx
401437:	81 f9 20 01 00 00    	cmp    $0x120,%ecx
40143d:	75 09                	jne    0x401448
40143f:	57                   	push   %edi
401440:	57                   	push   %edi
401441:	57                   	push   %edi
401442:	ff 15 8c 70 42 00    	call   *0x42708c
401448:	8b 7c 24 24          	mov    0x24(%esp),%edi
40144c:	8a 54 24 14          	mov    0x14(%esp),%dl
401450:	8a 44 24 16          	mov    0x16(%esp),%al
401454:	0a 44 24 12          	or     0x12(%esp),%al
401458:	88 14 3e             	mov    %dl,(%esi,%edi,1)
40145b:	83 25 d0 92 83 02 00 	andl   $0x0,0x28392d0
401462:	8a 54 24 15          	mov    0x15(%esp),%dl