40c59b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
40c5a0:	66 8b 01             	mov    (%ecx),%ax
40c5a3:	83 c1 02             	add    $0x2,%ecx
40c5a6:	66 85 c0             	test   %ax,%ax
40c5a9:	75 f5                	jne    0x40c5a0
40c5ab:	2b ca                	sub    %edx,%ecx
40c5ad:	d1 f9                	sar    $1,%ecx
40c5af:	51                   	push   %ecx
40c5b0:	53                   	push   %ebx
40c5b1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40c5b4:	e8 47 6a ff ff       	call   0x403000
40c5b9:	8b b7 90 00 00 00    	mov    0x90(%edi),%esi
40c5bf:	83 3e 00             	cmpl   $0x0,(%esi)
40c5c2:	75 3f                	jne    0x40c603
40c5c4:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
40c5c8:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c5cb:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax
40c5cf:	50                   	push   %eax
40c5d0:	6a 00                	push   $0x0
40c5d2:	6a 00                	push   $0x0
40c5d4:	ff 15 28 e1 43 00    	call   *0x43e128
40c5da:	89 06                	mov    %eax,(%esi)
40c5dc:	85 c0                	test   %eax,%eax
40c5de:	75 23                	jne    0x40c603
40c5e0:	ff 15 6c e0 43 00    	call   *0x43e06c
40c5e6:	83 f8 05             	cmp    $0x5,%eax
40c5e9:	75 18                	jne    0x40c603
40c5eb:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
40c5ef:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c5f2:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax
40c5f6:	50                   	push   %eax
40c5f7:	6a 00                	push   $0x0
40c5f9:	6a 00                	push   $0x0
40c5fb:	ff 15 34 e1 43 00    	call   *0x43e134
40c601:	89 06                	mov    %eax,(%esi)
40c603:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
40c606:	83 f9 08             	cmp    $0x8,%ecx
40c609:	72 32                	jb     0x40c63d
40c60b:	8b 55 b0             	mov    -0x50(%ebp),%edx
40c60e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c615:	8b c2                	mov    %edx,%eax
40c617:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c61d:	72 14                	jb     0x40c633
40c61f:	8b 50 fc             	mov    -0x4(%eax),%edx
40c622:	83 c1 23             	add    $0x23,%ecx
40c625:	2b c2                	sub    %edx,%eax
40c627:	83 c0 fc             	add    $0xfffffffc,%eax
40c62a:	83 f8 1f             	cmp    $0x1f,%eax
40c62d:	0f 87 d9 00 00 00    	ja     0x40c70c
40c633:	51                   	push   %ecx
40c634:	52                   	push   %edx
40c635:	e8 7e d5 00 00       	call   0x419bb8
40c63a:	83 c4 08             	add    $0x8,%esp
40c63d:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c640:	50                   	push   %eax
40c641:	e8 a0 9c 01 00       	call   0x4262e6
40c646:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c649:	83 c4 04             	add    $0x4,%esp
40c64c:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
40c653:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c656:	89 8f f0 00 00 00    	mov    %ecx,0xf0(%edi)
40c65c:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
40c662:	89 8f f8 00 00 00    	mov    %ecx,0xf8(%edi)
40c668:	89 87 fc 00 00 00    	mov    %eax,0xfc(%edi)
40c66e:	74 3b                	je     0x40c6ab
40c670:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40c676:	8b 00                	mov    (%eax),%eax
40c678:	85 c0                	test   %eax,%eax
40c67a:	74 2f                	je     0x40c6ab
40c67c:	68 d0 07 00 00       	push   $0x7d0
40c681:	50                   	push   %eax
40c682:	ff 15 2c e1 43 00    	call   *0x43e12c
40c688:	85 c0                	test   %eax,%eax
40c68a:	74 07                	je     0x40c693
40c68c:	3d 80 00 00 00       	cmp    $0x80,%eax
40c691:	75 18                	jne    0x40c6ab
40c693:	51                   	push   %ecx
40c694:	8b cf                	mov    %edi,%ecx
40c696:	e8 25 95 00 00       	call   0x415bc0
40c69b:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40c6a1:	ff 30                	push   (%eax)
40c6a3:	ff 15 30 e1 43 00    	call   *0x43e130
40c6a9:	eb 07                	jmp    0x40c6b2
40c6ab:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
40c6b2:	c6 47 6d 01          	movb   $0x1,0x6d(%edi)
40c6b6:	b3 01                	mov    $0x1,%bl
40c6b8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40c6bb:	83 f9 08             	cmp    $0x8,%ecx
40c6be:	72 2e                	jb     0x40c6ee
40c6c0:	8b 55 c8             	mov    -0x38(%ebp),%edx
40c6c3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c6ca:	8b c2                	mov    %edx,%eax
40c6cc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c6d2:	72 10                	jb     0x40c6e4
40c6d4:	8b 50 fc             	mov    -0x4(%eax),%edx
40c6d7:	83 c1 23             	add    $0x23,%ecx
40c6da:	2b c2                	sub    %edx,%eax
40c6dc:	83 c0 fc             	add    $0xfffffffc,%eax
40c6df:	83 f8 1f             	cmp    $0x1f,%eax
40c6e2:	77 2d                	ja     0x40c711
40c6e4:	51                   	push   %ecx
40c6e5:	52                   	push   %edx
40c6e6:	e8 cd d4 00 00       	call   0x419bb8
40c6eb:	83 c4 08             	add    $0x8,%esp
40c6ee:	8a c3                	mov    %bl,%al
40c6f0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c6f3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c6fa:	59                   	pop    %ecx
40c6fb:	5f                   	pop    %edi
40c6fc:	5e                   	pop    %esi
40c6fd:	5b                   	pop    %ebx
40c6fe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c701:	33 cd                	xor    %ebp,%ecx
40c703:	e8 a2 d4 00 00       	call   0x419baa
40c708:	8b e5                	mov    %ebp,%esp
40c70a:	5d                   	pop    %ebp
40c70b:	c3                   	ret
40c70c:	e8 82 32 01 00       	call   0x41f993
40c711:	e8 7d 32 01 00       	call   0x41f993
40c716:	cc                   	int3
40c717:	cc                   	int3
40c718:	cc                   	int3
40c719:	cc                   	int3
40c71a:	cc                   	int3
40c71b:	cc                   	int3
40c71c:	cc                   	int3
40c71d:	cc                   	int3
40c71e:	cc                   	int3
40c71f:	cc                   	int3
40c720:	56                   	push   %esi
40c721:	8b f1                	mov    %ecx,%esi
40c723:	8b 46 68             	mov    0x68(%esi),%eax
40c726:	85 c0                	test   %eax,%eax
40c728:	74 13                	je     0x40c73d
40c72a:	83 f8 ff             	cmp    $0xffffffff,%eax
40c72d:	74 0e                	je     0x40c73d
40c72f:	50                   	push   %eax
40c730:	ff 15 68 e0 43 00    	call   *0x43e068
40c736:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
40c73d:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
40c743:	85 c0                	test   %eax,%eax
40c745:	74 37                	je     0x40c77e
40c747:	8b 00                	mov    (%eax),%eax
40c749:	85 c0                	test   %eax,%eax
40c74b:	74 0c                	je     0x40c759
40c74d:	83 f8 ff             	cmp    $0xffffffff,%eax
40c750:	74 07                	je     0x40c759
40c752:	50                   	push   %eax
40c753:	ff 15 68 e0 43 00    	call   *0x43e068
40c759:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
40c75f:	85 c0                	test   %eax,%eax
40c761:	74 11                	je     0x40c774
40c763:	6a 04                	push   $0x4
40c765:	50                   	push   %eax
40c766:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40c76c:	e8 47 d4 00 00       	call   0x419bb8
40c771:	83 c4 08             	add    $0x8,%esp
40c774:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
40c77b:	00 00 00
40c77e:	c6 46 6d 00          	movb   $0x0,0x6d(%esi)
40c782:	b0 01                	mov    $0x1,%al
40c784:	5e                   	pop    %esi
40c785:	c3                   	ret
40c786:	cc                   	int3
40c787:	cc                   	int3
40c788:	cc                   	int3
40c789:	cc                   	int3
40c78a:	cc                   	int3
40c78b:	cc                   	int3
40c78c:	cc                   	int3
40c78d:	cc                   	int3
40c78e:	cc                   	int3
40c78f:	cc                   	int3
40c790:	55                   	push   %ebp
40c791:	8b ec                	mov    %esp,%ebp
40c793:	83 ec 08             	sub    $0x8,%esp
40c796:	a1 14 50 45 00       	mov    0x455014,%eax
40c79b:	33 c5                	xor    %ebp,%eax
40c79d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c7a0:	53                   	push   %ebx
40c7a1:	56                   	push   %esi
40c7a2:	57                   	push   %edi
40c7a3:	8b 7d 08             	mov    0x8(%ebp),%edi
40c7a6:	8b d9                	mov    %ecx,%ebx
40c7a8:	8b f7                	mov    %edi,%esi
40c7aa:	8d 4e 02             	lea    0x2(%esi),%ecx
40c7ad:	0f 1f 00             	nopl   (%eax)
40c7b0:	66 8b 06             	mov    (%esi),%ax
40c7b3:	83 c6 02             	add    $0x2,%esi
40c7b6:	66 85 c0             	test   %ax,%ax
40c7b9:	75 f5                	jne    0x40c7b0
40c7bb:	6a 02                	push   $0x2
40c7bd:	6a 00                	push   $0x0
40c7bf:	6a 00                	push   $0x0
40c7c1:	ff 73 68             	push   0x68(%ebx)
40c7c4:	2b f1                	sub    %ecx,%esi
40c7c6:	d1 fe                	sar    $1,%esi
40c7c8:	ff 15 f0 e0 43 00    	call   *0x43e0f0
40c7ce:	6a 00                	push   $0x0
40c7d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c7d3:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c7da:	50                   	push   %eax
40c7db:	03 f6                	add    %esi,%esi
40c7dd:	56                   	push   %esi
40c7de:	57                   	push   %edi
40c7df:	ff 73 68             	push   0x68(%ebx)
40c7e2:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c7e8:	6a 00                	push   $0x0
40c7ea:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c7ed:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c7f4:	50                   	push   %eax
40c7f5:	6a 04                	push   $0x4
40c7f7:	68 94 ef 44 00       	push   $0x44ef94
40c7fc:	ff 73 68             	push   0x68(%ebx)
40c7ff:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c805:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c808:	5f                   	pop    %edi
40c809:	5e                   	pop    %esi
40c80a:	33 cd                	xor    %ebp,%ecx
40c80c:	5b                   	pop    %ebx
40c80d:	e8 98 d3 00 00       	call   0x419baa
40c812:	8b e5                	mov    %ebp,%esp
40c814:	5d                   	pop    %ebp
40c815:	c2 04 00             	ret    $0x4
40c818:	cc                   	int3
40c819:	cc                   	int3
40c81a:	cc                   	int3
40c81b:	cc                   	int3
40c81c:	cc                   	int3
40c81d:	cc                   	int3
40c81e:	cc                   	int3
40c81f:	cc                   	int3
40c820:	55                   	push   %ebp
40c821:	8b ec                	mov    %esp,%ebp
40c823:	83 ec 08             	sub    $0x8,%esp
40c826:	a1 14 50 45 00       	mov    0x455014,%eax
40c82b:	33 c5                	xor    %ebp,%eax
40c82d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c830:	53                   	push   %ebx
40c831:	56                   	push   %esi
40c832:	57                   	push   %edi
40c833:	8b 7d 08             	mov    0x8(%ebp),%edi
40c836:	8b d9                	mov    %ecx,%ebx
40c838:	8b f7                	mov    %edi,%esi
40c83a:	8d 4e 01             	lea    0x1(%esi),%ecx
40c83d:	0f 1f 00             	nopl   (%eax)
40c840:	8a 06                	mov    (%esi),%al
40c842:	46                   	inc    %esi
40c843:	84 c0                	test   %al,%al
40c845:	75 f9                	jne    0x40c840
40c847:	6a 02                	push   $0x2
40c849:	6a 00                	push   $0x0
40c84b:	6a 00                	push   $0x0
40c84d:	ff 73 68             	push   0x68(%ebx)
40c850:	2b f1                	sub    %ecx,%esi
40c852:	ff 15 f0 e0 43 00    	call   *0x43e0f0
40c858:	6a 00                	push   $0x0
40c85a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c85d:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c864:	50                   	push   %eax
40c865:	56                   	push   %esi
40c866:	57                   	push   %edi
40c867:	ff 73 68             	push   0x68(%ebx)
40c86a:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c870:	6a 00                	push   $0x0
40c872:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c875:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c87c:	50                   	push   %eax
40c87d:	6a 02                	push   $0x2
40c87f:	68 9c ef 44 00       	push   $0x44ef9c
40c884:	ff 73 68             	push   0x68(%ebx)
40c887:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c88d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c890:	5f                   	pop    %edi
40c891:	5e                   	pop    %esi
40c892:	33 cd                	xor    %ebp,%ecx
40c894:	5b                   	pop    %ebx
40c895:	e8 10 d3 00 00       	call   0x419baa
40c89a:	8b e5                	mov    %ebp,%esp
40c89c:	5d                   	pop    %ebp
40c89d:	c2 04 00             	ret    $0x4
40c8a0:	55                   	push   %ebp
40c8a1:	8b ec                	mov    %esp,%ebp
40c8a3:	83 e4 f8             	and    $0xfffffff8,%esp
40c8a6:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
40c8ac:	a1 14 50 45 00       	mov    0x455014,%eax
40c8b1:	33 c4                	xor    %esp,%eax
40c8b3:	89 84 24 58 02 00 00 	mov    %eax,0x258(%esp)
40c8ba:	8b 45 10             	mov    0x10(%ebp),%eax
40c8bd:	8b 55 08             	mov    0x8(%ebp),%edx
40c8c0:	53                   	push   %ebx
40c8c1:	56                   	push   %esi
40c8c2:	89 44 24 10          	mov    %eax,0x10(%esp)
40c8c6:	8b c2                	mov    %edx,%eax
40c8c8:	57                   	push   %edi
40c8c9:	8b f9                	mov    %ecx,%edi
40c8cb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c8ce:	0b c1                	or     %ecx,%eax
40c8d0:	89 7c 24 20          	mov    %edi,0x20(%esp)
40c8d4:	75 1a                	jne    0x40c8f0
40c8d6:	8d 44 24 28          	lea    0x28(%esp),%eax
40c8da:	50                   	push   %eax
40c8db:	e8 06 9a 01 00       	call   0x4262e6
40c8e0:	8b 5c 24 30          	mov    0x30(%esp),%ebx
40c8e4:	83 c4 04             	add    $0x4,%esp
40c8e7:	8b 74 24 28          	mov    0x28(%esp),%esi
40c8eb:	e9 92 00 00 00       	jmp    0x40c982
40c8f0:	8b fa                	mov    %edx,%edi
40c8f2:	bb 77 be 9f 1a       	mov    $0x1a9fbe77,%ebx
40c8f7:	8b c7                	mov    %edi,%eax
40c8f9:	89 7c 24 10          	mov    %edi,0x10(%esp)
40c8fd:	f7 e3                	mul    %ebx
40c8ff:	89 44 24 18          	mov    %eax,0x18(%esp)
40c903:	8b f2                	mov    %edx,%esi
40c905:	8b c7                	mov    %edi,%eax
40c907:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
40c90c:	f7 e2                	mul    %edx
40c90e:	8b f8                	mov    %eax,%edi
40c910:	89 54 24 0c          	mov    %edx,0xc(%esp)
40c914:	8b c1                	mov    %ecx,%eax
40c916:	f7 e3                	mul    %ebx
40c918:	8b c8                	mov    %eax,%ecx
40c91a:	8b da                	mov    %edx,%ebx
40c91c:	8b 45 0c             	mov    0xc(%ebp),%eax
40c91f:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
40c924:	f7 e2                	mul    %edx
40c926:	03 ce                	add    %esi,%ecx
40c928:	8b 74 24 10          	mov    0x10(%esp),%esi
40c92c:	89 44 24 18          	mov    %eax,0x18(%esp)
40c930:	83 d3 00             	adc    $0x0,%ebx
40c933:	03 f9                	add    %ecx,%edi
40c935:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c939:	83 d1 00             	adc    $0x0,%ecx
40c93c:	89 7c 24 28          	mov    %edi,0x28(%esp)
40c940:	33 c0                	xor    %eax,%eax
40c942:	8b 7c 24 20          	mov    0x20(%esp),%edi
40c946:	03 d9                	add    %ecx,%ebx
40c948:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40c94c:	13 c0                	adc    %eax,%eax
40c94e:	03 cb                	add    %ebx,%ecx
40c950:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40c953:	13 d0                	adc    %eax,%edx
40c955:	2b f1                	sub    %ecx,%esi
40c957:	1b da                	sbb    %edx,%ebx
40c959:	0f ac de 01          	shrd   $0x1,%ebx,%esi
40c95d:	d1 eb                	shr    $1,%ebx
40c95f:	03 f1                	add    %ecx,%esi
40c961:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c964:	13 da                	adc    %edx,%ebx
40c966:	0f ac de 09          	shrd   $0x9,%ebx,%esi