00401000 <.text>:
401000:	55                   	push   %ebp
401001:	8b ec                	mov    %esp,%ebp
401003:	c6 05 e5 de 43 00 01 	movb   $0x1,0x43dee5
40100a:	5d                   	pop    %ebp
40100b:	c3                   	ret
40100c:	cc                   	int3
40100d:	cc                   	int3
40100e:	cc                   	int3
40100f:	cc                   	int3
401010:	68 50 6b 40 00       	push   $0x406b50
401015:	e8 57 9a 00 00       	call   0x40aa71
40101a:	68 30 6b 40 00       	push   $0x406b30
40101f:	e8 2b c4 00 00       	call   0x40d44f
401024:	83 c4 08             	add    $0x8,%esp
401027:	c3                   	ret
401028:	cc                   	int3
401029:	cc                   	int3
40102a:	cc                   	int3
40102b:	cc                   	int3
40102c:	cc                   	int3
40102d:	cc                   	int3
40102e:	cc                   	int3
40102f:	cc                   	int3
401030:	68 68 d0 43 00       	push   $0x43d068
401035:	6a 01                	push   $0x1
401037:	68 28 17 43 00       	push   $0x431728
40103c:	6a 7f                	push   $0x7f
40103e:	b9 60 e9 43 00       	mov    $0x43e960,%ecx
401043:	e8 38 86 00 00       	call   0x409680
401048:	c7 05 60 e9 43 00 fc 	movl   $0x4316fc,0x43e960
40104f:	16 43 00
401052:	c3                   	ret
401053:	cc                   	int3
401054:	cc                   	int3
401055:	cc                   	int3
401056:	cc                   	int3
401057:	cc                   	int3
401058:	cc                   	int3
401059:	cc                   	int3
40105a:	cc                   	int3
40105b:	cc                   	int3
40105c:	cc                   	int3
40105d:	cc                   	int3
40105e:	cc                   	int3
40105f:	cc                   	int3
401060:	68 10 d0 43 00       	push   $0x43d010
401065:	6a 0b                	push   $0xb
401067:	68 28 17 43 00       	push   $0x431728
40106c:	6a 5c                	push   $0x5c
40106e:	b9 50 df 43 00       	mov    $0x43df50,%ecx
401073:	e8 08 86 00 00       	call   0x409680
401078:	68 00 01 00 00       	push   $0x100
40107d:	6a 00                	push   $0x0
40107f:	68 60 e8 43 00       	push   $0x43e860
401084:	c7 05 50 df 43 00 38 	movl   $0x431738,0x43df50
40108b:	17 43 00
40108e:	e8 2d a3 00 00       	call   0x40b3c0
401093:	83 c4 0c             	add    $0xc,%esp
401096:	b8 14 d0 43 00       	mov    $0x43d014,%eax
40109b:	eb 03                	jmp    0x4010a0
40109d:	8d 49 00             	lea    0x0(%ecx),%ecx
4010a0:	8b 08                	mov    (%eax),%ecx
4010a2:	0f b6 11             	movzbl (%ecx),%edx
4010a5:	8a 48 fc             	mov    -0x4(%eax),%cl
4010a8:	83 c0 08             	add    $0x8,%eax
4010ab:	88 8a 60 e8 43 00    	mov    %cl,0x43e860(%edx)
4010b1:	3d 6c d0 43 00       	cmp    $0x43d06c,%eax
4010b6:	7c e8                	jl     0x4010a0
4010b8:	c3                   	ret
4010b9:	b9 78 fd 43 00       	mov    $0x43fd78,%ecx
4010be:	e8 e0 bf 02 00       	call   0x42d0a3
4010c3:	68 33 03 43 00       	push   $0x430333
4010c8:	e8 23 8e 00 00       	call   0x409ef0
4010cd:	59                   	pop    %ecx
4010ce:	c3                   	ret
4010cf:	68 3d 03 43 00       	push   $0x43033d
4010d4:	e8 17 8e 00 00       	call   0x409ef0
4010d9:	59                   	pop    %ecx
4010da:	c3                   	ret
4010db:	68 47 03 43 00       	push   $0x430347
4010e0:	e8 0b 8e 00 00       	call   0x409ef0
4010e5:	59                   	pop    %ecx
4010e6:	c3                   	ret
4010e7:	68 51 03 43 00       	push   $0x430351
4010ec:	e8 ff 8d 00 00       	call   0x409ef0
4010f1:	59                   	pop    %ecx
4010f2:	c3                   	ret
4010f3:	b9 dc fe 43 00       	mov    $0x43fedc,%ecx
4010f8:	e8 a6 bf 02 00       	call   0x42d0a3
4010fd:	68 5b 03 43 00       	push   $0x43035b
401102:	e8 e9 8d 00 00       	call   0x409ef0
401107:	59                   	pop    %ecx
401108:	c3                   	ret
401109:	cc                   	int3
40110a:	cc                   	int3
40110b:	cc                   	int3
40110c:	cc                   	int3
40110d:	cc                   	int3
40110e:	cc                   	int3
40110f:	cc                   	int3
401110:	8b 54 24 0c          	mov    0xc(%esp),%edx
401114:	53                   	push   %ebx
401115:	56                   	push   %esi
401116:	57                   	push   %edi
401117:	85 d2                	test   %edx,%edx
401119:	74 20                	je     0x40113b
40111b:	8b 74 24 10          	mov    0x10(%esp),%esi
40111f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
401123:	2b f1                	sub    %ecx,%esi
401125:	0f b7 04 0e          	movzwl (%esi,%ecx,1),%eax
401129:	0f b7 39             	movzwl (%ecx),%edi
40112c:	8b d8                	mov    %eax,%ebx
40112e:	66 3b c7             	cmp    %di,%ax
401131:	75 0e                	jne    0x401141
401133:	83 c1 02             	add    $0x2,%ecx
401136:	83 ea 01             	sub    $0x1,%edx
401139:	75 ea                	jne    0x401125
40113b:	33 c0                	xor    %eax,%eax
40113d:	5f                   	pop    %edi
40113e:	5e                   	pop    %esi
40113f:	5b                   	pop    %ebx
401140:	c3                   	ret
401141:	66 3b df             	cmp    %di,%bx
401144:	1b c0                	sbb    %eax,%eax
401146:	83 e0 fe             	and    $0xfffffffe,%eax
401149:	40                   	inc    %eax
40114a:	eb f1                	jmp    0x40113d
40114c:	33 d2                	xor    %edx,%edx
40114e:	66 39 11             	cmp    %dx,(%ecx)
401151:	74 16                	je     0x401169
401153:	56                   	push   %esi
401154:	8d 71 02             	lea    0x2(%ecx),%esi
401157:	66 8b 01             	mov    (%ecx),%ax
40115a:	83 c1 02             	add    $0x2,%ecx
40115d:	66 3b c2             	cmp    %dx,%ax
401160:	75 f5                	jne    0x401157
401162:	8b d1                	mov    %ecx,%edx
401164:	2b d6                	sub    %esi,%edx
401166:	d1 fa                	sar    $1,%edx
401168:	5e                   	pop    %esi
401169:	8b c2                	mov    %edx,%eax
40116b:	c3                   	ret
40116c:	8b 44 24 04          	mov    0x4(%esp),%eax
401170:	85 c0                	test   %eax,%eax
401172:	74 0f                	je     0x401183
401174:	03 c0                	add    %eax,%eax
401176:	50                   	push   %eax
401177:	52                   	push   %edx
401178:	51                   	push   %ecx
401179:	e8 c2 9c 00 00       	call   0x40ae40
40117e:	83 c4 0c             	add    $0xc,%esp
401181:	8b c8                	mov    %eax,%ecx
401183:	8b c1                	mov    %ecx,%eax
401185:	c3                   	ret
401186:	56                   	push   %esi
401187:	8b f2                	mov    %edx,%esi
401189:	85 c9                	test   %ecx,%ecx
40118b:	75 04                	jne    0x401191
40118d:	33 c0                	xor    %eax,%eax
40118f:	5e                   	pop    %esi
401190:	c3                   	ret
401191:	83 c8 ff             	or     $0xffffffff,%eax
401194:	33 d2                	xor    %edx,%edx
401196:	f7 f6                	div    %esi
401198:	3b c1                	cmp    %ecx,%eax
40119a:	72 37                	jb     0x4011d3
40119c:	0f af ce             	imul   %esi,%ecx
40119f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4011a5:	72 1f                	jb     0x4011c6
4011a7:	8d 41 23             	lea    0x23(%ecx),%eax
4011aa:	3b c1                	cmp    %ecx,%eax
4011ac:	76 25                	jbe    0x4011d3
4011ae:	50                   	push   %eax
4011af:	e8 0c 58 00 00       	call   0x4069c0
4011b4:	59                   	pop    %ecx
4011b5:	8b c8                	mov    %eax,%ecx
4011b7:	85 c9                	test   %ecx,%ecx
4011b9:	74 1d                	je     0x4011d8
4011bb:	8d 41 23             	lea    0x23(%ecx),%eax
4011be:	83 e0 e0             	and    $0xffffffe0,%eax
4011c1:	5e                   	pop    %esi
4011c2:	89 48 fc             	mov    %ecx,-0x4(%eax)
4011c5:	c3                   	ret
4011c6:	51                   	push   %ecx
4011c7:	e8 f4 57 00 00       	call   0x4069c0
4011cc:	59                   	pop    %ecx
4011cd:	85 c0                	test   %eax,%eax
4011cf:	74 07                	je     0x4011d8
4011d1:	eb bc                	jmp    0x40118f
4011d3:	e8 24 87 00 00       	call   0x4098fc
4011d8:	e8 21 c2 00 00       	call   0x40d3fe
4011dd:	cc                   	int3
4011de:	56                   	push   %esi
4011df:	8b f2                	mov    %edx,%esi
4011e1:	83 c8 ff             	or     $0xffffffff,%eax
4011e4:	33 d2                	xor    %edx,%edx
4011e6:	f7 74 24 08          	divl   0x8(%esp)
4011ea:	3b f0                	cmp    %eax,%esi
4011ec:	77 30                	ja     0x40121e
4011ee:	0f af 74 24 08       	imul   0x8(%esp),%esi
4011f3:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
4011f9:	72 1a                	jb     0x401215
4011fb:	f6 c1 1f             	test   $0x1f,%cl
4011fe:	75 1e                	jne    0x40121e
401200:	8b 41 fc             	mov    -0x4(%ecx),%eax
401203:	3b c1                	cmp    %ecx,%eax
401205:	73 17                	jae    0x40121e
401207:	2b c8                	sub    %eax,%ecx
401209:	83 f9 04             	cmp    $0x4,%ecx
40120c:	72 10                	jb     0x40121e
40120e:	83 f9 23             	cmp    $0x23,%ecx
401211:	77 0b                	ja     0x40121e
401213:	8b c8                	mov    %eax,%ecx
401215:	51                   	push   %ecx
401216:	e8 d5 57 00 00       	call   0x4069f0
40121b:	59                   	pop    %ecx
40121c:	5e                   	pop    %esi
40121d:	c3                   	ret
40121e:	e8 db c1 00 00       	call   0x40d3fe
401223:	cc                   	int3
401224:	33 c0                	xor    %eax,%eax
401226:	89 01                	mov    %eax,(%ecx)
401228:	89 41 04             	mov    %eax,0x4(%ecx)
40122b:	89 41 08             	mov    %eax,0x8(%ecx)
40122e:	89 41 0c             	mov    %eax,0xc(%ecx)
401231:	89 41 10             	mov    %eax,0x10(%ecx)
401234:	89 41 14             	mov    %eax,0x14(%ecx)
401237:	89 41 18             	mov    %eax,0x18(%ecx)
40123a:	89 41 1c             	mov    %eax,0x1c(%ecx)
40123d:	89 41 20             	mov    %eax,0x20(%ecx)
401240:	89 41 24             	mov    %eax,0x24(%ecx)
401243:	89 41 28             	mov    %eax,0x28(%ecx)
401246:	89 41 2c             	mov    %eax,0x2c(%ecx)
401249:	89 41 30             	mov    %eax,0x30(%ecx)
40124c:	8b c1                	mov    %ecx,%eax
40124e:	c3                   	ret
40124f:	55                   	push   %ebp
401250:	8b ec                	mov    %esp,%ebp
401252:	83 ec 38             	sub    $0x38,%esp
401255:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
40125a:	33 c5                	xor    %ebp,%eax
40125c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40125f:	53                   	push   %ebx
401260:	8b 5d 08             	mov    0x8(%ebp),%ebx
401263:	33 c0                	xor    %eax,%eax
401265:	56                   	push   %esi
401266:	57                   	push   %edi
401267:	8b 7d 34             	mov    0x34(%ebp),%edi
40126a:	8b f1                	mov    %ecx,%esi
40126c:	51                   	push   %ecx
40126d:	33 c9                	xor    %ecx,%ecx
40126f:	6a 0c                	push   $0xc
401271:	5a                   	pop    %edx
401272:	41                   	inc    %ecx
401273:	89 46 18             	mov    %eax,0x18(%esi)
401276:	89 46 1c             	mov    %eax,0x1c(%esi)
401279:	e8 08 ff ff ff       	call   0x401186
40127e:	59                   	pop    %ecx
40127f:	85 c0                	test   %eax,%eax
401281:	74 02                	je     0x401285
401283:	89 00                	mov    %eax,(%eax)
401285:	8d 48 04             	lea    0x4(%eax),%ecx
401288:	85 c9                	test   %ecx,%ecx
40128a:	74 02                	je     0x40128e
40128c:	89 01                	mov    %eax,(%ecx)
40128e:	53                   	push   %ebx
40128f:	8d 4e 20             	lea    0x20(%esi),%ecx
401292:	89 46 18             	mov    %eax,0x18(%esi)
401295:	e8 d0 0d 00 00       	call   0x40206a
40129a:	8b 45 0c             	mov    0xc(%ebp),%eax
40129d:	33 db                	xor    %ebx,%ebx
40129f:	89 46 38             	mov    %eax,0x38(%esi)
4012a2:	8b 45 10             	mov    0x10(%ebp),%eax
4012a5:	89 46 48             	mov    %eax,0x48(%esi)
4012a8:	8b 45 14             	mov    0x14(%ebp),%eax
4012ab:	89 46 4c             	mov    %eax,0x4c(%esi)
4012ae:	8b 45 18             	mov    0x18(%ebp),%eax
4012b1:	89 46 50             	mov    %eax,0x50(%esi)
4012b4:	8b 45 1c             	mov    0x1c(%ebp),%eax
4012b7:	89 46 54             	mov    %eax,0x54(%esi)
4012ba:	8b 45 20             	mov    0x20(%ebp),%eax
4012bd:	89 46 58             	mov    %eax,0x58(%esi)
4012c0:	8b 45 24             	mov    0x24(%ebp),%eax
4012c3:	89 46 5c             	mov    %eax,0x5c(%esi)
4012c6:	8b 45 28             	mov    0x28(%ebp),%eax
4012c9:	89 46 60             	mov    %eax,0x60(%esi)
4012cc:	8b 45 2c             	mov    0x2c(%ebp),%eax
4012cf:	89 46 64             	mov    %eax,0x64(%esi)
4012d2:	8a 45 30             	mov    0x30(%ebp),%al
4012d5:	89 5e 3c             	mov    %ebx,0x3c(%esi)
4012d8:	89 5e 40             	mov    %ebx,0x40(%esi)
4012db:	89 5e 44             	mov    %ebx,0x44(%esi)
4012de:	88 46 68             	mov    %al,0x68(%esi)
4012e1:	c6 46 69 01          	movb   $0x1,0x69(%esi)
4012e5:	85 ff                	test   %edi,%edi
4012e7:	74 0e                	je     0x4012f7
4012e9:	57                   	push   %edi
4012ea:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4012ed:	e8 78 0d 00 00       	call   0x40206a
4012f2:	33 ff                	xor    %edi,%edi
4012f4:	47                   	inc    %edi
4012f5:	eb 12                	jmp    0x401309
4012f7:	68 fc 92 43 00       	push   $0x4392fc
4012fc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4012ff:	e8 ec 0c 00 00       	call   0x401ff0
401304:	6a 02                	push   $0x2
401306:	8b fb                	mov    %ebx,%edi
401308:	5b                   	pop    %ebx
401309:	50                   	push   %eax
40130a:	8d 4e 6c             	lea    0x6c(%esi),%ecx
40130d:	e8 bc 0c 00 00       	call   0x401fce
401312:	85 db                	test   %ebx,%ebx
401314:	74 0f                	je     0x401325
401316:	33 db                	xor    %ebx,%ebx
401318:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40131b:	53                   	push   %ebx
40131c:	6a 01                	push   $0x1
40131e:	e8 a2 0d 00 00       	call   0x4020c5
401323:	eb 02                	jmp    0x401327
401325:	33 db                	xor    %ebx,%ebx
401327:	85 ff                	test   %edi,%edi
401329:	74 0b                	je     0x401336
40132b:	53                   	push   %ebx
40132c:	6a 01                	push   $0x1
40132e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
401331:	e8 8f 0d 00 00       	call   0x4020c5
401336:	89 9e 84 00 00 00    	mov    %ebx,0x84(%esi)
40133c:	8d be 8c 00 00 00    	lea    0x8c(%esi),%edi
401342:	88 9e 88 00 00 00    	mov    %bl,0x88(%esi)
401348:	8d 8e a0 00 00 00    	lea    0xa0(%esi),%ecx
40134e:	33 c0                	xor    %eax,%eax
401350:	ab                   	stos   %eax,%es:(%edi)
401351:	ab                   	stos   %eax,%es:(%edi)
401352:	ab                   	stos   %eax,%es:(%edi)
401353:	ab                   	stos   %eax,%es:(%edi)
401354:	ab                   	stos   %eax,%es:(%edi)
401355:	e8 ca fe ff ff       	call   0x401224
40135a:	56                   	push   %esi
40135b:	89 9e d4 00 00 00    	mov    %ebx,0xd4(%esi)
401361:	ff 15 f0 10 43 00    	call   *0x4310f0
401367:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40136a:	8b c6                	mov    %esi,%eax
40136c:	5f                   	pop    %edi
40136d:	5e                   	pop    %esi
40136e:	33 cd                	xor    %ebp,%ecx
401370:	5b                   	pop    %ebx
401371:	e8 31 89 00 00       	call   0x409ca7
401376:	c9                   	leave
401377:	c2 30 00             	ret    $0x30