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
40627d:	eb cb                	jmp    0x40624a
40627f:	8b 45 f8             	mov    -0x8(%ebp),%eax
406282:	c1 e8 0a             	shr    $0xa,%eax
406285:	eb c3                	jmp    0x40624a
406287:	33 ff                	xor    %edi,%edi
406289:	47                   	inc    %edi
40628a:	57                   	push   %edi
40628b:	6a 02                	push   $0x2
40628d:	56                   	push   %esi
40628e:	56                   	push   %esi
40628f:	8b 35 ac b1 44 00    	mov    0x44b1ac,%esi
406295:	ff d6                	call   *%esi
406297:	57                   	push   %edi
406298:	57                   	push   %edi
406299:	52                   	push   %edx
40629a:	50                   	push   %eax
40629b:	ff d6                	call   *%esi
40629d:	57                   	push   %edi
40629e:	6a 20                	push   $0x20
4062a0:	52                   	push   %edx
4062a1:	50                   	push   %eax
4062a2:	ff d6                	call   *%esi
4062a4:	57                   	push   %edi
4062a5:	6a 10                	push   $0x10
4062a7:	52                   	push   %edx
4062a8:	50                   	push   %eax
4062a9:	ff d6                	call   *%esi
4062ab:	52                   	push   %edx
4062ac:	50                   	push   %eax
4062ad:	6a 33                	push   $0x33
4062af:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
4062b5:	50                   	push   %eax
4062b6:	ff 15 d4 b1 44 00    	call   *0x44b1d4
4062bc:	eb 91                	jmp    0x40624f
4062be:	8b 45 f8             	mov    -0x8(%ebp),%eax
4062c1:	33 ff                	xor    %edi,%edi
4062c3:	47                   	inc    %edi
4062c4:	a8 10                	test   $0x10,%al
4062c6:	74 10                	je     0x4062d8
4062c8:	25 00 01 00 00       	and    $0x100,%eax
4062cd:	33 c9                	xor    %ecx,%ecx
4062cf:	66 3b c8             	cmp    %ax,%cx
4062d2:	75 04                	jne    0x4062d8
4062d4:	8b c7                	mov    %edi,%eax
4062d6:	eb 17                	jmp    0x4062ef
4062d8:	0f 57 c0             	xorps  %xmm0,%xmm0
4062db:	66 0f 13 85 c0 fe ff 	movlpd %xmm0,-0x140(%ebp)
4062e2:	ff
4062e3:	8b b5 c4 fe ff ff    	mov    -0x13c(%ebp),%esi
4062e9:	8b 85 c0 fe ff ff    	mov    -0x140(%ebp),%eax
4062ef:	89 b5 cc fe ff ff    	mov    %esi,-0x134(%ebp)
4062f5:	89 bd d8 fe ff ff    	mov    %edi,-0x128(%ebp)
4062fb:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
406301:	53                   	push   %ebx
406302:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
406308:	50                   	push   %eax
406309:	e8 65 9c 01 00       	call   0x41ff73
40630e:	8b f0                	mov    %eax,%esi
406310:	85 f6                	test   %esi,%esi
406312:	79 0d                	jns    0x406321
406314:	68 fc ca 44 00       	push   $0x44cafc
406319:	56                   	push   %esi
40631a:	e8 10 9e 03 00       	call   0x44012f
40631f:	59                   	pop    %ecx
406320:	59                   	pop    %ecx
406321:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406324:	8b c6                	mov    %esi,%eax
406326:	5f                   	pop    %edi
406327:	5e                   	pop    %esi
406328:	33 cd                	xor    %ebp,%ecx
40632a:	5b                   	pop    %ebx
40632b:	e8 06 7b 02 00       	call   0x42de36
406330:	8b e5                	mov    %ebp,%esp
406332:	5d                   	pop    %ebp
406333:	c2 08 00             	ret    $0x8
406336:	66 90                	xchg   %ax,%ax
406338:	2a 62 40             	sub    0x40(%edx),%ah
40633b:	00 44 62 40          	add    %al,0x40(%edx,%eiz,2)
40633f:	00 5b 62             	add    %bl,0x62(%ebx)
406342:	40                   	inc    %eax
406343:	00 63 62             	add    %ah,0x62(%ebx)
406346:	40                   	inc    %eax
406347:	00 6a 62             	add    %ch,0x62(%edx)
40634a:	40                   	inc    %eax
40634b:	00 72 62             	add    %dh,0x62(%edx)
40634e:	40                   	inc    %eax
40634f:	00 77 62             	add    %dh,0x62(%edi)
406352:	40                   	inc    %eax
406353:	00 7f 62             	add    %bh,0x62(%edi)
406356:	40                   	inc    %eax
406357:	00 87 62 40 00 be    	add    %al,-0x41ffbf9e(%edi)
40635d:	62 40 00             	bound  %eax,0x0(%eax)
406360:	55                   	push   %ebp
406361:	8b ec                	mov    %esp,%ebp
406363:	51                   	push   %ecx
406364:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406368:	8d 45 fc             	lea    -0x4(%ebp),%eax
40636b:	56                   	push   %esi
40636c:	50                   	push   %eax
40636d:	e8 c9 d5 03 00       	call   0x44393b
406372:	8b f0                	mov    %eax,%esi
406374:	85 f6                	test   %esi,%esi
406376:	79 07                	jns    0x40637f
406378:	68 08 d9 44 00       	push   $0x44d908
40637d:	eb 19                	jmp    0x406398
40637f:	8b 45 fc             	mov    -0x4(%ebp),%eax
406382:	99                   	cltd
406383:	52                   	push   %edx
406384:	50                   	push   %eax
406385:	ff 75 0c             	push   0xc(%ebp)
406388:	e8 23 9f 01 00       	call   0x4202b0
40638d:	8b f0                	mov    %eax,%esi
40638f:	85 f6                	test   %esi,%esi
406391:	79 0d                	jns    0x4063a0
406393:	68 fc ca 44 00       	push   $0x44cafc
406398:	56                   	push   %esi
406399:	e8 91 9d 03 00       	call   0x44012f
40639e:	59                   	pop    %ecx
40639f:	59                   	pop    %ecx
4063a0:	8b c6                	mov    %esi,%eax
4063a2:	5e                   	pop    %esi
4063a3:	8b e5                	mov    %ebp,%esp
4063a5:	5d                   	pop    %ebp
4063a6:	c2 08 00             	ret    $0x8
4063a9:	55                   	push   %ebp
4063aa:	8b ec                	mov    %esp,%ebp
4063ac:	51                   	push   %ecx
4063ad:	56                   	push   %esi
4063ae:	57                   	push   %edi
4063af:	33 f6                	xor    %esi,%esi
4063b1:	56                   	push   %esi
4063b2:	89 75 fc             	mov    %esi,-0x4(%ebp)
4063b5:	ff 15 b4 b3 44 00    	call   *0x44b3b4
4063bb:	85 c0                	test   %eax,%eax
4063bd:	79 0c                	jns    0x4063cb
4063bf:	3d 06 01 01 80       	cmp    $0x80010106,%eax
4063c4:	74 05                	je     0x4063cb
4063c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4063c9:	eb 19                	jmp    0x4063e4
4063cb:	8d 45 fc             	lea    -0x4(%ebp),%eax
4063ce:	33 f6                	xor    %esi,%esi
4063d0:	50                   	push   %eax
4063d1:	46                   	inc    %esi
4063d2:	e8 0f d9 03 00       	call   0x443ce6
4063d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4063da:	33 d2                	xor    %edx,%edx
4063dc:	85 c0                	test   %eax,%eax
4063de:	0f 48 ca             	cmovs  %edx,%ecx
4063e1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4063e4:	8b c1                	mov    %ecx,%eax
4063e6:	99                   	cltd
4063e7:	52                   	push   %edx
4063e8:	50                   	push   %eax
4063e9:	ff 75 0c             	push   0xc(%ebp)
4063ec:	e8 bf 9e 01 00       	call   0x4202b0
4063f1:	8b f8                	mov    %eax,%edi
4063f3:	85 ff                	test   %edi,%edi
4063f5:	79 0d                	jns    0x406404
4063f7:	68 3c d9 44 00       	push   $0x44d93c
4063fc:	57                   	push   %edi
4063fd:	e8 2d 9d 03 00       	call   0x44012f
406402:	59                   	pop    %ecx
406403:	59                   	pop    %ecx
406404:	85 f6                	test   %esi,%esi
406406:	74 06                	je     0x40640e
406408:	ff 15 ac b3 44 00    	call   *0x44b3ac
40640e:	8b c7                	mov    %edi,%eax
406410:	5f                   	pop    %edi
406411:	5e                   	pop    %esi
406412:	8b e5                	mov    %ebp,%esp
406414:	5d                   	pop    %ebp
406415:	c2 08 00             	ret    $0x8
406418:	55                   	push   %ebp
406419:	8b ec                	mov    %esp,%ebp
40641b:	51                   	push   %ecx