45fc74:	cc                   	int3
45fc75:	cc                   	int3
45fc76:	cc                   	int3
45fc77:	cc                   	int3
45fc78:	cc                   	int3
45fc79:	cc                   	int3
45fc7a:	cc                   	int3
45fc7b:	cc                   	int3
45fc7c:	cc                   	int3
45fc7d:	cc                   	int3
45fc7e:	cc                   	int3
45fc7f:	cc                   	int3
45fc80:	8b c1                	mov    %ecx,%eax
45fc82:	c3                   	ret
45fc83:	cc                   	int3
45fc84:	cc                   	int3
45fc85:	cc                   	int3
45fc86:	cc                   	int3
45fc87:	cc                   	int3
45fc88:	cc                   	int3
45fc89:	cc                   	int3
45fc8a:	cc                   	int3
45fc8b:	cc                   	int3
45fc8c:	cc                   	int3
45fc8d:	cc                   	int3
45fc8e:	cc                   	int3
45fc8f:	cc                   	int3
45fc90:	56                   	push   %esi
45fc91:	8b 71 08             	mov    0x8(%ecx),%esi
45fc94:	ba ff ff ff 3f       	mov    $0x3fffffff,%edx
45fc99:	2b 31                	sub    (%ecx),%esi
45fc9b:	c1 fe 02             	sar    $0x2,%esi
45fc9e:	8b c6                	mov    %esi,%eax
45fca0:	d1 e8                	shr    $1,%eax
45fca2:	2b d0                	sub    %eax,%edx
45fca4:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
45fca7:	33 c0                	xor    %eax,%eax
45fca9:	3b d6                	cmp    %esi,%edx
45fcab:	5e                   	pop    %esi
45fcac:	0f 43 c1             	cmovae %ecx,%eax
45fcaf:	3b 44 24 04          	cmp    0x4(%esp),%eax
45fcb3:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
45fcb8:	c2 04 00             	ret    $0x4
45fcbb:	cc                   	int3
45fcbc:	cc                   	int3
45fcbd:	cc                   	int3
45fcbe:	cc                   	int3
45fcbf:	cc                   	int3
45fcc0:	cc                   	int3
45fcc1:	cc                   	int3
45fcc2:	cc                   	int3
45fcc3:	cc                   	int3
45fcc4:	cc                   	int3
45fcc5:	cc                   	int3
45fcc6:	cc                   	int3
45fcc7:	cc                   	int3
45fcc8:	cc                   	int3
45fcc9:	cc                   	int3
45fcca:	cc                   	int3
45fccb:	cc                   	int3
45fccc:	cc                   	int3
45fccd:	cc                   	int3
45fcce:	cc                   	int3
45fccf:	cc                   	int3
45fcd0:	8b 51 08             	mov    0x8(%ecx),%edx
45fcd3:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
45fcd8:	2b 11                	sub    (%ecx),%edx
45fcda:	f7 ea                	imul   %edx
45fcdc:	56                   	push   %esi
45fcdd:	c1 fa 02             	sar    $0x2,%edx
45fce0:	8b f2                	mov    %edx,%esi
45fce2:	c1 ee 1f             	shr    $0x1f,%esi
45fce5:	03 f2                	add    %edx,%esi
45fce7:	ba aa aa aa 0a       	mov    $0xaaaaaaa,%edx
45fcec:	8b c6                	mov    %esi,%eax
45fcee:	d1 e8                	shr    $1,%eax
45fcf0:	2b d0                	sub    %eax,%edx
45fcf2:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
45fcf5:	33 c0                	xor    %eax,%eax
45fcf7:	3b d6                	cmp    %esi,%edx
45fcf9:	5e                   	pop    %esi
45fcfa:	0f 43 c1             	cmovae %ecx,%eax
45fcfd:	3b 44 24 04          	cmp    0x4(%esp),%eax
45fd01:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
45fd06:	c2 04 00             	ret    $0x4
45fd09:	cc                   	int3
45fd0a:	cc                   	int3
45fd0b:	cc                   	int3
45fd0c:	cc                   	int3
45fd0d:	cc                   	int3
45fd0e:	cc                   	int3
45fd0f:	cc                   	int3
45fd10:	cc                   	int3
45fd11:	cc                   	int3
45fd12:	cc                   	int3
45fd13:	cc                   	int3
45fd14:	cc                   	int3
45fd15:	cc                   	int3
45fd16:	cc                   	int3
45fd17:	cc                   	int3
45fd18:	cc                   	int3
45fd19:	cc                   	int3
45fd1a:	cc                   	int3
45fd1b:	cc                   	int3
45fd1c:	cc                   	int3
45fd1d:	cc                   	int3
45fd1e:	cc                   	int3
45fd1f:	cc                   	int3
45fd20:	51                   	push   %ecx
45fd21:	53                   	push   %ebx
45fd22:	8b d9                	mov    %ecx,%ebx
45fd24:	55                   	push   %ebp
45fd25:	8b 6c 24 10          	mov    0x10(%esp),%ebp
45fd29:	56                   	push   %esi
45fd2a:	8b 43 14             	mov    0x14(%ebx),%eax
45fd2d:	2b 43 0c             	sub    0xc(%ebx),%eax
45fd30:	57                   	push   %edi
45fd31:	8d 3c 6d 00 00 00 00 	lea    0x0(,%ebp,2),%edi
45fd38:	c1 f8 02             	sar    $0x2,%eax
45fd3b:	3b c7                	cmp    %edi,%eax
45fd3d:	73 11                	jae    0x45fd50
45fd3f:	81 ff ff ff ff 3f    	cmp    $0x3fffffff,%edi
45fd45:	77 3d                	ja     0x45fd84
45fd47:	57                   	push   %edi
45fd48:	8d 4b 0c             	lea    0xc(%ebx),%ecx
45fd4b:	e8 82 10 fd ff       	call   0x430dd2
45fd50:	8b 43 04             	mov    0x4(%ebx),%eax
45fd53:	8d 4b 0c             	lea    0xc(%ebx),%ecx
45fd56:	89 44 24 18          	mov    %eax,0x18(%esp)
45fd5a:	8b 43 0c             	mov    0xc(%ebx),%eax
45fd5d:	89 43 10             	mov    %eax,0x10(%ebx)
45fd60:	8d 44 24 18          	lea    0x18(%esp),%eax
45fd64:	50                   	push   %eax
45fd65:	57                   	push   %edi
45fd66:	ff 73 0c             	push   0xc(%ebx)
45fd69:	8d 44 24 1c          	lea    0x1c(%esp),%eax
45fd6d:	50                   	push   %eax
45fd6e:	e8 aa 30 fb ff       	call   0x412e1d
45fd73:	5f                   	pop    %edi
45fd74:	5e                   	pop    %esi
45fd75:	8d 45 ff             	lea    -0x1(%ebp),%eax
45fd78:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
45fd7b:	5d                   	pop    %ebp
45fd7c:	89 43 18             	mov    %eax,0x18(%ebx)
45fd7f:	5b                   	pop    %ebx
45fd80:	59                   	pop    %ecx
45fd81:	c2 04 00             	ret    $0x4
45fd84:	68 58 20 bd 00       	push   $0xbd2058
45fd89:	e8 88 9a fc ff       	call   0x429816
45fd8e:	cc                   	int3
45fd8f:	cc                   	int3
45fd90:	cc                   	int3
45fd91:	cc                   	int3
45fd92:	cc                   	int3
45fd93:	cc                   	int3
45fd94:	cc                   	int3
45fd95:	cc                   	int3
45fd96:	cc                   	int3
45fd97:	cc                   	int3
45fd98:	cc                   	int3
45fd99:	cc                   	int3
45fd9a:	cc                   	int3
45fd9b:	cc                   	int3
45fd9c:	cc                   	int3
45fd9d:	cc                   	int3
45fd9e:	cc                   	int3
45fd9f:	cc                   	int3
45fda0:	cc                   	int3
45fda1:	cc                   	int3
45fda2:	cc                   	int3
45fda3:	cc                   	int3
45fda4:	cc                   	int3
45fda5:	cc                   	int3
45fda6:	cc                   	int3
45fda7:	cc                   	int3
45fda8:	cc                   	int3
45fda9:	cc                   	int3
45fdaa:	cc                   	int3
45fdab:	cc                   	int3
45fdac:	cc                   	int3
45fdad:	cc                   	int3
45fdae:	cc                   	int3
45fdaf:	cc                   	int3
45fdb0:	55                   	push   %ebp
45fdb1:	8b ec                	mov    %esp,%ebp
45fdb3:	6a ff                	push   $0xffffffff
45fdb5:	68 70 2f b3 00       	push   $0xb32f70
45fdba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45fdc0:	50                   	push   %eax
45fdc1:	83 ec 18             	sub    $0x18,%esp
45fdc4:	53                   	push   %ebx
45fdc5:	56                   	push   %esi
45fdc6:	57                   	push   %edi
45fdc7:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
45fdcc:	33 c5                	xor    %ebp,%eax
45fdce:	50                   	push   %eax
45fdcf:	8d 45 f4             	lea    -0xc(%ebp),%eax
45fdd2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45fdd8:	89 65 f0             	mov    %esp,-0x10(%ebp)
45fddb:	8b d9                	mov    %ecx,%ebx
45fddd:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45fde0:	8b 45 0c             	mov    0xc(%ebp),%eax
45fde3:	8b f8                	mov    %eax,%edi
45fde5:	8b 33                	mov    (%ebx),%esi
45fde7:	2b fe                	sub    %esi,%edi
45fde9:	c1 ff 02             	sar    $0x2,%edi
45fdec:	89 7d dc             	mov    %edi,-0x24(%ebp)
45fdef:	8b 7d 10             	mov    0x10(%ebp),%edi
45fdf2:	85 ff                	test   %edi,%edi
45fdf4:	0f 84 e5 01 00 00    	je     0x45ffdf
45fdfa:	8b 53 04             	mov    0x4(%ebx),%edx
45fdfd:	8b 4b 08             	mov    0x8(%ebx),%ecx
45fe00:	2b ca                	sub    %edx,%ecx
45fe02:	89 55 10             	mov    %edx,0x10(%ebp)
45fe05:	c1 f9 02             	sar    $0x2,%ecx
45fe08:	3b cf                	cmp    %edi,%ecx
45fe0a:	0f 83 fb 00 00 00    	jae    0x45ff0b
45fe10:	2b d6                	sub    %esi,%edx
45fe12:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
45fe17:	c1 fa 02             	sar    $0x2,%edx
45fe1a:	8b c1                	mov    %ecx,%eax
45fe1c:	2b c2                	sub    %edx,%eax
45fe1e:	3b c7                	cmp    %edi,%eax
45fe20:	73 0a                	jae    0x45fe2c
45fe22:	68 58 20 bd 00       	push   $0xbd2058
45fe27:	e8 ea 99 fc ff       	call   0x429816
45fe2c:	8d 04 3a             	lea    (%edx,%edi,1),%eax
45fe2f:	8b 53 08             	mov    0x8(%ebx),%edx
45fe32:	89 45 10             	mov    %eax,0x10(%ebp)
45fe35:	2b d6                	sub    %esi,%edx
45fe37:	c1 fa 02             	sar    $0x2,%edx
45fe3a:	8b c2                	mov    %edx,%eax
45fe3c:	d1 e8                	shr    $1,%eax
45fe3e:	2b c8                	sub    %eax,%ecx
45fe40:	03 c2                	add    %edx,%eax
45fe42:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45fe45:	33 c9                	xor    %ecx,%ecx
45fe47:	39 55 ec             	cmp    %edx,-0x14(%ebp)
45fe4a:	0f 43 c8             	cmovae %eax,%ecx
45fe4d:	8b 45 10             	mov    0x10(%ebp),%eax
45fe50:	3b c8                	cmp    %eax,%ecx
45fe52:	0f 43 c1             	cmovae %ecx,%eax
45fe55:	8b cb                	mov    %ebx,%ecx
45fe57:	50                   	push   %eax
45fe58:	89 45 10             	mov    %eax,0x10(%ebp)
45fe5b:	89 45 e8             	mov    %eax,-0x18(%ebp)
45fe5e:	e8 24 dd fc ff       	call   0x42db87
45fe63:	ff 75 0c             	push   0xc(%ebp)
45fe66:	8b f0                	mov    %eax,%esi
45fe68:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45fe6f:	8b 45 0c             	mov    0xc(%ebp),%eax
45fe72:	2b 03                	sub    (%ebx),%eax
45fe74:	c1 f8 02             	sar    $0x2,%eax
45fe77:	53                   	push   %ebx
45fe78:	ff 75 14             	push   0x14(%ebp)
45fe7b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
45fe7e:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
45fe81:	89 45 ec             	mov    %eax,-0x14(%ebp)
45fe84:	57                   	push   %edi
45fe85:	51                   	push   %ecx
45fe86:	e8 b5 38 fc ff       	call   0x423740
45fe8b:	83 c4 14             	add    $0x14,%esp
45fe8e:	51                   	push   %ecx
45fe8f:	ff 75 0c             	push   0xc(%ebp)
45fe92:	53                   	push   %ebx
45fe93:	56                   	push   %esi
45fe94:	ff 75 0c             	push   0xc(%ebp)
45fe97:	ff 33                	push   (%ebx)
45fe99:	e8 93 da fa ff       	call   0x40d931
45fe9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
45fea1:	83 c4 18             	add    $0x18,%esp
45fea4:	03 c7                	add    %edi,%eax
45fea6:	51                   	push   %ecx
45fea7:	ff 75 0c             	push   0xc(%ebp)
45feaa:	8d 04 86             	lea    (%esi,%eax,4),%eax
45fead:	53                   	push   %ebx
45feae:	50                   	push   %eax
45feaf:	ff 73 04             	push   0x4(%ebx)
45feb2:	ff 75 0c             	push   0xc(%ebp)
45feb5:	e8 77 da fa ff       	call   0x40d931
45feba:	8b 0b                	mov    (%ebx),%ecx
45febc:	83 c4 18             	add    $0x18,%esp
45febf:	8b 43 04             	mov    0x4(%ebx),%eax
45fec2:	2b c1                	sub    %ecx,%eax
45fec4:	c1 f8 02             	sar    $0x2,%eax
45fec7:	03 f8                	add    %eax,%edi
45fec9:	85 c9                	test   %ecx,%ecx
45fecb:	74 11                	je     0x45fede
45fecd:	8b 43 08             	mov    0x8(%ebx),%eax
45fed0:	2b c1                	sub    %ecx,%eax
45fed2:	c1 f8 02             	sar    $0x2,%eax
45fed5:	50                   	push   %eax
45fed6:	51                   	push   %ecx
45fed7:	8b cb                	mov    %ebx,%ecx
45fed9:	e8 7e b6 fd ff       	call   0x43b55c
45fede:	8b 45 10             	mov    0x10(%ebp),%eax
45fee1:	8d 04 86             	lea    (%esi,%eax,4),%eax
45fee4:	89 43 08             	mov    %eax,0x8(%ebx)
45fee7:	8d 04 be             	lea    (%esi,%edi,4),%eax
45feea:	89 43 04             	mov    %eax,0x4(%ebx)
45feed:	89 33                	mov    %esi,(%ebx)
45feef:	e9 eb 00 00 00       	jmp    0x45ffdf
45fef4:	ff 75 e8             	push   -0x18(%ebp)
45fef7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45fefa:	ff 75 e4             	push   -0x1c(%ebp)
45fefd:	e8 5a b6 fd ff       	call   0x43b55c
45ff02:	6a 00                	push   $0x0
45ff04:	6a 00                	push   $0x0
45ff06:	e8 84 da fb ff       	call   0x41d98f
45ff0b:	8b ca                	mov    %edx,%ecx
45ff0d:	2b c8                	sub    %eax,%ecx
45ff0f:	c1 f9 02             	sar    $0x2,%ecx
45ff12:	3b cf                	cmp    %edi,%ecx
45ff14:	73 76                	jae    0x45ff8c
45ff16:	8b 4d 14             	mov    0x14(%ebp),%ecx
45ff19:	8d 34 bd 00 00 00 00 	lea    0x0(,%edi,4),%esi
45ff20:	8b 09                	mov    (%ecx),%ecx
45ff22:	89 4d 14             	mov    %ecx,0x14(%ebp)
45ff25:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
45ff28:	51                   	push   %ecx
45ff29:	ff 75 0c             	push   0xc(%ebp)
45ff2c:	53                   	push   %ebx
45ff2d:	51                   	push   %ecx
45ff2e:	52                   	push   %edx
45ff2f:	50                   	push   %eax
45ff30:	e8 fc d9 fa ff       	call   0x40d931
45ff35:	8b 43 04             	mov    0x4(%ebx),%eax
45ff38:	2b 45 0c             	sub    0xc(%ebp),%eax
45ff3b:	ff 75 0c             	push   0xc(%ebp)
45ff3e:	c1 f8 02             	sar    $0x2,%eax
45ff41:	2b f8                	sub    %eax,%edi
45ff43:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45ff4a:	53                   	push   %ebx
45ff4b:	8d 45 14             	lea    0x14(%ebp),%eax
45ff4e:	50                   	push   %eax
45ff4f:	57                   	push   %edi
45ff50:	ff 73 04             	push   0x4(%ebx)
45ff53:	e8 e8 37 fc ff       	call   0x423740
45ff58:	01 73 04             	add    %esi,0x4(%ebx)
45ff5b:	33 ff                	xor    %edi,%edi
45ff5d:	8b 43 04             	mov    0x4(%ebx),%eax
45ff60:	83 c4 2c             	add    $0x2c,%esp
45ff63:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45ff66:	2b c6                	sub    %esi,%eax
45ff68:	8b f0                	mov    %eax,%esi
45ff6a:	33 d2                	xor    %edx,%edx
45ff6c:	2b f1                	sub    %ecx,%esi
45ff6e:	83 c6 03             	add    $0x3,%esi
45ff71:	c1 ee 02             	shr    $0x2,%esi
45ff74:	3b c8                	cmp    %eax,%ecx