405eab:	55                   	push   %ebp
405eac:	8b ec                	mov    %esp,%ebp
405eae:	51                   	push   %ecx
405eaf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405eb3:	8d 45 fc             	lea    -0x4(%ebp),%eax
405eb6:	56                   	push   %esi
405eb7:	ff 75 08             	push   0x8(%ebp)
405eba:	50                   	push   %eax
405ebb:	e8 37 dd 03 00       	call   0x443bf7
405ec0:	8b f0                	mov    %eax,%esi
405ec2:	85 f6                	test   %esi,%esi
405ec4:	79 17                	jns    0x405edd
405ec6:	56                   	push   %esi
405ec7:	68 3e 07 00 00       	push   $0x73e
405ecc:	68 bc cc 44 00       	push   $0x44ccbc
405ed1:	e8 fd d8 ff ff       	call   0x4037d3
405ed6:	68 e8 d7 44 00       	push   $0x44d7e8
405edb:	eb 18                	jmp    0x405ef5
405edd:	6a 00                	push   $0x0
405edf:	ff 75 fc             	push   -0x4(%ebp)
405ee2:	ff 75 0c             	push   0xc(%ebp)
405ee5:	e8 0a a4 01 00       	call   0x4202f4
405eea:	8b f0                	mov    %eax,%esi
405eec:	85 f6                	test   %esi,%esi
405eee:	79 0d                	jns    0x405efd
405ef0:	68 fc ca 44 00       	push   $0x44cafc
405ef5:	56                   	push   %esi
405ef6:	e8 34 a2 03 00       	call   0x44012f
405efb:	59                   	pop    %ecx
405efc:	59                   	pop    %ecx
405efd:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405f01:	74 08                	je     0x405f0b
405f03:	ff 75 fc             	push   -0x4(%ebp)
405f06:	e8 e4 f5 03 00       	call   0x4454ef
405f0b:	8b c6                	mov    %esi,%eax
405f0d:	5e                   	pop    %esi
405f0e:	8b e5                	mov    %ebp,%esp
405f10:	5d                   	pop    %ebp
405f11:	c2 08 00             	ret    $0x8
405f14:	55                   	push   %ebp
405f15:	8b ec                	mov    %esp,%ebp
405f17:	83 ec 1c             	sub    $0x1c,%esp
405f1a:	a1 08 a0 46 00       	mov    0x46a008,%eax
405f1f:	33 c5                	xor    %ebp,%eax
405f21:	89 45 fc             	mov    %eax,-0x4(%ebp)
405f24:	8b 45 0c             	mov    0xc(%ebp),%eax
405f27:	53                   	push   %ebx
405f28:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405f2b:	33 db                	xor    %ebx,%ebx
405f2d:	56                   	push   %esi
405f2e:	57                   	push   %edi
405f2f:	33 c0                	xor    %eax,%eax
405f31:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405f34:	8d 7d ec             	lea    -0x14(%ebp),%edi
405f37:	ab                   	stos   %eax,%es:(%edi)
405f38:	ab                   	stos   %eax,%es:(%edi)
405f39:	ab                   	stos   %eax,%es:(%edi)
405f3a:	ab                   	stos   %eax,%es:(%edi)
405f3b:	8d 45 ec             	lea    -0x14(%ebp),%eax
405f3e:	50                   	push   %eax
405f3f:	ff 15 bc b1 44 00    	call   *0x44b1bc
405f45:	53                   	push   %ebx
405f46:	53                   	push   %ebx
405f47:	53                   	push   %ebx
405f48:	8d 45 ec             	lea    -0x14(%ebp),%eax
405f4b:	50                   	push   %eax
405f4c:	6a 01                	push   $0x1
405f4e:	68 00 04 00 00       	push   $0x400
405f53:	ff 15 dc b1 44 00    	call   *0x44b1dc
405f59:	8b 1d e8 b0 44 00    	mov    0x44b0e8,%ebx
405f5f:	8b f8                	mov    %eax,%edi
405f61:	85 ff                	test   %edi,%edi
405f63:	75 2b                	jne    0x405f90
405f65:	ff d3                	call   *%ebx
405f67:	0f b7 f0             	movzwl %ax,%esi
405f6a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
405f70:	85 c0                	test   %eax,%eax
405f72:	0f 4e f0             	cmovle %eax,%esi
405f75:	85 f6                	test   %esi,%esi
405f77:	79 17                	jns    0x405f90
405f79:	56                   	push   %esi
405f7a:	68 91 08 00 00       	push   $0x891
405f7f:	68 bc cc 44 00       	push   $0x44ccbc
405f84:	e8 4a d8 ff ff       	call   0x4037d3
405f89:	68 88 d9 44 00       	push   $0x44d988
405f8e:	eb 74                	jmp    0x406004
405f90:	57                   	push   %edi
405f91:	8d 45 e8             	lea    -0x18(%ebp),%eax
405f94:	50                   	push   %eax
405f95:	e8 44 bf ff ff       	call   0x401ede
405f9a:	8b f0                	mov    %eax,%esi
405f9c:	85 f6                	test   %esi,%esi
405f9e:	79 07                	jns    0x405fa7
405fa0:	68 c0 d9 44 00       	push   $0x44d9c0
405fa5:	eb 5d                	jmp    0x406004
405fa7:	57                   	push   %edi
405fa8:	ff 75 e8             	push   -0x18(%ebp)
405fab:	8d 45 ec             	lea    -0x14(%ebp),%eax
405fae:	6a 00                	push   $0x0
405fb0:	50                   	push   %eax
405fb1:	6a 01                	push   $0x1
405fb3:	68 00 04 00 00       	push   $0x400
405fb8:	ff 15 dc b1 44 00    	call   *0x44b1dc
405fbe:	85 c0                	test   %eax,%eax
405fc0:	75 2b                	jne    0x405fed
405fc2:	ff d3                	call   *%ebx
405fc4:	0f b7 f0             	movzwl %ax,%esi
405fc7:	81 ce 00 00 07 80    	or     $0x80070000,%esi
405fcd:	85 c0                	test   %eax,%eax
405fcf:	0f 4e f0             	cmovle %eax,%esi
405fd2:	85 f6                	test   %esi,%esi
405fd4:	79 17                	jns    0x405fed
405fd6:	56                   	push   %esi
405fd7:	68 99 08 00 00       	push   $0x899
405fdc:	68 bc cc 44 00       	push   $0x44ccbc
405fe1:	e8 ed d7 ff ff       	call   0x4037d3
405fe6:	68 ec d9 44 00       	push   $0x44d9ec
405feb:	eb 17                	jmp    0x406004
405fed:	57                   	push   %edi
405fee:	ff 75 e8             	push   -0x18(%ebp)
405ff1:	ff 75 e4             	push   -0x1c(%ebp)
405ff4:	e8 fb a2 01 00       	call   0x4202f4
405ff9:	8b f0                	mov    %eax,%esi
405ffb:	85 f6                	test   %esi,%esi
405ffd:	79 0d                	jns    0x40600c
405fff:	68 fc ca 44 00       	push   $0x44cafc
406004:	56                   	push   %esi
406005:	e8 25 a1 03 00       	call   0x44012f
40600a:	59                   	pop    %ecx
40600b:	59                   	pop    %ecx
40600c:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
406010:	74 08                	je     0x40601a
406012:	ff 75 e8             	push   -0x18(%ebp)
406015:	e8 d5 f4 03 00       	call   0x4454ef
40601a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40601d:	8b c6                	mov    %esi,%eax
40601f:	5f                   	pop    %edi
406020:	5e                   	pop    %esi
406021:	33 cd                	xor    %ebp,%ecx
406023:	5b                   	pop    %ebx
406024:	e8 0d 7e 02 00       	call   0x42de36
406029:	8b e5                	mov    %ebp,%esp
40602b:	5d                   	pop    %ebp
40602c:	c2 08 00             	ret    $0x8
40602f:	55                   	push   %ebp
406030:	8b ec                	mov    %esp,%ebp
406032:	56                   	push   %esi
406033:	6a 00                	push   $0x0
406035:	68 04 da 44 00       	push   $0x44da04
40603a:	ff 75 0c             	push   0xc(%ebp)
40603d:	e8 b2 a2 01 00       	call   0x4202f4
406042:	8b f0                	mov    %eax,%esi
406044:	85 f6                	test   %esi,%esi
406046:	79 0d                	jns    0x406055
406048:	68 fc ca 44 00       	push   $0x44cafc
40604d:	56                   	push   %esi
40604e:	e8 dc a0 03 00       	call   0x44012f
406053:	59                   	pop    %ecx
406054:	59                   	pop    %ecx
406055:	8b c6                	mov    %esi,%eax
406057:	5e                   	pop    %esi
406058:	5d                   	pop    %ebp
406059:	c2 08 00             	ret    $0x8
40605c:	55                   	push   %ebp
40605d:	8b ec                	mov    %esp,%ebp
40605f:	51                   	push   %ecx
406060:	56                   	push   %esi
406061:	57                   	push   %edi
406062:	33 ff                	xor    %edi,%edi
406064:	8d 45 fc             	lea    -0x4(%ebp),%eax
406067:	57                   	push   %edi
406068:	57                   	push   %edi
406069:	68 f8 b9 44 00       	push   $0x44b9f8
40606e:	50                   	push   %eax
40606f:	89 7d fc             	mov    %edi,-0x4(%ebp)
406072:	e8 45 c1 ff ff       	call   0x4021bc
406077:	8b f0                	mov    %eax,%esi
406079:	85 f6                	test   %esi,%esi
40607b:	79 07                	jns    0x406084
40607d:	68 18 da 44 00       	push   $0x44da18
406082:	eb 17                	jmp    0x40609b
406084:	57                   	push   %edi
406085:	ff 75 fc             	push   -0x4(%ebp)
406088:	ff 75 0c             	push   0xc(%ebp)
40608b:	e8 64 a2 01 00       	call   0x4202f4
406090:	8b f0                	mov    %eax,%esi
406092:	85 f6                	test   %esi,%esi
406094:	79 0d                	jns    0x4060a3
406096:	68 fc ca 44 00       	push   $0x44cafc
40609b:	56                   	push   %esi
40609c:	e8 8e a0 03 00       	call   0x44012f
4060a1:	59                   	pop    %ecx
4060a2:	59                   	pop    %ecx
4060a3:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4060a6:	74 08                	je     0x4060b0
4060a8:	ff 75 fc             	push   -0x4(%ebp)
4060ab:	e8 3f f4 03 00       	call   0x4454ef
4060b0:	5f                   	pop    %edi
4060b1:	8b c6                	mov    %esi,%eax
4060b3:	5e                   	pop    %esi
4060b4:	8b e5                	mov    %ebp,%esp
4060b6:	5d                   	pop    %ebp
4060b7:	c2 08 00             	ret    $0x8
4060ba:	55                   	push   %ebp
4060bb:	8b ec                	mov    %esp,%ebp
4060bd:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
4060c3:	a1 08 a0 46 00       	mov    0x46a008,%eax
4060c8:	33 c5                	xor    %ebp,%eax
4060ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4060cd:	56                   	push   %esi
4060ce:	57                   	push   %edi
4060cf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4060d2:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4060d8:	50                   	push   %eax
4060d9:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4060df:	c7 85 f4 fd ff ff 01 	movl   $0x101,-0x20c(%ebp)
4060e6:	01 00 00
4060e9:	50                   	push   %eax
4060ea:	ff 15 18 b0 44 00    	call   *0x44b018
4060f0:	85 c0                	test   %eax,%eax
4060f2:	75 2f                	jne    0x406123
4060f4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4060fa:	0f b7 f0             	movzwl %ax,%esi
4060fd:	81 ce 00 00 07 80    	or     $0x80070000,%esi
406103:	85 c0                	test   %eax,%eax
406105:	0f 4e f0             	cmovle %eax,%esi
406108:	85 f6                	test   %esi,%esi
40610a:	79 17                	jns    0x406123
40610c:	56                   	push   %esi
40610d:	68 e5 08 00 00       	push   $0x8e5
406112:	68 bc cc 44 00       	push   $0x44ccbc
406117:	e8 b7 d6 ff ff       	call   0x4037d3
40611c:	68 3c da 44 00       	push   $0x44da3c
406121:	eb 1a                	jmp    0x40613d
406123:	6a 00                	push   $0x0
406125:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40612b:	50                   	push   %eax
40612c:	57                   	push   %edi
40612d:	e8 c2 a1 01 00       	call   0x4202f4
406132:	8b f0                	mov    %eax,%esi
406134:	85 f6                	test   %esi,%esi
406136:	79 0d                	jns    0x406145
406138:	68 fc ca 44 00       	push   $0x44cafc
40613d:	56                   	push   %esi
40613e:	e8 ec 9f 03 00       	call   0x44012f
406143:	59                   	pop    %ecx
406144:	59                   	pop    %ecx
406145:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406148:	8b c6                	mov    %esi,%eax
40614a:	5f                   	pop    %edi
40614b:	33 cd                	xor    %ebp,%ecx
40614d:	5e                   	pop    %esi
40614e:	e8 e3 7c 02 00       	call   0x42de36
406153:	8b e5                	mov    %ebp,%esp
406155:	5d                   	pop    %ebp
406156:	c2 08 00             	ret    $0x8
406159:	55                   	push   %ebp
40615a:	8b ec                	mov    %esp,%ebp
40615c:	56                   	push   %esi
40615d:	6a 00                	push   $0x0
40615f:	ff 75 08             	push   0x8(%ebp)
406162:	ff 75 0c             	push   0xc(%ebp)
406165:	e8 46 a1 01 00       	call   0x4202b0
40616a:	8b f0                	mov    %eax,%esi
40616c:	85 f6                	test   %esi,%esi
40616e:	79 0d                	jns    0x40617d
406170:	68 fc ca 44 00       	push   $0x44cafc
406175:	56                   	push   %esi
406176:	e8 b4 9f 03 00       	call   0x44012f
40617b:	59                   	pop    %ecx
40617c:	59                   	pop    %ecx
40617d:	8b c6                	mov    %esi,%eax
40617f:	5e                   	pop    %esi
406180:	5d                   	pop    %ebp
406181:	c2 08 00             	ret    $0x8
406184:	55                   	push   %ebp
406185:	8b ec                	mov    %esp,%ebp
406187:	81 ec 40 01 00 00    	sub    $0x140,%esp
40618d:	a1 08 a0 46 00       	mov    0x46a008,%eax
406192:	33 c5                	xor    %ebp,%eax
406194:	89 45 fc             	mov    %eax,-0x4(%ebp)
406197:	53                   	push   %ebx
406198:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40619b:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
4061a1:	56                   	push   %esi
4061a2:	57                   	push   %edi
4061a3:	68 1c 01 00 00       	push   $0x11c
4061a8:	33 f6                	xor    %esi,%esi
4061aa:	56                   	push   %esi
4061ab:	50                   	push   %eax
4061ac:	e8 bf 94 02 00       	call   0x42f670
4061b1:	83 c4 0c             	add    $0xc,%esp
4061b4:	c7 85 e0 fe ff ff 1c 	movl   $0x11c,-0x120(%ebp)
4061bb:	01 00 00
4061be:	33 c0                	xor    %eax,%eax
4061c0:	8d bd c8 fe ff ff    	lea    -0x138(%ebp),%edi
4061c6:	6a 06                	push   $0x6
4061c8:	59                   	pop    %ecx
4061c9:	f3 ab                	rep stos %eax,%es:(%edi)
4061cb:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
4061d1:	50                   	push   %eax
4061d2:	ff 15 a8 b1 44 00    	call   *0x44b1a8
4061d8:	85 c0                	test   %eax,%eax
4061da:	75 38                	jne    0x406214
4061dc:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4061e2:	0f b7 f0             	movzwl %ax,%esi
4061e5:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4061eb:	85 c0                	test   %eax,%eax
4061ed:	0f 4e f0             	cmovle %eax,%esi
4061f0:	b8 05 40 00 80       	mov    $0x80004005,%eax
4061f5:	85 f6                	test   %esi,%esi
4061f7:	0f 49 f0             	cmovns %eax,%esi
4061fa:	56                   	push   %esi
4061fb:	68 a1 06 00 00       	push   $0x6a1
406200:	68 bc cc 44 00       	push   $0x44ccbc
406205:	e8 c9 d5 ff ff       	call   0x4037d3
40620a:	68 e0 b9 44 00       	push   $0x44b9e0
40620f:	e9 05 01 00 00       	jmp    0x406319
406214:	8b 45 08             	mov    0x8(%ebp),%eax
406217:	83 c0 fc             	add    $0xfffffffc,%eax
40621a:	83 f8 09             	cmp    $0x9,%eax
40621d:	0f 87 de 00 00 00    	ja     0x406301
406223:	ff 24 85 38 63 40 00 	jmp    *0x406338(,%eax,4)
40622a:	0f b6 45 fa          	movzbl -0x6(%ebp),%eax
40622e:	99                   	cltd
40622f:	89 95 cc fe ff ff    	mov    %edx,-0x134(%ebp)
406235:	c7 85 d8 fe ff ff 01 	movl   $0x1,-0x128(%ebp)
40623c:	00 00 00
40623f:	e9 b7 00 00 00       	jmp    0x4062fb
406244:	8b 45 f8             	mov    -0x8(%ebp),%eax
406247:	c1 e8 02             	shr    $0x2,%eax
40624a:	33 ff                	xor    %edi,%edi
40624c:	47                   	inc    %edi
40624d:	23 c7                	and    %edi,%eax
40624f:	99                   	cltd
406250:	89 95 cc fe ff ff    	mov    %edx,-0x134(%ebp)
406256:	e9 9a 00 00 00       	jmp    0x4062f5
40625b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40625e:	c1 e8 07             	shr    $0x7,%eax
406261:	eb e7                	jmp    0x40624a
406263:	8b 45 f8             	mov    -0x8(%ebp),%eax
406266:	d1 e8                	shr    $1,%eax
406268:	eb e0                	jmp    0x40624a
40626a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40626d:	c1 e8 09             	shr    $0x9,%eax
406270:	eb d8                	jmp    0x40624a
406272:	8b 45 f8             	mov    -0x8(%ebp),%eax
406275:	eb d3                	jmp    0x40624a
406277:	8b 45 f8             	mov    -0x8(%ebp),%eax
40627a:	c1 e8 05             	shr    $0x5,%eax