4104ed:	72 14                	jb     0x410503
4104ef:	8b 50 fc             	mov    -0x4(%eax),%edx
4104f2:	83 c1 23             	add    $0x23,%ecx
4104f5:	2b c2                	sub    %edx,%eax
4104f7:	83 c0 fc             	add    $0xfffffffc,%eax
4104fa:	83 f8 1f             	cmp    $0x1f,%eax
4104fd:	0f 87 92 00 00 00    	ja     0x410595
410503:	51                   	push   %ecx
410504:	52                   	push   %edx
410505:	e8 04 b4 00 00       	call   0x41b90e
41050a:	83 c4 08             	add    $0x8,%esp
41050d:	33 c0                	xor    %eax,%eax
41050f:	c7 45 e8 07 00 00 00 	movl   $0x7,-0x18(%ebp)
410516:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410519:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41051d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
410524:	8b 4d d0             	mov    -0x30(%ebp),%ecx
410527:	83 f9 08             	cmp    $0x8,%ecx
41052a:	72 2e                	jb     0x41055a
41052c:	8b 55 bc             	mov    -0x44(%ebp),%edx
41052f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
410536:	8b c2                	mov    %edx,%eax
410538:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41053e:	72 10                	jb     0x410550
410540:	8b 50 fc             	mov    -0x4(%eax),%edx
410543:	83 c1 23             	add    $0x23,%ecx
410546:	2b c2                	sub    %edx,%eax
410548:	83 c0 fc             	add    $0xfffffffc,%eax
41054b:	83 f8 1f             	cmp    $0x1f,%eax
41054e:	77 45                	ja     0x410595
410550:	51                   	push   %ecx
410551:	52                   	push   %edx
410552:	e8 b7 b3 00 00       	call   0x41b90e
410557:	83 c4 08             	add    $0x8,%esp
41055a:	8b 7d 9c             	mov    -0x64(%ebp),%edi
41055d:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
410563:	40                   	inc    %eax
410564:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
41056a:	3b 43 08             	cmp    0x8(%ebx),%eax
41056d:	0f 8c 6d f6 ff ff    	jl     0x40fbe0
410573:	b0 01                	mov    $0x1,%al
410575:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410578:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41057f:	59                   	pop    %ecx
410580:	5f                   	pop    %edi
410581:	5e                   	pop    %esi
410582:	8b 4d ec             	mov    -0x14(%ebp),%ecx
410585:	33 cd                	xor    %ebp,%ecx
410587:	e8 44 b3 00 00       	call   0x41b8d0
41058c:	8b e5                	mov    %ebp,%esp
41058e:	5d                   	pop    %ebp
41058f:	8b e3                	mov    %ebx,%esp
410591:	5b                   	pop    %ebx
410592:	c2 08 00             	ret    $0x8
410595:	e8 e5 04 01 00       	call   0x420a7f
41059a:	e8 31 b3 ff ff       	call   0x40b8d0
41059f:	cc                   	int3
4105a0:	55                   	push   %ebp
4105a1:	8b ec                	mov    %esp,%ebp
4105a3:	6a ff                	push   $0xffffffff
4105a5:	68 35 e0 43 00       	push   $0x43e035
4105aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4105b0:	50                   	push   %eax
4105b1:	83 ec 1c             	sub    $0x1c,%esp
4105b4:	53                   	push   %ebx
4105b5:	56                   	push   %esi
4105b6:	57                   	push   %edi
4105b7:	a1 14 40 45 00       	mov    0x454014,%eax
4105bc:	33 c5                	xor    %ebp,%eax
4105be:	50                   	push   %eax
4105bf:	8d 45 f4             	lea    -0xc(%ebp),%eax
4105c2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4105c8:	8b f9                	mov    %ecx,%edi
4105ca:	89 7d ec             	mov    %edi,-0x14(%ebp)
4105cd:	8b 5d 08             	mov    0x8(%ebp),%ebx
4105d0:	8d 45 d8             	lea    -0x28(%ebp),%eax
4105d3:	53                   	push   %ebx
4105d4:	50                   	push   %eax
4105d5:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4105d8:	e8 73 34 ff ff       	call   0x403a50
4105dd:	8b 75 e0             	mov    -0x20(%ebp),%esi
4105e0:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
4105e4:	75 2c                	jne    0x410612
4105e6:	83 7e 24 08          	cmpl   $0x8,0x24(%esi)
4105ea:	8d 56 10             	lea    0x10(%esi),%edx
4105ed:	72 03                	jb     0x4105f2
4105ef:	8b 56 10             	mov    0x10(%esi),%edx
4105f2:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4105f6:	8b cb                	mov    %ebx,%ecx
4105f8:	72 02                	jb     0x4105fc
4105fa:	8b 0b                	mov    (%ebx),%ecx
4105fc:	ff 76 20             	push   0x20(%esi)
4105ff:	52                   	push   %edx
410600:	8b 53 10             	mov    0x10(%ebx),%edx
410603:	e8 98 1e ff ff       	call   0x4024a0
410608:	c1 e8 1f             	shr    $0x1f,%eax
41060b:	83 c4 08             	add    $0x8,%esp
41060e:	84 c0                	test   %al,%al
410610:	74 71                	je     0x410683
410612:	81 7f 04 ff ff ff 03 	cmpl   $0x3ffffff,0x4(%edi)
410619:	74 7f                	je     0x41069a
41061b:	8b 1f                	mov    (%edi),%ebx
41061d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
410620:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410627:	6a 40                	push   $0x40
410629:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
410630:	e8 a9 b2 00 00       	call   0x41b8de
410635:	8b f8                	mov    %eax,%edi
410637:	83 c4 04             	add    $0x4,%esp
41063a:	89 7d e8             	mov    %edi,-0x18(%ebp)
41063d:	ff 75 f0             	push   -0x10(%ebp)
410640:	8d 4f 10             	lea    0x10(%edi),%ecx
410643:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41064a:	e8 71 1c ff ff       	call   0x4022c0
41064f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
410652:	57                   	push   %edi
410653:	ff 75 dc             	push   -0x24(%ebp)
410656:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
41065d:	ff 75 d8             	push   -0x28(%ebp)
410660:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
410667:	c7 47 3c 07 00 00 00 	movl   $0x7,0x3c(%edi)
41066e:	89 1f                	mov    %ebx,(%edi)
410670:	89 5f 04             	mov    %ebx,0x4(%edi)
410673:	89 5f 08             	mov    %ebx,0x8(%edi)
410676:	66 c7 47 0c 00 00    	movw   $0x0,0xc(%edi)
41067c:	e8 4f 2a ff ff       	call   0x4030d0
410681:	8b f0                	mov    %eax,%esi
410683:	8d 46 28             	lea    0x28(%esi),%eax
410686:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410689:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410690:	59                   	pop    %ecx
410691:	5f                   	pop    %edi
410692:	5e                   	pop    %esi
410693:	5b                   	pop    %ebx
410694:	8b e5                	mov    %ebp,%esp
410696:	5d                   	pop    %ebp
410697:	c2 04 00             	ret    $0x4
41069a:	e8 31 22 ff ff       	call   0x4028d0
41069f:	cc                   	int3
4106a0:	55                   	push   %ebp
4106a1:	8b ec                	mov    %esp,%ebp
4106a3:	83 ec 08             	sub    $0x8,%esp
4106a6:	56                   	push   %esi
4106a7:	8b 75 08             	mov    0x8(%ebp),%esi
4106aa:	57                   	push   %edi
4106ab:	8b f9                	mov    %ecx,%edi
4106ad:	89 75 f8             	mov    %esi,-0x8(%ebp)
4106b0:	3b fe                	cmp    %esi,%edi
4106b2:	0f 84 b7 00 00 00    	je     0x41076f
4106b8:	8b 07                	mov    (%edi),%eax
4106ba:	53                   	push   %ebx
4106bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4106be:	8b 58 04             	mov    0x4(%eax),%ebx
4106c1:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
4106c5:	75 2e                	jne    0x4106f5
4106c7:	ff 73 08             	push   0x8(%ebx)
4106ca:	8b cf                	mov    %edi,%ecx
4106cc:	57                   	push   %edi
4106cd:	e8 8e cb ff ff       	call   0x40d260
4106d2:	8b f3                	mov    %ebx,%esi
4106d4:	8b 1b                	mov    (%ebx),%ebx
4106d6:	8d 4e 10             	lea    0x10(%esi),%ecx
4106d9:	e8 62 d7 ff ff       	call   0x40de40
4106de:	6a 40                	push   $0x40
4106e0:	56                   	push   %esi
4106e1:	e8 28 b2 00 00       	call   0x41b90e
4106e6:	83 c4 08             	add    $0x8,%esp
4106e9:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
4106ed:	74 d8                	je     0x4106c7
4106ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4106f2:	8b 75 f8             	mov    -0x8(%ebp),%esi
4106f5:	89 40 04             	mov    %eax,0x4(%eax)
4106f8:	8b cf                	mov    %edi,%ecx
4106fa:	89 00                	mov    %eax,(%eax)
4106fc:	89 40 08             	mov    %eax,0x8(%eax)
4106ff:	ff 37                	push   (%edi)
410701:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
410708:	8b 06                	mov    (%esi),%eax
41070a:	ff 70 04             	push   0x4(%eax)
41070d:	e8 de 01 00 00       	call   0x4108f0
410712:	8b c8                	mov    %eax,%ecx
410714:	8b 07                	mov    (%edi),%eax
410716:	5b                   	pop    %ebx
410717:	89 48 04             	mov    %ecx,0x4(%eax)
41071a:	8b 46 04             	mov    0x4(%esi),%eax
41071d:	8b 37                	mov    (%edi),%esi
41071f:	89 47 04             	mov    %eax,0x4(%edi)
410722:	8b 56 04             	mov    0x4(%esi),%edx
410725:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
410729:	75 3d                	jne    0x410768
41072b:	8b 0a                	mov    (%edx),%ecx
41072d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
410731:	75 0c                	jne    0x41073f
410733:	8b 01                	mov    (%ecx),%eax
410735:	8b d1                	mov    %ecx,%edx
410737:	8b c8                	mov    %eax,%ecx
410739:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
41073d:	74 f4                	je     0x410733
41073f:	89 16                	mov    %edx,(%esi)
410741:	8b 17                	mov    (%edi),%edx
410743:	8b 4a 04             	mov    0x4(%edx),%ecx
410746:	8b 41 08             	mov    0x8(%ecx),%eax
410749:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
41074d:	75 0c                	jne    0x41075b
41074f:	90                   	nop
410750:	8b c8                	mov    %eax,%ecx
410752:	8b 41 08             	mov    0x8(%ecx),%eax
410755:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
410759:	74 f5                	je     0x410750
41075b:	8b c7                	mov    %edi,%eax
41075d:	89 4a 08             	mov    %ecx,0x8(%edx)
410760:	5f                   	pop    %edi
410761:	5e                   	pop    %esi
410762:	8b e5                	mov    %ebp,%esp
410764:	5d                   	pop    %ebp
410765:	c2 04 00             	ret    $0x4
410768:	89 36                	mov    %esi,(%esi)
41076a:	8b 07                	mov    (%edi),%eax
41076c:	89 40 08             	mov    %eax,0x8(%eax)
41076f:	8b c7                	mov    %edi,%eax
410771:	5f                   	pop    %edi
410772:	5e                   	pop    %esi
410773:	8b e5                	mov    %ebp,%esp
410775:	5d                   	pop    %ebp
410776:	c2 04 00             	ret    $0x4
410779:	cc                   	int3
41077a:	cc                   	int3
41077b:	cc                   	int3
41077c:	cc                   	int3
41077d:	cc                   	int3
41077e:	cc                   	int3
41077f:	cc                   	int3
410780:	55                   	push   %ebp
410781:	8b ec                	mov    %esp,%ebp
410783:	81 ec 14 01 00 00    	sub    $0x114,%esp
410789:	a1 14 40 45 00       	mov    0x454014,%eax
41078e:	33 c5                	xor    %ebp,%eax
410790:	89 45 fc             	mov    %eax,-0x4(%ebp)
410793:	8b 45 08             	mov    0x8(%ebp),%eax
410796:	53                   	push   %ebx
410797:	56                   	push   %esi
410798:	8b f0                	mov    %eax,%esi
41079a:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
4107a0:	57                   	push   %edi
4107a1:	8d 56 02             	lea    0x2(%esi),%edx
4107a4:	66 8b 06             	mov    (%esi),%ax
4107a7:	83 c6 02             	add    $0x2,%esi
4107aa:	66 85 c0             	test   %ax,%ax
4107ad:	75 f5                	jne    0x4107a4
4107af:	2b f2                	sub    %edx,%esi
4107b1:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
4107b7:	d1 fe                	sar    $1,%esi
4107b9:	8b d9                	mov    %ecx,%ebx
4107bb:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
4107bf:	72 08                	jb     0x4107c9
4107c1:	8b 19                	mov    (%ecx),%ebx
4107c3:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
4107c9:	8b 79 10             	mov    0x10(%ecx),%edi
4107cc:	85 f6                	test   %esi,%esi
4107ce:	74 79                	je     0x410849
4107d0:	85 ff                	test   %edi,%edi
4107d2:	74 75                	je     0x410849
4107d4:	68 00 01 00 00       	push   $0x100
4107d9:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4107df:	6a 00                	push   $0x0
4107e1:	50                   	push   %eax
4107e2:	e8 f9 d1 00 00       	call   0x41d9e0
4107e7:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
4107ed:	83 c4 0c             	add    $0xc,%esp
4107f0:	8b c8                	mov    %eax,%ecx
4107f2:	c7 85 ec fe ff ff 00 	movl   $0x100,-0x114(%ebp)
4107f9:	01 00 00
4107fc:	8d 14 70             	lea    (%eax,%esi,2),%edx
4107ff:	3b c2                	cmp    %edx,%eax
410801:	74 1e                	je     0x410821
410803:	0f b7 01             	movzwl (%ecx),%eax
410806:	66 3b 85 ec fe ff ff 	cmp    -0x114(%ebp),%ax
41080d:	73 50                	jae    0x41085f
41080f:	0f b6 c0             	movzbl %al,%eax
410812:	83 c1 02             	add    $0x2,%ecx
410815:	c6 84 05 f8 fe ff ff 	movb   $0x1,-0x108(%ebp,%eax,1)
41081c:	01
41081d:	3b ca                	cmp    %edx,%ecx
41081f:	75 e2                	jne    0x410803
410821:	8d 14 7b             	lea    (%ebx,%edi,2),%edx
410824:	8b cb                	mov    %ebx,%ecx
410826:	3b da                	cmp    %edx,%ebx
410828:	73 1f                	jae    0x410849
41082a:	8b b5 ec fe ff ff    	mov    -0x114(%ebp),%esi
410830:	0f b7 01             	movzwl (%ecx),%eax
410833:	66 3b c6             	cmp    %si,%ax
410836:	73 0a                	jae    0x410842
410838:	80 bc 05 f8 fe ff ff 	cmpb   $0x0,-0x108(%ebp,%eax,1)
41083f:	00
410840:	75 74                	jne    0x4108b6
410842:	83 c1 02             	add    $0x2,%ecx
410845:	3b ca                	cmp    %edx,%ecx
410847:	72 e7                	jb     0x410830
410849:	83 c8 ff             	or     $0xffffffff,%eax
41084c:	5f                   	pop    %edi
41084d:	5e                   	pop    %esi
41084e:	5b                   	pop    %ebx
41084f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410852:	33 cd                	xor    %ebp,%ecx
410854:	e8 77 b0 00 00       	call   0x41b8d0
410859:	8b e5                	mov    %ebp,%esp
41085b:	5d                   	pop    %ebp
41085c:	c2 08 00             	ret    $0x8
41085f:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
410865:	8d 1c 7b             	lea    (%ebx,%edi,2),%ebx
410868:	3b d3                	cmp    %ebx,%edx
41086a:	73 28                	jae    0x410894
41086c:	0f 1f 40 00          	nopl   0x0(%eax)
410870:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
410876:	8b ce                	mov    %esi,%ecx
410878:	85 f6                	test   %esi,%esi
41087a:	74 11                	je     0x41088d
41087c:	0f b7 3a             	movzwl (%edx),%edi
41087f:	90                   	nop
410880:	66 39 38             	cmp    %di,(%eax)
410883:	74 27                	je     0x4108ac
410885:	83 c0 02             	add    $0x2,%eax
410888:	83 e9 01             	sub    $0x1,%ecx
41088b:	75 f3                	jne    0x410880
41088d:	83 c2 02             	add    $0x2,%edx
410890:	3b d3                	cmp    %ebx,%edx
410892:	72 dc                	jb     0x410870
410894:	83 ca ff             	or     $0xffffffff,%edx
410897:	8b c2                	mov    %edx,%eax
410899:	5f                   	pop    %edi
41089a:	5e                   	pop    %esi
41089b:	5b                   	pop    %ebx
41089c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41089f:	33 cd                	xor    %ebp,%ecx
4108a1:	e8 2a b0 00 00       	call   0x41b8d0
4108a6:	8b e5                	mov    %ebp,%esp
4108a8:	5d                   	pop    %ebp
4108a9:	c2 08 00             	ret    $0x8
4108ac:	2b 95 f4 fe ff ff    	sub    -0x10c(%ebp),%edx
4108b2:	d1 fa                	sar    $1,%edx
4108b4:	eb e1                	jmp    0x410897
4108b6:	2b cb                	sub    %ebx,%ecx
4108b8:	d1 f9                	sar    $1,%ecx
4108ba:	8b c1                	mov    %ecx,%eax
4108bc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4108bf:	5f                   	pop    %edi
4108c0:	5e                   	pop    %esi
4108c1:	33 cd                	xor    %ebp,%ecx
4108c3:	5b                   	pop    %ebx
4108c4:	e8 07 b0 00 00       	call   0x41b8d0