406199:	89 65 e8             	mov    %esp,-0x18(%ebp)
40619c:	8b 4b 08             	mov    0x8(%ebx),%ecx
40619f:	33 c0                	xor    %eax,%eax
4061a1:	38 05 55 67 43 00    	cmp    %al,0x436755
4061a7:	0f 95 c0             	setne  %al
4061aa:	50                   	push   %eax
4061ab:	33 d2                	xor    %edx,%edx
4061ad:	8b 49 3c             	mov    0x3c(%ecx),%ecx
4061b0:	e8 7b 5a 00 00       	call   0x40bc30
4061b5:	8b f0                	mov    %eax,%esi
4061b7:	89 75 cc             	mov    %esi,-0x34(%ebp)
4061ba:	89 75 c8             	mov    %esi,-0x38(%ebp)
4061bd:	33 ff                	xor    %edi,%edi
4061bf:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
4061c6:	74 2b                	je     0x4061f3
4061c8:	8b ce                	mov    %esi,%ecx
4061ca:	66 39 3e             	cmp    %di,(%esi)
4061cd:	eb 08                	jmp    0x4061d7
4061cf:	8b c1                	mov    %ecx,%eax
4061d1:	83 c1 02             	add    $0x2,%ecx
4061d4:	66 39 39             	cmp    %di,(%ecx)
4061d7:	89 45 d0             	mov    %eax,-0x30(%ebp)
4061da:	75 f3                	jne    0x4061cf
4061dc:	3b c6                	cmp    %esi,%eax
4061de:	76 13                	jbe    0x4061f3
4061e0:	0f b7 00             	movzwl (%eax),%eax
4061e3:	50                   	push   %eax
4061e4:	ff 15 ac a3 44 00    	call   *0x44a3ac
4061ea:	59                   	pop    %ecx
4061eb:	85 c0                	test   %eax,%eax
4061ed:	0f 85 56 3c 01 00    	jne    0x419e49
4061f3:	8b ce                	mov    %esi,%ecx
4061f5:	8d 51 02             	lea    0x2(%ecx),%edx
4061f8:	66 8b 01             	mov    (%ecx),%ax
4061fb:	83 c1 02             	add    $0x2,%ecx
4061fe:	66 3b c7             	cmp    %di,%ax
406201:	75 f5                	jne    0x4061f8
406203:	2b ca                	sub    %edx,%ecx
406205:	d1 f9                	sar    $1,%ecx
406207:	89 4d d0             	mov    %ecx,-0x30(%ebp)
40620a:	8b ce                	mov    %esi,%ecx
40620c:	e8 4f 9e 00 00       	call   0x410060
406211:	50                   	push   %eax
406212:	8b 55 d0             	mov    -0x30(%ebp),%edx
406215:	42                   	inc    %edx
406216:	8b ce                	mov    %esi,%ecx
406218:	e8 83 91 00 00       	call   0x40f3a0
40621d:	89 3d dc 65 43 00    	mov    %edi,0x4365dc
406223:	66 39 3e             	cmp    %di,(%esi)
406226:	0f 84 30 3c 01 00    	je     0x419e5c
40622c:	e8 97 00 00 00       	call   0x4062c8
406231:	84 c0                	test   %al,%al
406233:	0f 84 ea 3d 01 00    	je     0x41a023
406239:	80 3d 55 67 43 00 00 	cmpb   $0x0,0x436755
406240:	74 0c                	je     0x40624e
406242:	6a 5c                	push   $0x5c
406244:	5a                   	pop    %edx
406245:	66 39 16             	cmp    %dx,(%esi)
406248:	0f 84 18 3c 01 00    	je     0x419e66
40624e:	83 3d dc 65 43 00 00 	cmpl   $0x0,0x4365dc
406255:	0f 85 ab 3d 01 00    	jne    0x41a006
40625b:	33 d2                	xor    %edx,%edx
40625d:	8b ce                	mov    %esi,%ecx
40625f:	e8 63 29 00 00       	call   0x408bc7
406264:	a3 dc 65 43 00       	mov    %eax,0x4365dc
406269:	85 c0                	test   %eax,%eax
40626b:	75 22                	jne    0x40628f
40626d:	6a 3a                	push   $0x3a
40626f:	58                   	pop    %eax
406270:	66 39 46 02          	cmp    %ax,0x2(%esi)
406274:	75 19                	jne    0x40628f
406276:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
40627c:	85 c9                	test   %ecx,%ecx
40627e:	74 41                	je     0x4062c1
406280:	0f b7 06             	movzwl (%esi),%eax
406283:	50                   	push   %eax
406284:	8b 15 00 8e 44 00    	mov    0x448e00,%edx
40628a:	e8 0f 2c 00 00       	call   0x408e9e
40628f:	83 3d dc 65 43 00 00 	cmpl   $0x0,0x4365dc
406296:	0f 85 6a 3d 01 00    	jne    0x41a006
40629c:	a1 dc 65 43 00       	mov    0x4365dc,%eax
4062a1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4062a4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4062ab:	59                   	pop    %ecx
4062ac:	5f                   	pop    %edi
4062ad:	5e                   	pop    %esi
4062ae:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4062b1:	33 cd                	xor    %ebp,%ecx
4062b3:	e8 78 08 01 00       	call   0x416b30
4062b8:	8b e5                	mov    %ebp,%esp
4062ba:	5d                   	pop    %ebp
4062bb:	8b e3                	mov    %ebx,%esp
4062bd:	5b                   	pop    %ebx
4062be:	c2 04 00             	ret    $0x4
4062c1:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
4062c6:	eb b8                	jmp    0x406280
4062c8:	8b ff                	mov    %edi,%edi
4062ca:	56                   	push   %esi
4062cb:	8b 35 f8 8d 44 00    	mov    0x448df8,%esi
4062d1:	8b ce                	mov    %esi,%ecx
4062d3:	57                   	push   %edi
4062d4:	85 f6                	test   %esi,%esi
4062d6:	0f 84 63 3d 01 00    	je     0x41a03f
4062dc:	8d 51 02             	lea    0x2(%ecx),%edx
4062df:	33 ff                	xor    %edi,%edi
4062e1:	66 8b 01             	mov    (%ecx),%ax
4062e4:	83 c1 02             	add    $0x2,%ecx
4062e7:	66 3b c7             	cmp    %di,%ax
4062ea:	75 f5                	jne    0x4062e1
4062ec:	2b ca                	sub    %edx,%ecx
4062ee:	d1 f9                	sar    $1,%ecx
4062f0:	8d 79 01             	lea    0x1(%ecx),%edi
4062f3:	85 f6                	test   %esi,%esi
4062f5:	74 50                	je     0x406347
4062f7:	8b 15 00 8e 44 00    	mov    0x448e00,%edx
4062fd:	8b ce                	mov    %esi,%ecx
4062ff:	6a 00                	push   $0x0
406301:	e8 98 2b 00 00       	call   0x408e9e
406306:	8d 04 3f             	lea    (%edi,%edi,1),%eax
406309:	50                   	push   %eax
40630a:	6a 00                	push   $0x0
40630c:	ff 15 34 a1 44 00    	call   *0x44a134
406312:	50                   	push   %eax
406313:	ff 15 28 a1 44 00    	call   *0x44a128
406319:	8b f0                	mov    %eax,%esi
40631b:	85 f6                	test   %esi,%esi
40631d:	74 36                	je     0x406355
40631f:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
406325:	85 c9                	test   %ecx,%ecx
406327:	74 25                	je     0x40634e
406329:	51                   	push   %ecx
40632a:	8b d7                	mov    %edi,%edx
40632c:	8b ce                	mov    %esi,%ecx
40632e:	e8 6d 90 00 00       	call   0x40f3a0
406333:	8b ce                	mov    %esi,%ecx
406335:	e8 1f 00 00 00       	call   0x406359
40633a:	85 c0                	test   %eax,%eax
40633c:	0f 84 07 3d 01 00    	je     0x41a049
406342:	b0 01                	mov    $0x1,%al
406344:	5f                   	pop    %edi
406345:	5e                   	pop    %esi
406346:	c3                   	ret
406347:	be f0 8b 44 00       	mov    $0x448bf0,%esi
40634c:	eb a9                	jmp    0x4062f7
40634e:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
406353:	eb d4                	jmp    0x406329
406355:	32 c0                	xor    %al,%al
406357:	eb eb                	jmp    0x406344
406359:	a1 94 67 43 00       	mov    0x436794,%eax
40635e:	53                   	push   %ebx
40635f:	56                   	push   %esi
406360:	8b 35 98 67 43 00    	mov    0x436798,%esi
406366:	8b d9                	mov    %ecx,%ebx
406368:	57                   	push   %edi
406369:	3b f0                	cmp    %eax,%esi
40636b:	74 1d                	je     0x40638a
40636d:	a1 9c 67 43 00       	mov    0x43679c,%eax
406372:	89 1c f0             	mov    %ebx,(%eax,%esi,8)
406375:	33 c9                	xor    %ecx,%ecx
406377:	66 89 4c f0 04       	mov    %cx,0x4(%eax,%esi,8)
40637c:	46                   	inc    %esi
40637d:	33 c0                	xor    %eax,%eax
40637f:	89 35 98 67 43 00    	mov    %esi,0x436798
406385:	40                   	inc    %eax
406386:	5f                   	pop    %edi
406387:	5e                   	pop    %esi
406388:	5b                   	pop    %ebx
406389:	c3                   	ret
40638a:	3d e6 ff ff 7f       	cmp    $0x7fffffe6,%eax
40638f:	7f 28                	jg     0x4063b9
406391:	8d 78 19             	lea    0x19(%eax),%edi
406394:	8b c7                	mov    %edi,%eax
406396:	c1 e0 03             	shl    $0x3,%eax
406399:	50                   	push   %eax
40639a:	ff 35 9c 67 43 00    	push   0x43679c
4063a0:	ff 15 0c a4 44 00    	call   *0x44a40c
4063a6:	59                   	pop    %ecx
4063a7:	59                   	pop    %ecx
4063a8:	85 c0                	test   %eax,%eax
4063aa:	74 0d                	je     0x4063b9
4063ac:	a3 9c 67 43 00       	mov    %eax,0x43679c
4063b1:	89 3d 94 67 43 00    	mov    %edi,0x436794
4063b7:	eb b9                	jmp    0x406372
4063b9:	33 c0                	xor    %eax,%eax
4063bb:	eb c9                	jmp    0x406386
4063bd:	8b ff                	mov    %edi,%edi
4063bf:	55                   	push   %ebp
4063c0:	8b ec                	mov    %esp,%ebp
4063c2:	51                   	push   %ecx
4063c3:	51                   	push   %ecx
4063c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4063c7:	8d 45 10             	lea    0x10(%ebp),%eax
4063ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4063cd:	33 d2                	xor    %edx,%edx
4063cf:	8d 45 fc             	lea    -0x4(%ebp),%eax
4063d2:	42                   	inc    %edx
4063d3:	50                   	push   %eax
4063d4:	ff 75 0c             	push   0xc(%ebp)
4063d7:	e8 30 15 00 00       	call   0x40790c
4063dc:	c9                   	leave
4063dd:	c3                   	ret
4063de:	a1 8c 67 43 00       	mov    0x43678c,%eax
4063e3:	33 d2                	xor    %edx,%edx
4063e5:	85 c0                	test   %eax,%eax
4063e7:	74 3c                	je     0x406425
4063e9:	8b 48 10             	mov    0x10(%eax),%ecx
4063ec:	85 c9                	test   %ecx,%ecx
4063ee:	74 12                	je     0x406402
4063f0:	83 78 18 01          	cmpl   $0x1,0x18(%eax)
4063f4:	75 0c                	jne    0x406402
4063f6:	e8 f1 1d 00 00       	call   0x4081ec
4063fb:	8b d0                	mov    %eax,%edx
4063fd:	a1 8c 67 43 00       	mov    0x43678c,%eax
406402:	8b 48 14             	mov    0x14(%eax),%ecx
406405:	85 c9                	test   %ecx,%ecx
406407:	74 12                	je     0x40641b
406409:	83 78 1c 01          	cmpl   $0x1,0x1c(%eax)
40640d:	75 0c                	jne    0x40641b
40640f:	e8 d8 1d 00 00       	call   0x4081ec
406414:	8b d0                	mov    %eax,%edx
406416:	a1 8c 67 43 00       	mov    0x43678c,%eax
40641b:	8b 40 24             	mov    0x24(%eax),%eax
40641e:	a3 8c 67 43 00       	mov    %eax,0x43678c
406423:	eb c0                	jmp    0x4063e5
406425:	83 25 88 67 43 00 00 	andl   $0x0,0x436788
40642c:	8b c2                	mov    %edx,%eax
40642e:	83 25 e8 65 43 00 00 	andl   $0x0,0x4365e8
406435:	83 25 e4 65 43 00 00 	andl   $0x0,0x4365e4
40643c:	89 15 dc 65 43 00    	mov    %edx,0x4365dc
406442:	c3                   	ret
406443:	8d 41 fd             	lea    -0x3(%ecx),%eax
406446:	33 d2                	xor    %edx,%edx
406448:	83 f8 5b             	cmp    $0x5b,%eax
40644b:	77 1a                	ja     0x406467
40644d:	83 f9 1f             	cmp    $0x1f,%ecx
406450:	0f 8f 08 3c 01 00    	jg     0x41a05e
406456:	8b 04 95 ac 67 43 00 	mov    0x4367ac(,%edx,4),%eax
40645d:	0f ab c8             	bts    %ecx,%eax
406460:	89 04 95 ac 67 43 00 	mov    %eax,0x4367ac(,%edx,4)
406467:	c3                   	ret
406468:	8b ff                	mov    %edi,%edi
40646a:	51                   	push   %ecx
40646b:	a1 a4 67 43 00       	mov    0x4367a4,%eax
406470:	85 c0                	test   %eax,%eax
406472:	74 12                	je     0x406486
406474:	50                   	push   %eax
406475:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
40647a:	e8 c2 41 00 00       	call   0x40a641
40647f:	83 25 a4 67 43 00 00 	andl   $0x0,0x4367a4
406486:	59                   	pop    %ecx
406487:	c3                   	ret
406488:	8b ff                	mov    %edi,%edi
40648a:	55                   	push   %ebp
40648b:	8b ec                	mov    %esp,%ebp
40648d:	83 ec 7c             	sub    $0x7c,%esp
406490:	53                   	push   %ebx
406491:	33 c0                	xor    %eax,%eax
406493:	89 55 f0             	mov    %edx,-0x10(%ebp)
406496:	8b d9                	mov    %ecx,%ebx
406498:	89 45 e8             	mov    %eax,-0x18(%ebp)
40649b:	56                   	push   %esi
40649c:	57                   	push   %edi
40649d:	89 45 f4             	mov    %eax,-0xc(%ebp)
4064a0:	39 05 9c 25 43 00    	cmp    %eax,0x43259c
4064a6:	75 66                	jne    0x40650e
4064a8:	8b 45 10             	mov    0x10(%ebp),%eax
4064ab:	8b f8                	mov    %eax,%edi
4064ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064b0:	8b 45 24             	mov    0x24(%ebp),%eax
4064b3:	50                   	push   %eax
4064b4:	8b 45 20             	mov    0x20(%ebp),%eax
4064b7:	50                   	push   %eax
4064b8:	8b 45 1c             	mov    0x1c(%ebp),%eax
4064bb:	50                   	push   %eax
4064bc:	8b 45 14             	mov    0x14(%ebp),%eax
4064bf:	51                   	push   %ecx
4064c0:	50                   	push   %eax
4064c1:	8b 45 0c             	mov    0xc(%ebp),%eax
4064c4:	c1 ef 02             	shr    $0x2,%edi
4064c7:	83 e7 01             	and    $0x1,%edi
4064ca:	57                   	push   %edi
4064cb:	50                   	push   %eax
4064cc:	8b 45 08             	mov    0x8(%ebp),%eax
4064cf:	50                   	push   %eax
4064d0:	e8 3e 00 00 00       	call   0x406513
4064d5:	85 c0                	test   %eax,%eax
4064d7:	0f 85 92 3b 01 00    	jne    0x41a06f
4064dd:	8b 75 fc             	mov    -0x4(%ebp),%esi
4064e0:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4064e7:	83 e6 01             	and    $0x1,%esi
4064ea:	8b 4b 18             	mov    0x18(%ebx),%ecx
4064ed:	e8 6e 77 00 00       	call   0x40dc60
4064f2:	33 c0                	xor    %eax,%eax
4064f4:	89 43 18             	mov    %eax,0x18(%ebx)
4064f7:	39 05 9c 25 43 00    	cmp    %eax,0x43259c
4064fd:	75 0f                	jne    0x40650e
4064ff:	85 f6                	test   %esi,%esi
406501:	0f 85 87 3b 01 00    	jne    0x41a08e
406507:	5f                   	pop    %edi
406508:	5e                   	pop    %esi
406509:	5b                   	pop    %ebx
40650a:	c9                   	leave
40650b:	c2 20 00             	ret    $0x20
40650e:	33 c0                	xor    %eax,%eax
406510:	40                   	inc    %eax
406511:	eb f4                	jmp    0x406507
406513:	8b ff                	mov    %edi,%edi
406515:	55                   	push   %ebp
406516:	8b ec                	mov    %esp,%ebp
406518:	81 ec 54 02 00 00    	sub    $0x254,%esp
40651e:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
406523:	33 c5                	xor    %ebp,%eax
406525:	89 45 fc             	mov    %eax,-0x4(%ebp)
406528:	8b 45 14             	mov    0x14(%ebp),%eax
40652b:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
406531:	8b 45 1c             	mov    0x1c(%ebp),%eax
406534:	53                   	push   %ebx
406535:	89 85 b4 fd ff ff    	mov    %eax,-0x24c(%ebp)
40653b:	8b 45 20             	mov    0x20(%ebp),%eax
40653e:	56                   	push   %esi
40653f:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
406545:	8b f1                	mov    %ecx,%esi
406547:	8b 45 24             	mov    0x24(%ebp),%eax
40654a:	b9 04 01 00 00       	mov    $0x104,%ecx
40654f:	57                   	push   %edi
406550:	89 85 ac fd ff ff    	mov    %eax,-0x254(%ebp)
406556:	bf 00 08 00 00       	mov    $0x800,%edi
40655b:	33 c0                	xor    %eax,%eax
40655d:	89 95 d0 fd ff ff    	mov    %edx,-0x230(%ebp)
406563:	51                   	push   %ecx
406564:	50                   	push   %eax
406565:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
40656b:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
406571:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
406577:	a3 a8 67 43 00       	mov    %eax,0x4367a8
40657c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40657f:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
406585:	50                   	push   %eax
406586:	89 bd c8 fd ff ff    	mov    %edi,-0x238(%ebp)
40658c:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
406590:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406593:	e8 25 1a 01 00       	call   0x417fbd
406598:	83 c4 0c             	add    $0xc,%esp
40659b:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4065a1:	68 e9 7f 00 00       	push   $0x7fe9
4065a6:	e8 45 7e 00 00       	call   0x40e3f0
4065ab:	85 c0                	test   %eax,%eax
4065ad:	0f 88 88 3e 01 00    	js     0x41a43b
4065b3:	8b cf                	mov    %edi,%ecx
4065b5:	e8 16 77 00 00       	call   0x40dcd0