40613b:	8b ce                	mov    %esi,%ecx
40613d:	57                   	push   %edi
40613e:	e8 51 07 00 00       	call   0x406894
406143:	8b 5c 24 20          	mov    0x20(%esp),%ebx
406147:	56                   	push   %esi
406148:	53                   	push   %ebx
406149:	ff 15 08 33 43 00    	call   *0x433308
40614f:	57                   	push   %edi
406150:	6a 00                	push   $0x0
406152:	53                   	push   %ebx
406153:	ff 15 fc 31 43 00    	call   *0x4331fc
406159:	e9 c7 fb ff ff       	jmp    0x405d25
40615e:	33 c0                	xor    %eax,%eax
406160:	50                   	push   %eax
406161:	50                   	push   %eax
406162:	68 4e 01 00 00       	push   $0x14e
406167:	68 ca 00 00 00       	push   $0xca
40616c:	ff 35 10 19 43 00    	push   0x431910
406172:	ff 15 14 33 43 00    	call   *0x433314
406178:	50                   	push   %eax
406179:	ff 15 10 33 43 00    	call   *0x433310
40617f:	6a 40                	push   $0x40
406181:	8d 44 24 3c          	lea    0x3c(%esp),%eax
406185:	50                   	push   %eax
406186:	68 95 01 00 00       	push   $0x195
40618b:	ff 35 0c 19 41 00    	push   0x41190c
406191:	ff 15 20 33 43 00    	call   *0x433320
406197:	8d 44 24 38          	lea    0x38(%esp),%eax
40619b:	bb 85 00 00 00       	mov    $0x85,%ebx
4061a0:	50                   	push   %eax
4061a1:	53                   	push   %ebx
4061a2:	ff 35 10 19 43 00    	push   0x431910
4061a8:	ff 15 10 32 43 00    	call   *0x433210
4061ae:	33 ff                	xor    %edi,%edi
4061b0:	47                   	inc    %edi
4061b1:	57                   	push   %edi
4061b2:	53                   	push   %ebx
4061b3:	ff 35 10 19 43 00    	push   0x431910
4061b9:	ff 15 14 33 43 00    	call   *0x433314
4061bf:	50                   	push   %eax
4061c0:	ff 15 14 32 43 00    	call   *0x433214
4061c6:	53                   	push   %ebx
4061c7:	ff 35 10 19 43 00    	push   0x431910
4061cd:	89 3d 78 26 43 00    	mov    %edi,0x432678
4061d3:	ff 15 14 33 43 00    	call   *0x433314
4061d9:	50                   	push   %eax
4061da:	ff 15 28 33 43 00    	call   *0x433328
4061e0:	56                   	push   %esi
4061e1:	ff 15 00 33 43 00    	call   *0x433300
4061e7:	e9 e3 02 00 00       	jmp    0x4064cf
4061ec:	8d 44 24 38          	lea    0x38(%esp),%eax
4061f0:	50                   	push   %eax
4061f1:	56                   	push   %esi
4061f2:	ff 15 ec 32 43 00    	call   *0x4332ec
4061f8:	8b f8                	mov    %eax,%edi
4061fa:	8b d7                	mov    %edi,%edx
4061fc:	e8 eb 04 00 00       	call   0x4066ec
406201:	ff 35 7c 25 43 00    	push   0x43257c
406207:	57                   	push   %edi
406208:	ff 15 ac 30 43 00    	call   *0x4330ac
40620e:	6a 0f                	push   $0xf
406210:	89 44 24 18          	mov    %eax,0x18(%esp)
406214:	ff 15 0c 32 43 00    	call   *0x43320c
40621a:	50                   	push   %eax
40621b:	57                   	push   %edi
40621c:	ff 15 94 30 43 00    	call   *0x433094
406222:	8b 1d c0 18 41 00    	mov    0x4118c0,%ebx
406228:	33 c9                	xor    %ecx,%ecx
40622a:	8b d3                	mov    %ebx,%edx
40622c:	8d 42 02             	lea    0x2(%edx),%eax
40622f:	89 44 24 24          	mov    %eax,0x24(%esp)
406233:	66 8b 02             	mov    (%edx),%ax
406236:	83 c2 02             	add    $0x2,%edx
406239:	66 3b c1             	cmp    %cx,%ax
40623c:	75 f5                	jne    0x406233
40623e:	2b 54 24 24          	sub    0x24(%esp),%edx
406242:	d1 fa                	sar    $1,%edx
406244:	52                   	push   %edx
406245:	53                   	push   %ebx
406246:	ff 35 e0 18 41 00    	push   0x4118e0
40624c:	ff 35 e4 18 41 00    	push   0x4118e4
406252:	57                   	push   %edi
406253:	ff 15 90 30 43 00    	call   *0x433090
406259:	ff 74 24 14          	push   0x14(%esp)
40625d:	57                   	push   %edi
40625e:	ff 15 ac 30 43 00    	call   *0x4330ac
406264:	8d 44 24 38          	lea    0x38(%esp),%eax
406268:	50                   	push   %eax
406269:	56                   	push   %esi
40626a:	ff 15 f4 32 43 00    	call   *0x4332f4
406270:	e9 5a 02 00 00       	jmp    0x4064cf
406275:	6a 01                	push   $0x1
406277:	68 82 00 00 00       	push   $0x82
40627c:	ff 35 10 19 43 00    	push   0x431910
406282:	ff 15 14 33 43 00    	call   *0x433314
406288:	50                   	push   %eax
406289:	ff 15 14 32 43 00    	call   *0x433214
40628f:	8b 0d 10 19 43 00    	mov    0x431910,%ecx
406295:	33 d2                	xor    %edx,%edx
406297:	e8 ef 81 00 00       	call   0x40e48b
40629c:	83 25 88 25 43 00 00 	andl   $0x0,0x432588
4062a3:	eb 3e                	jmp    0x4062e3
4062a5:	ff 75 14             	push   0x14(%ebp)
4062a8:	ff 75 10             	push   0x10(%ebp)
4062ab:	50                   	push   %eax
4062ac:	56                   	push   %esi
4062ad:	ff 15 08 32 43 00    	call   *0x433208
4062b3:	e9 19 02 00 00       	jmp    0x4064d1
4062b8:	8b c7                	mov    %edi,%eax
4062ba:	2d 14 01 00 00       	sub    $0x114,%eax
4062bf:	0f 84 ff 01 00 00    	je     0x4064c4
4062c5:	83 e8 01             	sub    $0x1,%eax
4062c8:	0f 84 e9 01 00 00    	je     0x4064b7
4062ce:	2d eb 00 00 00       	sub    $0xeb,%eax
4062d3:	0f 84 42 01 00 00    	je     0x40641b
4062d9:	83 e8 01             	sub    $0x1,%eax
4062dc:	74 2d                	je     0x40630b
4062de:	83 e8 01             	sub    $0x1,%eax
4062e1:	74 09                	je     0x4062ec
4062e3:	ff 75 14             	push   0x14(%ebp)
4062e6:	ff 75 10             	push   0x10(%ebp)
4062e9:	57                   	push   %edi
4062ea:	eb c0                	jmp    0x4062ac
4062ec:	83 3d 60 25 43 00 00 	cmpl   $0x0,0x432560
4062f3:	0f 84 d6 01 00 00    	je     0x4064cf
4062f9:	ff 15 30 32 43 00    	call   *0x433230
4062ff:	83 25 60 25 43 00 00 	andl   $0x0,0x432560
406306:	e9 c4 01 00 00       	jmp    0x4064cf
40630b:	8b 45 14             	mov    0x14(%ebp),%eax
40630e:	0f bf d8             	movswl %ax,%ebx
406311:	c1 e8 10             	shr    $0x10,%eax
406314:	98                   	cwtl
406315:	50                   	push   %eax
406316:	53                   	push   %ebx
406317:	68 cc 18 41 00       	push   $0x4118cc
40631c:	89 44 24 20          	mov    %eax,0x20(%esp)
406320:	ff 15 28 32 43 00    	call   *0x433228
406326:	85 c0                	test   %eax,%eax
406328:	0f 84 a1 01 00 00    	je     0x4064cf
40632e:	8b 0d ac 10 41 00    	mov    0x4110ac,%ecx
406334:	8b 15 a8 10 41 00    	mov    0x4110a8,%edx
40633a:	e8 5b 07 00 00       	call   0x406a9a
40633f:	85 c0                	test   %eax,%eax
406341:	0f 84 88 01 00 00    	je     0x4064cf
406347:	56                   	push   %esi
406348:	ff 15 2c 32 43 00    	call   *0x43322c
40634e:	33 ff                	xor    %edi,%edi
406350:	8d 4c 24 28          	lea    0x28(%esp),%ecx
406354:	47                   	inc    %edi
406355:	89 3d 60 25 43 00    	mov    %edi,0x432560
40635b:	e8 8c 06 00 00       	call   0x4069ec
406360:	89 44 24 24          	mov    %eax,0x24(%esp)
406364:	8b 44 24 14          	mov    0x14(%esp),%eax
406368:	2b 05 f8 18 41 00    	sub    0x4118f8,%eax
40636e:	99                   	cltd
40636f:	f7 3d f0 18 41 00    	idivl  0x4118f0
406375:	2b 1d dc 18 41 00    	sub    0x4118dc,%ebx
40637b:	8b c8                	mov    %eax,%ecx
40637d:	8b c3                	mov    %ebx,%eax
40637f:	99                   	cltd
406380:	f7 3d f4 18 41 00    	idivl  0x4118f4
406386:	03 0d 70 25 43 00    	add    0x432570,%ecx
40638c:	03 05 6c 25 43 00    	add    0x43256c,%eax
406392:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
406397:	89 4c 24 18          	mov    %ecx,0x18(%esp)
40639b:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40639f:	74 0f                	je     0x4063b0
4063a1:	8b d0                	mov    %eax,%edx
4063a3:	e8 f2 06 00 00       	call   0x406a9a
4063a8:	85 c0                	test   %eax,%eax
4063aa:	0f 84 1f 01 00 00    	je     0x4064cf
4063b0:	56                   	push   %esi
4063b1:	ff 15 f0 32 43 00    	call   *0x4332f0
4063b7:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
4063bc:	8b d8                	mov    %eax,%ebx
4063be:	74 1b                	je     0x4063db
4063c0:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4063c4:	e8 a7 06 00 00       	call   0x406a70
4063c9:	57                   	push   %edi
4063ca:	ff 74 24 18          	push   0x18(%esp)
4063ce:	8d 54 24 30          	lea    0x30(%esp),%edx
4063d2:	8b cb                	mov    %ebx,%ecx
4063d4:	6a 00                	push   $0x0
4063d6:	e8 b9 04 00 00       	call   0x406894
4063db:	8b 44 24 18          	mov    0x18(%esp),%eax
4063df:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4063e3:	a3 ac 10 41 00       	mov    %eax,0x4110ac
4063e8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4063ec:	a3 a8 10 41 00       	mov    %eax,0x4110a8
4063f1:	e8 f6 05 00 00       	call   0x4069ec
4063f6:	85 c0                	test   %eax,%eax
4063f8:	74 1a                	je     0x406414
4063fa:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4063fe:	e8 6d 06 00 00       	call   0x406a70
406403:	57                   	push   %edi
406404:	ff 74 24 18          	push   0x18(%esp)
406408:	8d 54 24 30          	lea    0x30(%esp),%edx
40640c:	8b cb                	mov    %ebx,%ecx
40640e:	57                   	push   %edi
40640f:	e8 80 04 00 00       	call   0x406894
406414:	53                   	push   %ebx
406415:	56                   	push   %esi
406416:	e9 04 f9 ff ff       	jmp    0x405d1f
40641b:	8b 45 14             	mov    0x14(%ebp),%eax
40641e:	0f bf f8             	movswl %ax,%edi
406421:	c1 e8 10             	shr    $0x10,%eax
406424:	83 3d 60 25 43 00 00 	cmpl   $0x0,0x432560
40642b:	0f bf d8             	movswl %ax,%ebx
40642e:	0f 84 9b 00 00 00    	je     0x4064cf
406434:	53                   	push   %ebx
406435:	57                   	push   %edi
406436:	68 cc 18 41 00       	push   $0x4118cc
40643b:	ff 15 28 32 43 00    	call   *0x433228
406441:	85 c0                	test   %eax,%eax
406443:	0f 84 86 00 00 00    	je     0x4064cf
406449:	53                   	push   %ebx
40644a:	57                   	push   %edi
40644b:	e8 81 06 00 00       	call   0x406ad1
406450:	85 c0                	test   %eax,%eax
406452:	75 7b                	jne    0x4064cf
406454:	2b 1d f8 18 41 00    	sub    0x4118f8,%ebx
40645a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
40645e:	8b c3                	mov    %ebx,%eax
406460:	2b 3d dc 18 41 00    	sub    0x4118dc,%edi
406466:	99                   	cltd
406467:	f7 3d f0 18 41 00    	idivl  0x4118f0
40646d:	8b d8                	mov    %eax,%ebx
40646f:	8b c7                	mov    %edi,%eax
406471:	99                   	cltd
406472:	f7 3d f4 18 41 00    	idivl  0x4118f4
406478:	03 1d 70 25 43 00    	add    0x432570,%ebx
40647e:	8b f8                	mov    %eax,%edi
406480:	89 5c 24 18          	mov    %ebx,0x18(%esp)
406484:	03 3d 6c 25 43 00    	add    0x43256c,%edi
40648a:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
40648e:	e8 59 05 00 00       	call   0x4069ec
406493:	89 44 24 24          	mov    %eax,0x24(%esp)
406497:	85 c0                	test   %eax,%eax
406499:	74 0d                	je     0x4064a8
40649b:	8b d7                	mov    %edi,%edx
40649d:	8b cb                	mov    %ebx,%ecx
40649f:	e8 f6 05 00 00       	call   0x406a9a
4064a4:	85 c0                	test   %eax,%eax
4064a6:	74 27                	je     0x4064cf
4064a8:	56                   	push   %esi
4064a9:	ff 15 f0 32 43 00    	call   *0x4332f0
4064af:	33 ff                	xor    %edi,%edi
4064b1:	47                   	inc    %edi
4064b2:	e9 00 ff ff ff       	jmp    0x4063b7
4064b7:	51                   	push   %ecx
4064b8:	ff 75 10             	push   0x10(%ebp)
4064bb:	8b ce                	mov    %esi,%ecx
4064bd:	e8 fd 00 00 00       	call   0x4065bf
4064c2:	eb 0b                	jmp    0x4064cf
4064c4:	51                   	push   %ecx
4064c5:	ff 75 10             	push   0x10(%ebp)
4064c8:	8b ce                	mov    %esi,%ecx
4064ca:	e8 19 00 00 00       	call   0x4064e8
4064cf:	33 c0                	xor    %eax,%eax
4064d1:	8b 8c 24 bc 00 00 00 	mov    0xbc(%esp),%ecx
4064d8:	5f                   	pop    %edi
4064d9:	5e                   	pop    %esi
4064da:	5b                   	pop    %ebx
4064db:	33 cc                	xor    %esp,%ecx
4064dd:	e8 4e 9f 00 00       	call   0x410430
4064e2:	8b e5                	mov    %ebp,%esp
4064e4:	5d                   	pop    %ebp
4064e5:	c2 10 00             	ret    $0x10
4064e8:	8b ff                	mov    %edi,%edi
4064ea:	55                   	push   %ebp
4064eb:	8b ec                	mov    %esp,%ebp
4064ed:	83 ec 20             	sub    $0x20,%esp
4064f0:	a1 64 10 41 00       	mov    0x411064,%eax
4064f5:	33 c5                	xor    %ebp,%eax
4064f7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064fa:	56                   	push   %esi
4064fb:	8d 45 e0             	lea    -0x20(%ebp),%eax
4064fe:	c7 45 e0 1c 00 00 00 	movl   $0x1c,-0x20(%ebp)
406505:	50                   	push   %eax
406506:	6a 02                	push   $0x2
406508:	ff 35 c8 18 41 00    	push   0x4118c8
40650e:	8b f1                	mov    %ecx,%esi
406510:	c7 45 e4 07 00 00 00 	movl   $0x7,-0x1c(%ebp)
406517:	ff 15 34 32 43 00    	call   *0x433234
40651d:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
406521:	83 e8 00             	sub    $0x0,%eax
406524:	74 4f                	je     0x406575
406526:	83 e8 01             	sub    $0x1,%eax
406529:	74 3d                	je     0x406568
40652b:	83 e8 01             	sub    $0x1,%eax
40652e:	74 29                	je     0x406559
406530:	83 e8 01             	sub    $0x1,%eax
406533:	74 12                	je     0x406547
406535:	83 e8 03             	sub    $0x3,%eax
406538:	74 09                	je     0x406543
40653a:	83 e8 01             	sub    $0x1,%eax
40653d:	74 15                	je     0x406554
40653f:	33 c0                	xor    %eax,%eax
406541:	eb 6d                	jmp    0x4065b0
406543:	33 c0                	xor    %eax,%eax
406545:	eb 38                	jmp    0x40657f
406547:	a1 6c 25 43 00       	mov    0x43256c,%eax
40654c:	83 c0 03             	add    $0x3,%eax
40654f:	3b 45 ec             	cmp    -0x14(%ebp),%eax
406552:	7e 2b                	jle    0x40657f
406554:	8b 45 ec             	mov    -0x14(%ebp),%eax
406557:	eb 26                	jmp    0x40657f
406559:	a1 6c 25 43 00       	mov    0x43256c,%eax
40655e:	83 f8 03             	cmp    $0x3,%eax
406561:	7c e0                	jl     0x406543
406563:	83 c0 fd             	add    $0xfffffffd,%eax
406566:	eb 17                	jmp    0x40657f
406568:	a1 6c 25 43 00       	mov    0x43256c,%eax
40656d:	3b 45 ec             	cmp    -0x14(%ebp),%eax
406570:	7d 12                	jge    0x406584
406572:	40                   	inc    %eax
406573:	eb 0a                	jmp    0x40657f
406575:	a1 6c 25 43 00       	mov    0x43256c,%eax
40657a:	85 c0                	test   %eax,%eax
40657c:	74 06                	je     0x406584
40657e:	48                   	dec    %eax
40657f:	a3 6c 25 43 00       	mov    %eax,0x43256c
406584:	6a 01                	push   $0x1
406586:	8d 4d e0             	lea    -0x20(%ebp),%ecx
406589:	89 45 f4             	mov    %eax,-0xc(%ebp)
40658c:	51                   	push   %ecx
40658d:	6a 02                	push   $0x2
40658f:	ff 35 c8 18 41 00    	push   0x4118c8
406595:	c7 45 e4 04 00 00 00 	movl   $0x4,-0x1c(%ebp)
40659c:	ff 15 18 32 43 00    	call   *0x433218
4065a2:	6a 00                	push   $0x0
4065a4:	6a 00                	push   $0x0
4065a6:	56                   	push   %esi
4065a7:	ff 15 fc 31 43 00    	call   *0x4331fc
4065ad:	33 c0                	xor    %eax,%eax
4065af:	40                   	inc    %eax
4065b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4065b3:	33 cd                	xor    %ebp,%ecx
4065b5:	5e                   	pop    %esi
4065b6:	e8 75 9e 00 00       	call   0x410430
4065bb:	c9                   	leave
4065bc:	c2 08 00             	ret    $0x8
4065bf:	8b ff                	mov    %edi,%edi
4065c1:	55                   	push   %ebp
4065c2:	8b ec                	mov    %esp,%ebp
4065c4:	83 ec 20             	sub    $0x20,%esp
4065c7:	a1 64 10 41 00       	mov    0x411064,%eax
4065cc:	33 c5                	xor    %ebp,%eax
4065ce:	89 45 fc             	mov    %eax,-0x4(%ebp)
4065d1:	56                   	push   %esi