409465:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40946c:	e8 cf fd ff ff       	call   0x409240
409471:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409474:	e8 67 00 00 00       	call   0x4094e0
409479:	8b 75 f8             	mov    -0x8(%ebp),%esi
40947c:	56                   	push   %esi
40947d:	ff 15 64 11 43 00    	call   *0x431164
409483:	8b d8                	mov    %eax,%ebx
409485:	83 fb ff             	cmp    $0xffffffff,%ebx
409488:	74 1f                	je     0x4094a9
40948a:	f6 c3 03             	test   $0x3,%bl
40948d:	74 16                	je     0x4094a5
40948f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409492:	e8 49 00 00 00       	call   0x4094e0
409497:	8b 75 f8             	mov    -0x8(%ebp),%esi
40949a:	83 e3 fc             	and    $0xfffffffc,%ebx
40949d:	53                   	push   %ebx
40949e:	56                   	push   %esi
40949f:	ff 15 74 11 43 00    	call   *0x431174
4094a5:	b3 01                	mov    $0x1,%bl
4094a7:	eb 02                	jmp    0x4094ab
4094a9:	32 db                	xor    %bl,%bl
4094ab:	8b 45 f4             	mov    -0xc(%ebp),%eax
4094ae:	85 c0                	test   %eax,%eax
4094b0:	74 09                	je     0x4094bb
4094b2:	50                   	push   %eax
4094b3:	e8 38 d5 ff ff       	call   0x4069f0
4094b8:	83 c4 04             	add    $0x4,%esp
4094bb:	85 f6                	test   %esi,%esi
4094bd:	74 09                	je     0x4094c8
4094bf:	56                   	push   %esi
4094c0:	e8 2b d5 ff ff       	call   0x4069f0
4094c5:	83 c4 04             	add    $0x4,%esp
4094c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4094cb:	85 c0                	test   %eax,%eax
4094cd:	74 09                	je     0x4094d8
4094cf:	50                   	push   %eax
4094d0:	e8 1b d5 ff ff       	call   0x4069f0
4094d5:	83 c4 04             	add    $0x4,%esp
4094d8:	5e                   	pop    %esi
4094d9:	8a c3                	mov    %bl,%al
4094db:	5b                   	pop    %ebx
4094dc:	8b e5                	mov    %ebp,%esp
4094de:	5d                   	pop    %ebp
4094df:	c3                   	ret
4094e0:	56                   	push   %esi
4094e1:	8b f1                	mov    %ecx,%esi
4094e3:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4094e7:	0f 85 ad 00 00 00    	jne    0x40959a
4094ed:	8b 46 04             	mov    0x4(%esi),%eax
4094f0:	80 38 5c             	cmpb   $0x5c,(%eax)
4094f3:	75 71                	jne    0x409566
4094f5:	80 78 01 5c          	cmpb   $0x5c,0x1(%eax)
4094f9:	75 6b                	jne    0x409566
4094fb:	80 78 02 3f          	cmpb   $0x3f,0x2(%eax)
4094ff:	75 15                	jne    0x409516
409501:	80 78 03 5c          	cmpb   $0x5c,0x3(%eax)
409505:	75 0f                	jne    0x409516
409507:	68 06 00 01 00       	push   $0x10006
40950c:	e8 af d4 ff ff       	call   0x4069c0
409511:	89 46 08             	mov    %eax,0x8(%esi)
409514:	eb 70                	jmp    0x409586
409516:	68 0e 00 01 00       	push   $0x1000e
40951b:	e8 a0 d4 ff ff       	call   0x4069c0
409520:	89 46 08             	mov    %eax,0x8(%esi)
409523:	8b 0d 88 16 43 00    	mov    0x431688,%ecx
409529:	6a 06                	push   $0x6
40952b:	89 08                	mov    %ecx,(%eax)
40952d:	8b 0d 8c 16 43 00    	mov    0x43168c,%ecx
409533:	89 48 04             	mov    %ecx,0x4(%eax)
409536:	8b 0d 90 16 43 00    	mov    0x431690,%ecx
40953c:	89 48 08             	mov    %ecx,0x8(%eax)
40953f:	8b 0d 94 16 43 00    	mov    0x431694,%ecx
409545:	89 48 0c             	mov    %ecx,0xc(%eax)
409548:	8b 46 08             	mov    0x8(%esi),%eax
40954b:	83 c0 10             	add    $0x10,%eax
40954e:	68 fe ff 00 00       	push   $0xfffe
409553:	50                   	push   %eax
409554:	8b 46 04             	mov    0x4(%esi),%eax
409557:	83 c0 02             	add    $0x2,%eax
40955a:	50                   	push   %eax
40955b:	ff 15 3c 12 43 00    	call   *0x43123c
409561:	83 c4 14             	add    $0x14,%esp
409564:	5e                   	pop    %esi
409565:	c3                   	ret
409566:	68 06 00 01 00       	push   $0x10006
40956b:	e8 50 d4 ff ff       	call   0x4069c0
409570:	89 46 08             	mov    %eax,0x8(%esi)
409573:	c7 00 5c 00 5c 00    	movl   $0x5c005c,(%eax)
409579:	c7 40 04 3f 00 5c 00 	movl   $0x5c003f,0x4(%eax)
409580:	8b 46 08             	mov    0x8(%esi),%eax
409583:	83 c0 08             	add    $0x8,%eax
409586:	6a 06                	push   $0x6
409588:	68 fe ff 00 00       	push   $0xfffe
40958d:	50                   	push   %eax
40958e:	ff 76 04             	push   0x4(%esi)
409591:	ff 15 3c 12 43 00    	call   *0x43123c
409597:	83 c4 14             	add    $0x14,%esp
40959a:	5e                   	pop    %esi
40959b:	c3                   	ret
40959c:	cc                   	int3
40959d:	cc                   	int3
40959e:	cc                   	int3
40959f:	cc                   	int3
4095a0:	55                   	push   %ebp
4095a1:	8b ec                	mov    %esp,%ebp
4095a3:	83 ec 10             	sub    $0x10,%esp
4095a6:	53                   	push   %ebx
4095a7:	56                   	push   %esi
4095a8:	6a 00                	push   $0x0
4095aa:	ff 75 08             	push   0x8(%ebp)
4095ad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4095b0:	c7 45 f0 0c 16 43 00 	movl   $0x43160c,-0x10(%ebp)
4095b7:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4095be:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4095c5:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4095cc:	e8 6f fc ff ff       	call   0x409240
4095d1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4095d4:	e8 07 ff ff ff       	call   0x4094e0
4095d9:	8b 75 f8             	mov    -0x8(%ebp),%esi
4095dc:	56                   	push   %esi
4095dd:	ff 15 50 11 43 00    	call   *0x431150
4095e3:	85 c0                	test   %eax,%eax
4095e5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4095e8:	0f 95 c3             	setne  %bl
4095eb:	85 c0                	test   %eax,%eax
4095ed:	74 09                	je     0x4095f8
4095ef:	50                   	push   %eax
4095f0:	e8 fb d3 ff ff       	call   0x4069f0
4095f5:	83 c4 04             	add    $0x4,%esp
4095f8:	85 f6                	test   %esi,%esi
4095fa:	74 09                	je     0x409605
4095fc:	56                   	push   %esi
4095fd:	e8 ee d3 ff ff       	call   0x4069f0
409602:	83 c4 04             	add    $0x4,%esp
409605:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409608:	85 c9                	test   %ecx,%ecx
40960a:	74 09                	je     0x409615
40960c:	51                   	push   %ecx
40960d:	e8 de d3 ff ff       	call   0x4069f0
409612:	83 c4 04             	add    $0x4,%esp
409615:	5e                   	pop    %esi
409616:	8a c3                	mov    %bl,%al
409618:	5b                   	pop    %ebx
409619:	8b e5                	mov    %ebp,%esp
40961b:	5d                   	pop    %ebp
40961c:	c3                   	ret
40961d:	cc                   	int3
40961e:	cc                   	int3
40961f:	cc                   	int3
409620:	55                   	push   %ebp
409621:	8b ec                	mov    %esp,%ebp
409623:	53                   	push   %ebx
409624:	57                   	push   %edi
409625:	ff 75 0c             	push   0xc(%ebp)
409628:	8b 7d 08             	mov    0x8(%ebp),%edi
40962b:	8b d9                	mov    %ecx,%ebx
40962d:	53                   	push   %ebx
40962e:	68 10 16 43 00       	push   $0x431610
409633:	8b cf                	mov    %edi,%ecx
409635:	ff 15 14 12 43 00    	call   *0x431214
40963b:	ff 73 04             	push   0x4(%ebx)
40963e:	8b cf                	mov    %edi,%ecx
409640:	ff 15 0c 12 43 00    	call   *0x43120c
409646:	ff 73 08             	push   0x8(%ebx)
409649:	8b cf                	mov    %edi,%ecx
40964b:	ff 15 0c 12 43 00    	call   *0x43120c
409651:	8b cf                	mov    %edi,%ecx
409653:	ff 15 10 12 43 00    	call   *0x431210
409659:	5f                   	pop    %edi
40965a:	5b                   	pop    %ebx
40965b:	5d                   	pop    %ebp
40965c:	c2 08 00             	ret    $0x8
40965f:	cc                   	int3
409660:	55                   	push   %ebp
409661:	8b ec                	mov    %esp,%ebp
409663:	8b 45 0c             	mov    0xc(%ebp),%eax
409666:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40966c:	32 c0                	xor    %al,%al
40966e:	5d                   	pop    %ebp
40966f:	c2 08 00             	ret    $0x8
409672:	cc                   	int3
409673:	cc                   	int3
409674:	cc                   	int3
409675:	cc                   	int3
409676:	cc                   	int3
409677:	cc                   	int3
409678:	cc                   	int3
409679:	cc                   	int3
40967a:	cc                   	int3
40967b:	cc                   	int3
40967c:	cc                   	int3
40967d:	cc                   	int3
40967e:	cc                   	int3
40967f:	cc                   	int3
409680:	55                   	push   %ebp
409681:	8b ec                	mov    %esp,%ebp
409683:	8b 55 0c             	mov    0xc(%ebp),%edx
409686:	8a 45 08             	mov    0x8(%ebp),%al
409689:	53                   	push   %ebx
40968a:	8b 5d 10             	mov    0x10(%ebp),%ebx
40968d:	56                   	push   %esi
40968e:	8b f1                	mov    %ecx,%esi
409690:	8d 4a 01             	lea    0x1(%edx),%ecx
409693:	57                   	push   %edi
409694:	c7 06 30 17 43 00    	movl   $0x431730,(%esi)
40969a:	88 46 04             	mov    %al,0x4(%esi)
40969d:	89 56 08             	mov    %edx,0x8(%esi)
4096a0:	89 5e 10             	mov    %ebx,0x10(%esi)
4096a3:	8a 02                	mov    (%edx),%al
4096a5:	42                   	inc    %edx
4096a6:	84 c0                	test   %al,%al
4096a8:	75 f9                	jne    0x4096a3
4096aa:	68 f8 07 00 00       	push   $0x7f8
4096af:	8d 86 18 01 00 00    	lea    0x118(%esi),%eax
4096b5:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4096bc:	2b d1                	sub    %ecx,%edx
4096be:	6a 00                	push   $0x0
4096c0:	50                   	push   %eax
4096c1:	89 56 0c             	mov    %edx,0xc(%esi)
4096c4:	e8 f7 1c 00 00       	call   0x40b3c0
4096c9:	83 c4 0c             	add    $0xc,%esp
4096cc:	33 ff                	xor    %edi,%edi
4096ce:	85 db                	test   %ebx,%ebx
4096d0:	7e 6b                	jle    0x40973d
4096d2:	8b 45 14             	mov    0x14(%ebp),%eax
4096d5:	8a 04 f8             	mov    (%eax,%edi,8),%al
4096d8:	88 44 3e 18          	mov    %al,0x18(%esi,%edi,1)
4096dc:	0f b6 c0             	movzbl %al,%eax
4096df:	83 bc c6 1c 01 00 00 	cmpl   $0x0,0x11c(%esi,%eax,8)
4096e6:	00
4096e7:	8d 1c c6             	lea    (%esi,%eax,8),%ebx
4096ea:	74 1d                	je     0x409709
4096ec:	68 3c 17 43 00       	push   $0x43173c
4096f1:	68 80 00 00 00       	push   $0x80
4096f6:	68 60 17 43 00       	push   $0x431760
4096fb:	ff 15 f8 11 43 00    	call   *0x4311f8
409701:	83 c4 0c             	add    $0xc,%esp
409704:	84 c0                	test   %al,%al
409706:	75 01                	jne    0x409709
409708:	cc                   	int3
409709:	8b 45 14             	mov    0x14(%ebp),%eax
40970c:	8b 44 f8 04          	mov    0x4(%eax,%edi,8),%eax
409710:	89 83 1c 01 00 00    	mov    %eax,0x11c(%ebx)
409716:	8d 50 01             	lea    0x1(%eax),%edx
409719:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
409720:	8a 08                	mov    (%eax),%cl
409722:	40                   	inc    %eax
409723:	84 c9                	test   %cl,%cl
409725:	75 f9                	jne    0x409720
409727:	2b c2                	sub    %edx,%eax
409729:	89 83 18 01 00 00    	mov    %eax,0x118(%ebx)
40972f:	3b 46 14             	cmp    0x14(%esi),%eax
409732:	7e 03                	jle    0x409737
409734:	89 46 14             	mov    %eax,0x14(%esi)
409737:	47                   	inc    %edi
409738:	3b 7d 10             	cmp    0x10(%ebp),%edi
40973b:	7c 95                	jl     0x4096d2
40973d:	5f                   	pop    %edi
40973e:	8b c6                	mov    %esi,%eax
409740:	5e                   	pop    %esi
409741:	5b                   	pop    %ebx
409742:	5d                   	pop    %ebp
409743:	c2 10 00             	ret    $0x10
409746:	cc                   	int3
409747:	cc                   	int3
409748:	cc                   	int3
409749:	cc                   	int3
40974a:	cc                   	int3
40974b:	cc                   	int3
40974c:	cc                   	int3
40974d:	cc                   	int3
40974e:	cc                   	int3
40974f:	cc                   	int3
409750:	55                   	push   %ebp
409751:	8b ec                	mov    %esp,%ebp
409753:	8b 45 08             	mov    0x8(%ebp),%eax
409756:	33 d2                	xor    %edx,%edx
409758:	0f b6 00             	movzbl (%eax),%eax
40975b:	8a 84 08 10 09 00 00 	mov    0x910(%eax,%ecx,1),%al
409762:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409765:	84 c0                	test   %al,%al
409767:	0f 95 c2             	setne  %dl
40976a:	89 11                	mov    %edx,(%ecx)
40976c:	5d                   	pop    %ebp
40976d:	c2 08 00             	ret    $0x8
409770:	55                   	push   %ebp
409771:	8b ec                	mov    %esp,%ebp
409773:	51                   	push   %ecx
409774:	53                   	push   %ebx
409775:	56                   	push   %esi
409776:	57                   	push   %edi
409777:	8b f9                	mov    %ecx,%edi
409779:	33 f6                	xor    %esi,%esi
40977b:	39 77 10             	cmp    %esi,0x10(%edi)
40977e:	7e 43                	jle    0x4097c3
409780:	8b 45 08             	mov    0x8(%ebp),%eax
409783:	0f b6 4c 37 18       	movzbl 0x18(%edi,%esi,1),%ecx
409788:	8b d0                	mov    %eax,%edx
40978a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40978d:	8b 8c cf 1c 01 00 00 	mov    0x11c(%edi,%ecx,8),%ecx
409794:	8a 1a                	mov    (%edx),%bl
409796:	3a 19                	cmp    (%ecx),%bl
409798:	75 1a                	jne    0x4097b4
40979a:	84 db                	test   %bl,%bl
40979c:	74 12                	je     0x4097b0
40979e:	8a 5a 01             	mov    0x1(%edx),%bl
4097a1:	3a 59 01             	cmp    0x1(%ecx),%bl
4097a4:	75 0e                	jne    0x4097b4
4097a6:	83 c2 02             	add    $0x2,%edx
4097a9:	83 c1 02             	add    $0x2,%ecx
4097ac:	84 db                	test   %bl,%bl
4097ae:	75 e4                	jne    0x409794
4097b0:	33 c9                	xor    %ecx,%ecx
4097b2:	eb 05                	jmp    0x4097b9
4097b4:	1b c9                	sbb    %ecx,%ecx
4097b6:	83 c9 01             	or     $0x1,%ecx
4097b9:	85 c9                	test   %ecx,%ecx
4097bb:	74 1a                	je     0x4097d7
4097bd:	46                   	inc    %esi
4097be:	3b 77 10             	cmp    0x10(%edi),%esi
4097c1:	7c c0                	jl     0x409783
4097c3:	8b 45 0c             	mov    0xc(%ebp),%eax
4097c6:	5f                   	pop    %edi
4097c7:	5e                   	pop    %esi
4097c8:	5b                   	pop    %ebx
4097c9:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4097cf:	32 c0                	xor    %al,%al
4097d1:	8b e5                	mov    %ebp,%esp
4097d3:	5d                   	pop    %ebp
4097d4:	c2 08 00             	ret    $0x8
4097d7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4097da:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4097dd:	8b 94 d7 18 01 00 00 	mov    0x118(%edi,%edx,8),%edx
4097e4:	89 11                	mov    %edx,(%ecx)
4097e6:	8a 44 3e 18          	mov    0x18(%esi,%edi,1),%al
4097ea:	5f                   	pop    %edi
4097eb:	5e                   	pop    %esi
4097ec:	5b                   	pop    %ebx
4097ed:	8b e5                	mov    %ebp,%esp
4097ef:	5d                   	pop    %ebp
4097f0:	c2 08 00             	ret    $0x8
4097f3:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4097f7:	8b c1                	mov    %ecx,%eax
4097f9:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4097fd:	c7 41 04 b8 17 43 00 	movl   $0x4317b8,0x4(%ecx)
409804:	c7 01 64 13 43 00    	movl   $0x431364,(%ecx)
40980a:	c3                   	ret
40980b:	55                   	push   %ebp
40980c:	8b ec                	mov    %esp,%ebp