46e9a2:	ff 75 14             	push   0x14(%ebp)
46e9a5:	ff 15 ac fe 4a 00    	call   *0x4afeac
46e9ab:	39 5d 08             	cmp    %ebx,0x8(%ebp)
46e9ae:	0f 84 8a 00 00 00    	je     0x46ea3e
46e9b4:	ff 37                	push   (%edi)
46e9b6:	e8 c5 16 fd ff       	call   0x440080
46e9bb:	59                   	pop    %ecx
46e9bc:	89 1f                	mov    %ebx,(%edi)
46e9be:	eb 98                	jmp    0x46e958
46e9c0:	56                   	push   %esi
46e9c1:	ff 75 0c             	push   0xc(%ebp)
46e9c4:	8d 45 0c             	lea    0xc(%ebp),%eax
46e9c7:	ff 75 08             	push   0x8(%ebp)
46e9ca:	50                   	push   %eax
46e9cb:	e8 0b fe ff ff       	call   0x46e7db
46e9d0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46e9d3:	8b 41 f4             	mov    -0xc(%ecx),%eax
46e9d6:	3b c6                	cmp    %esi,%eax
46e9d8:	89 75 fc             	mov    %esi,-0x4(%ebp)
46e9db:	89 45 08             	mov    %eax,0x8(%ebp)
46e9de:	75 0d                	jne    0x46e9ed
46e9e0:	83 c1 f0             	add    $0xfffffff0,%ecx
46e9e3:	e8 6a 29 f9 ff       	call   0x401352
46e9e8:	e9 6b ff ff ff       	jmp    0x46e958
46e9ed:	d1 e8                	shr    $1,%eax
46e9ef:	50                   	push   %eax
46e9f0:	89 03                	mov    %eax,(%ebx)
46e9f2:	e8 5e 16 fd ff       	call   0x440055
46e9f7:	39 75 08             	cmp    %esi,0x8(%ebp)
46e9fa:	59                   	pop    %ecx
46e9fb:	89 07                	mov    %eax,(%edi)
46e9fd:	7e 34                	jle    0x46ea33
46e9ff:	8d 46 01             	lea    0x1(%esi),%eax
46ea02:	50                   	push   %eax
46ea03:	8d 4d 0c             	lea    0xc(%ebp),%ecx
46ea06:	e8 46 d1 ff ff       	call   0x46bb51
46ea0b:	8a d8                	mov    %al,%bl
46ea0d:	fe cb                	dec    %bl
46ea0f:	c0 e3 04             	shl    $0x4,%bl
46ea12:	56                   	push   %esi
46ea13:	8d 4d 0c             	lea    0xc(%ebp),%ecx
46ea16:	80 eb 41             	sub    $0x41,%bl
46ea19:	e8 33 d1 ff ff       	call   0x46bb51
46ea1e:	8b 0f                	mov    (%edi),%ecx
46ea20:	02 d8                	add    %al,%bl
46ea22:	8b c6                	mov    %esi,%eax
46ea24:	99                   	cltd
46ea25:	2b c2                	sub    %edx,%eax
46ea27:	d1 f8                	sar    $1,%eax
46ea29:	46                   	inc    %esi
46ea2a:	46                   	inc    %esi
46ea2b:	3b 75 08             	cmp    0x8(%ebp),%esi
46ea2e:	88 1c 08             	mov    %bl,(%eax,%ecx,1)
46ea31:	7c cc                	jl     0x46e9ff
46ea33:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46ea36:	83 c1 f0             	add    $0xfffffff0,%ecx
46ea39:	e8 14 29 f9 ff       	call   0x401352
46ea3e:	33 c0                	xor    %eax,%eax
46ea40:	40                   	inc    %eax
46ea41:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46ea44:	5f                   	pop    %edi
46ea45:	5e                   	pop    %esi
46ea46:	5b                   	pop    %ebx
46ea47:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46ea4e:	c9                   	leave
46ea4f:	c2 10 00             	ret    $0x10
46ea52:	55                   	push   %ebp
46ea53:	8b ec                	mov    %esp,%ebp
46ea55:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46ea59:	75 24                	jne    0x46ea7f
46ea5b:	ff 75 0c             	push   0xc(%ebp)
46ea5e:	ff 15 88 03 4b 00    	call   *0x4b0388
46ea64:	50                   	push   %eax
46ea65:	ff 75 0c             	push   0xc(%ebp)
46ea68:	6a 01                	push   $0x1
46ea6a:	ff 75 08             	push   0x8(%ebp)
46ea6d:	68 00 00 00 80       	push   $0x80000000
46ea72:	ff 15 80 fe 4a 00    	call   *0x4afe80
46ea78:	f7 d8                	neg    %eax
46ea7a:	1b c0                	sbb    %eax,%eax
46ea7c:	40                   	inc    %eax
46ea7d:	eb 4e                	jmp    0x46eacd
46ea7f:	56                   	push   %esi
46ea80:	8d 45 08             	lea    0x8(%ebp),%eax
46ea83:	50                   	push   %eax
46ea84:	ff 75 08             	push   0x8(%ebp)
46ea87:	68 00 00 00 80       	push   $0x80000000
46ea8c:	ff 15 b0 fe 4a 00    	call   *0x4afeb0
46ea92:	85 c0                	test   %eax,%eax
46ea94:	75 34                	jne    0x46eaca
46ea96:	ff 75 0c             	push   0xc(%ebp)
46ea99:	ff 15 88 03 4b 00    	call   *0x4b0388
46ea9f:	40                   	inc    %eax
46eaa0:	50                   	push   %eax
46eaa1:	ff 75 0c             	push   0xc(%ebp)
46eaa4:	6a 01                	push   $0x1
46eaa6:	6a 00                	push   $0x0
46eaa8:	ff 75 10             	push   0x10(%ebp)
46eaab:	ff 75 08             	push   0x8(%ebp)
46eaae:	ff 15 a0 fe 4a 00    	call   *0x4afea0
46eab4:	ff 75 08             	push   0x8(%ebp)
46eab7:	8b f0                	mov    %eax,%esi
46eab9:	ff 15 ac fe 4a 00    	call   *0x4afeac
46eabf:	85 c0                	test   %eax,%eax
46eac1:	75 07                	jne    0x46eaca
46eac3:	85 f6                	test   %esi,%esi
46eac5:	75 03                	jne    0x46eaca
46eac7:	40                   	inc    %eax
46eac8:	eb 02                	jmp    0x46eacc
46eaca:	33 c0                	xor    %eax,%eax
46eacc:	5e                   	pop    %esi
46eacd:	5d                   	pop    %ebp
46eace:	c2 0c 00             	ret    $0xc
46ead1:	b8 5c bf 48 00       	mov    $0x48bf5c,%eax
46ead6:	c3                   	ret
46ead7:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
46eadc:	50                   	push   %eax
46eadd:	ff 74 24 08          	push   0x8(%esp)
46eae1:	e8 ba 97 fa ff       	call   0x4182a0
46eae6:	59                   	pop    %ecx
46eae7:	59                   	pop    %ecx
46eae8:	c3                   	ret
46eae9:	e9 2c ba fa ff       	jmp    0x41a51a
46eaee:	e9 c5 ba fa ff       	jmp    0x41a5b8
46eaf3:	55                   	push   %ebp
46eaf4:	8b ec                	mov    %esp,%ebp
46eaf6:	81 ec 10 01 00 00    	sub    $0x110,%esp
46eafc:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46eb01:	56                   	push   %esi
46eb02:	ff 75 08             	push   0x8(%ebp)
46eb05:	89 45 fc             	mov    %eax,-0x4(%ebp)
46eb08:	e8 11 9d fa ff       	call   0x41881e
46eb0d:	8b f0                	mov    %eax,%esi
46eb0f:	85 f6                	test   %esi,%esi
46eb11:	59                   	pop    %ecx
46eb12:	0f 84 83 00 00 00    	je     0x46eb9b
46eb18:	56                   	push   %esi
46eb19:	ff 15 88 03 4b 00    	call   *0x4b0388
46eb1f:	03 c6                	add    %esi,%eax
46eb21:	74 6e                	je     0x46eb91
46eb23:	57                   	push   %edi
46eb24:	bf 00 00 00 80       	mov    $0x80000000,%edi
46eb29:	53                   	push   %ebx
46eb2a:	50                   	push   %eax
46eb2b:	56                   	push   %esi
46eb2c:	c6 00 00             	movb   $0x0,(%eax)
46eb2f:	e8 70 a0 fa ff       	call   0x418ba4
46eb34:	59                   	pop    %ecx
46eb35:	59                   	pop    %ecx
46eb36:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
46eb3c:	50                   	push   %eax
46eb3d:	56                   	push   %esi
46eb3e:	57                   	push   %edi
46eb3f:	ff 15 84 fe 4a 00    	call   *0x4afe84
46eb45:	85 c0                	test   %eax,%eax
46eb47:	75 46                	jne    0x46eb8f
46eb49:	68 05 01 00 00       	push   $0x105
46eb4e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46eb54:	50                   	push   %eax
46eb55:	33 db                	xor    %ebx,%ebx
46eb57:	53                   	push   %ebx
46eb58:	ff b5 f0 fe ff ff    	push   -0x110(%ebp)
46eb5e:	ff 15 94 fe 4a 00    	call   *0x4afe94
46eb64:	85 c0                	test   %eax,%eax
46eb66:	75 01                	jne    0x46eb69
46eb68:	43                   	inc    %ebx
46eb69:	ff b5 f0 fe ff ff    	push   -0x110(%ebp)
46eb6f:	ff 15 ac fe 4a 00    	call   *0x4afeac
46eb75:	85 db                	test   %ebx,%ebx
46eb77:	75 16                	jne    0x46eb8f
46eb79:	56                   	push   %esi
46eb7a:	57                   	push   %edi
46eb7b:	ff 15 90 fe 4a 00    	call   *0x4afe90
46eb81:	6a 5c                	push   $0x5c
46eb83:	56                   	push   %esi
46eb84:	e8 55 92 fa ff       	call   0x417dde
46eb89:	85 c0                	test   %eax,%eax
46eb8b:	59                   	pop    %ecx
46eb8c:	59                   	pop    %ecx
46eb8d:	75 9b                	jne    0x46eb2a
46eb8f:	5b                   	pop    %ebx
46eb90:	5f                   	pop    %edi
46eb91:	56                   	push   %esi
46eb92:	e8 07 78 fa ff       	call   0x41639e
46eb97:	33 c0                	xor    %eax,%eax
46eb99:	59                   	pop    %ecx
46eb9a:	40                   	inc    %eax
46eb9b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46eb9e:	5e                   	pop    %esi
46eb9f:	e8 3a 90 fa ff       	call   0x417bde
46eba4:	c9                   	leave
46eba5:	c2 04 00             	ret    $0x4
46eba8:	56                   	push   %esi
46eba9:	8b f1                	mov    %ecx,%esi
46ebab:	6a 0a                	push   $0xa
46ebad:	8d 4e 04             	lea    0x4(%esi),%ecx
46ebb0:	c7 06 14 c2 48 00    	movl   $0x48c214,(%esi)
46ebb6:	e8 c8 da fc ff       	call   0x43c683
46ebbb:	8b c6                	mov    %esi,%eax
46ebbd:	5e                   	pop    %esi
46ebbe:	c3                   	ret
46ebbf:	56                   	push   %esi
46ebc0:	8b f1                	mov    %ecx,%esi
46ebc2:	e8 46 23 01 00       	call   0x480f0d
46ebc7:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
46ebcc:	74 07                	je     0x46ebd5
46ebce:	56                   	push   %esi
46ebcf:	e8 ac 14 fd ff       	call   0x440080
46ebd4:	59                   	pop    %ecx
46ebd5:	8b c6                	mov    %esi,%eax
46ebd7:	5e                   	pop    %esi
46ebd8:	c2 04 00             	ret    $0x4
46ebdb:	56                   	push   %esi
46ebdc:	8b f1                	mov    %ecx,%esi
46ebde:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46ebe2:	85 c9                	test   %ecx,%ecx
46ebe4:	7c 1f                	jl     0x46ec05
46ebe6:	8b 06                	mov    (%esi),%eax
46ebe8:	3b 48 f4             	cmp    -0xc(%eax),%ecx
46ebeb:	7d 18                	jge    0x46ec05
46ebed:	0f b6 54 24 08       	movzbl 0x8(%esp),%edx
46ebf2:	52                   	push   %edx
46ebf3:	03 c1                	add    %ecx,%eax
46ebf5:	50                   	push   %eax
46ebf6:	e8 a5 96 fa ff       	call   0x4182a0
46ebfb:	85 c0                	test   %eax,%eax
46ebfd:	59                   	pop    %ecx
46ebfe:	59                   	pop    %ecx
46ebff:	74 04                	je     0x46ec05
46ec01:	2b 06                	sub    (%esi),%eax
46ec03:	eb 03                	jmp    0x46ec08
46ec05:	83 c8 ff             	or     $0xffffffff,%eax
46ec08:	5e                   	pop    %esi
46ec09:	c2 08 00             	ret    $0x8
46ec0c:	8b 44 24 08          	mov    0x8(%esp),%eax
46ec10:	8b 00                	mov    (%eax),%eax
46ec12:	8b 4c 24 04          	mov    0x4(%esp),%ecx
46ec16:	8b 09                	mov    (%ecx),%ecx
46ec18:	50                   	push   %eax
46ec19:	51                   	push   %ecx
46ec1a:	e8 39 9e fa ff       	call   0x418a58
46ec1f:	f7 d8                	neg    %eax
46ec21:	59                   	pop    %ecx
46ec22:	1b c0                	sbb    %eax,%eax
46ec24:	59                   	pop    %ecx
46ec25:	40                   	inc    %eax
46ec26:	c3                   	ret
46ec27:	8b 44 24 08          	mov    0x8(%esp),%eax
46ec2b:	8b 00                	mov    (%eax),%eax
46ec2d:	8b 4c 24 04          	mov    0x4(%esp),%ecx
46ec31:	8b 09                	mov    (%ecx),%ecx
46ec33:	50                   	push   %eax
46ec34:	51                   	push   %ecx
46ec35:	e8 1e 9e fa ff       	call   0x418a58
46ec3a:	f7 d8                	neg    %eax
46ec3c:	59                   	pop    %ecx
46ec3d:	1b c0                	sbb    %eax,%eax
46ec3f:	59                   	pop    %ecx
46ec40:	f7 d8                	neg    %eax
46ec42:	c3                   	ret
46ec43:	8b 44 24 04          	mov    0x4(%esp),%eax
46ec47:	8b 00                	mov    (%eax),%eax
46ec49:	ff 74 24 08          	push   0x8(%esp)
46ec4d:	50                   	push   %eax
46ec4e:	e8 05 9e fa ff       	call   0x418a58
46ec53:	f7 d8                	neg    %eax
46ec55:	59                   	pop    %ecx
46ec56:	1b c0                	sbb    %eax,%eax
46ec58:	59                   	pop    %ecx
46ec59:	f7 d8                	neg    %eax
46ec5b:	c3                   	ret
46ec5c:	55                   	push   %ebp
46ec5d:	8b ec                	mov    %esp,%ebp
46ec5f:	51                   	push   %ecx
46ec60:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ec64:	53                   	push   %ebx
46ec65:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46ec68:	85 db                	test   %ebx,%ebx
46ec6a:	56                   	push   %esi
46ec6b:	57                   	push   %edi
46ec6c:	7d 02                	jge    0x46ec70
46ec6e:	33 db                	xor    %ebx,%ebx
46ec70:	8b 31                	mov    (%ecx),%esi
46ec72:	8b 7e f4             	mov    -0xc(%esi),%edi
46ec75:	3b df                	cmp    %edi,%ebx
46ec77:	7c 0b                	jl     0x46ec84
46ec79:	51                   	push   %ecx
46ec7a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ec7d:	e8 50 24 f9 ff       	call   0x4010d2
46ec82:	eb 17                	jmp    0x46ec9b
46ec84:	8b 4e f0             	mov    -0x10(%esi),%ecx
46ec87:	8b 01                	mov    (%ecx),%eax
46ec89:	ff 50 10             	call   *0x10(%eax)
46ec8c:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ec8f:	50                   	push   %eax
46ec90:	2b f3                	sub    %ebx,%esi
46ec92:	53                   	push   %ebx
46ec93:	03 f7                	add    %edi,%esi
46ec95:	56                   	push   %esi
46ec96:	e8 d6 ce ff ff       	call   0x46bb71
46ec9b:	8b 45 08             	mov    0x8(%ebp),%eax
46ec9e:	5f                   	pop    %edi
46ec9f:	5e                   	pop    %esi
46eca0:	5b                   	pop    %ebx
46eca1:	c9                   	leave
46eca2:	c2 08 00             	ret    $0x8
46eca5:	53                   	push   %ebx
46eca6:	8b 5c 24 08          	mov    0x8(%esp),%ebx
46ecaa:	85 db                	test   %ebx,%ebx
46ecac:	56                   	push   %esi
46ecad:	57                   	push   %edi
46ecae:	8b f1                	mov    %ecx,%esi
46ecb0:	7c 23                	jl     0x46ecd5
46ecb2:	8b 06                	mov    (%esi),%eax
46ecb4:	8b 78 f4             	mov    -0xc(%eax),%edi
46ecb7:	3b df                	cmp    %edi,%ebx
46ecb9:	7d 1a                	jge    0x46ecd5
46ecbb:	e8 5e 88 f9 ff       	call   0x40751e
46ecc0:	8a 4c 24 14          	mov    0x14(%esp),%cl
46ecc4:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
46ecc7:	57                   	push   %edi
46ecc8:	8b ce                	mov    %esi,%ecx
46ecca:	e8 c6 24 f9 ff       	call   0x401195
46eccf:	5f                   	pop    %edi
46ecd0:	5e                   	pop    %esi
46ecd1:	5b                   	pop    %ebx
46ecd2:	c2 08 00             	ret    $0x8
46ecd5:	68 57 00 07 80       	push   $0x80070057
46ecda:	e8 0b 25 f9 ff       	call   0x4011ea
46ecdf:	cc                   	int3
46ece0:	55                   	push   %ebp
46ece1:	8b ec                	mov    %esp,%ebp
46ece3:	51                   	push   %ecx
46ece4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ece8:	53                   	push   %ebx
46ece9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46ecec:	85 db                	test   %ebx,%ebx
46ecee:	56                   	push   %esi
46ecef:	57                   	push   %edi
46ecf0:	7d 02                	jge    0x46ecf4
46ecf2:	33 db                	xor    %ebx,%ebx
46ecf4:	8b 7d 10             	mov    0x10(%ebp),%edi
46ecf7:	85 ff                	test   %edi,%edi
46ecf9:	7d 02                	jge    0x46ecfd
46ecfb:	33 ff                	xor    %edi,%edi
46ecfd:	8b 31                	mov    (%ecx),%esi
46ecff:	8b 46 f4             	mov    -0xc(%esi),%eax
46ed02:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
46ed05:	3b d0                	cmp    %eax,%edx
46ed07:	7e 04                	jle    0x46ed0d