45ec32:	89 07                	mov    %eax,(%edi)
45ec34:	8b c2                	mov    %edx,%eax
45ec36:	03 5d dc             	add    -0x24(%ebp),%ebx
45ec39:	2b c3                	sub    %ebx,%eax
45ec3b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ec3e:	3b c8                	cmp    %eax,%ecx
45ec40:	7f 8e                	jg     0x45ebd0
45ec42:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
45ec45:	56                   	push   %esi
45ec46:	57                   	push   %edi
45ec47:	53                   	push   %ebx
45ec48:	e8 83 f8 ff ff       	call   0x45e4d0
45ec4d:	83 c4 0c             	add    $0xc,%esp
45ec50:	33 c9                	xor    %ecx,%ecx
45ec52:	3b f8                	cmp    %eax,%edi
45ec54:	0f 44 c8             	cmove  %eax,%ecx
45ec57:	5f                   	pop    %edi
45ec58:	5e                   	pop    %esi
45ec59:	8b c1                	mov    %ecx,%eax
45ec5b:	5b                   	pop    %ebx
45ec5c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ec5f:	33 cd                	xor    %ebp,%ecx
45ec61:	e8 c0 2d 17 00       	call   0x5d1a26
45ec66:	8b e5                	mov    %ebp,%esp
45ec68:	5d                   	pop    %ebp
45ec69:	c3                   	ret
45ec6a:	c7 47 3c 01 00 00 00 	movl   $0x1,0x3c(%edi)
45ec71:	89 17                	mov    %edx,(%edi)
45ec73:	5f                   	pop    %edi
45ec74:	5e                   	pop    %esi
45ec75:	33 c0                	xor    %eax,%eax
45ec77:	5b                   	pop    %ebx
45ec78:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ec7b:	33 cd                	xor    %ebp,%ecx
45ec7d:	e8 a4 2d 17 00       	call   0x5d1a26
45ec82:	8b e5                	mov    %ebp,%esp
45ec84:	5d                   	pop    %ebp
45ec85:	c3                   	ret
45ec86:	33 c0                	xor    %eax,%eax
45ec88:	0f 57 c0             	xorps  %xmm0,%xmm0
45ec8b:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
45ec8f:	8b 47 04             	mov    0x4(%edi),%eax
45ec92:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
45ec97:	56                   	push   %esi
45ec98:	0f 10 00             	movups (%eax),%xmm0
45ec9b:	8d 45 e0             	lea    -0x20(%ebp),%eax
45ec9e:	03 c1                	add    %ecx,%eax
45eca0:	50                   	push   %eax
45eca1:	89 45 dc             	mov    %eax,-0x24(%ebp)
45eca4:	8d 45 e0             	lea    -0x20(%ebp),%eax
45eca7:	03 c3                	add    %ebx,%eax
45eca9:	50                   	push   %eax
45ecaa:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
45ecae:	e8 1d f8 ff ff       	call   0x45e4d0
45ecb3:	8b c8                	mov    %eax,%ecx
45ecb5:	83 c4 0c             	add    $0xc,%esp
45ecb8:	85 c9                	test   %ecx,%ecx
45ecba:	74 b7                	je     0x45ec73
45ecbc:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
45ecbf:	75 b2                	jne    0x45ec73
45ecc1:	8b 47 04             	mov    0x4(%edi),%eax
45ecc4:	8d 55 e0             	lea    -0x20(%ebp),%edx
45ecc7:	2b c2                	sub    %edx,%eax
45ecc9:	03 c1                	add    %ecx,%eax
45eccb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ecce:	5f                   	pop    %edi
45eccf:	5e                   	pop    %esi
45ecd0:	33 cd                	xor    %ebp,%ecx
45ecd2:	5b                   	pop    %ebx
45ecd3:	e8 4e 2d 17 00       	call   0x5d1a26
45ecd8:	8b e5                	mov    %ebp,%esp
45ecda:	5d                   	pop    %ebp
45ecdb:	c3                   	ret
45ecdc:	cc                   	int3
45ecdd:	cc                   	int3
45ecde:	cc                   	int3
45ecdf:	cc                   	int3
45ece0:	55                   	push   %ebp
45ece1:	8b ec                	mov    %esp,%ebp
45ece3:	83 ec 28             	sub    $0x28,%esp
45ece6:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45eceb:	33 c5                	xor    %ebp,%eax
45eced:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ecf0:	8b 45 0c             	mov    0xc(%ebp),%eax
45ecf3:	53                   	push   %ebx
45ecf4:	56                   	push   %esi
45ecf5:	8b 75 08             	mov    0x8(%ebp),%esi
45ecf8:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ecfb:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ecfe:	57                   	push   %edi
45ecff:	8b 7d 10             	mov    0x10(%ebp),%edi
45ed02:	50                   	push   %eax
45ed03:	e8 d8 0a 00 00       	call   0x45f7e0
45ed08:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45ed0b:	83 c4 04             	add    $0x4,%esp
45ed0e:	8b c8                	mov    %eax,%ecx
45ed10:	89 4d d8             	mov    %ecx,-0x28(%ebp)
45ed13:	85 db                	test   %ebx,%ebx
45ed15:	0f 84 b8 00 00 00    	je     0x45edd3
45ed1b:	8b 57 04             	mov    0x4(%edi),%edx
45ed1e:	8b c2                	mov    %edx,%eax
45ed20:	2b c3                	sub    %ebx,%eax
45ed22:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ed25:	3b c8                	cmp    %eax,%ecx
45ed27:	7e 79                	jle    0x45eda2
45ed29:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45ed30:	56                   	push   %esi
45ed31:	52                   	push   %edx
45ed32:	53                   	push   %ebx
45ed33:	e8 c8 f9 ff ff       	call   0x45e700
45ed38:	8b d8                	mov    %eax,%ebx
45ed3a:	83 c4 0c             	add    $0xc,%esp
45ed3d:	85 db                	test   %ebx,%ebx
45ed3f:	0f 84 8e 00 00 00    	je     0x45edd3
45ed45:	8b 55 d8             	mov    -0x28(%ebp),%edx
45ed48:	8b ca                	mov    %edx,%ecx
45ed4a:	8b 45 dc             	mov    -0x24(%ebp),%eax
45ed4d:	2b c8                	sub    %eax,%ecx
45ed4f:	2b 5f 04             	sub    0x4(%edi),%ebx
45ed52:	83 f9 10             	cmp    $0x10,%ecx
45ed55:	0f 8e 8b 00 00 00    	jle    0x45ede6
45ed5b:	03 c3                	add    %ebx,%eax
45ed5d:	2b d0                	sub    %eax,%edx
45ed5f:	83 7f 10 10          	cmpl   $0x10,0x10(%edi)
45ed63:	89 55 d8             	mov    %edx,-0x28(%ebp)
45ed66:	7e 6b                	jle    0x45edd3
45ed68:	6a ff                	push   $0xffffffff
45ed6a:	6a 00                	push   $0x0
45ed6c:	8b cf                	mov    %edi,%ecx
45ed6e:	e8 ed 04 00 00       	call   0x45f260
45ed73:	8b 57 04             	mov    0x4(%edi),%edx
45ed76:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ed79:	85 c0                	test   %eax,%eax
45ed7b:	74 4d                	je     0x45edca
45ed7d:	8b c8                	mov    %eax,%ecx
45ed7f:	b8 00 00 00 00       	mov    $0x0,%eax
45ed84:	2b ca                	sub    %edx,%ecx
45ed86:	01 4f 10             	add    %ecx,0x10(%edi)
45ed89:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45ed8c:	0f 48 47 10          	cmovs  0x10(%edi),%eax
45ed90:	03 c2                	add    %edx,%eax
45ed92:	89 07                	mov    %eax,(%edi)
45ed94:	8b c2                	mov    %edx,%eax
45ed96:	03 5d dc             	add    -0x24(%ebp),%ebx
45ed99:	2b c3                	sub    %ebx,%eax
45ed9b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ed9e:	3b c8                	cmp    %eax,%ecx
45eda0:	7f 8e                	jg     0x45ed30
45eda2:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
45eda5:	56                   	push   %esi
45eda6:	57                   	push   %edi
45eda7:	53                   	push   %ebx
45eda8:	e8 53 f9 ff ff       	call   0x45e700
45edad:	83 c4 0c             	add    $0xc,%esp
45edb0:	33 c9                	xor    %ecx,%ecx
45edb2:	3b f8                	cmp    %eax,%edi
45edb4:	0f 44 c8             	cmove  %eax,%ecx
45edb7:	5f                   	pop    %edi
45edb8:	5e                   	pop    %esi
45edb9:	8b c1                	mov    %ecx,%eax
45edbb:	5b                   	pop    %ebx
45edbc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45edbf:	33 cd                	xor    %ebp,%ecx
45edc1:	e8 60 2c 17 00       	call   0x5d1a26
45edc6:	8b e5                	mov    %ebp,%esp
45edc8:	5d                   	pop    %ebp
45edc9:	c3                   	ret
45edca:	c7 47 3c 01 00 00 00 	movl   $0x1,0x3c(%edi)
45edd1:	89 17                	mov    %edx,(%edi)
45edd3:	5f                   	pop    %edi
45edd4:	5e                   	pop    %esi
45edd5:	33 c0                	xor    %eax,%eax
45edd7:	5b                   	pop    %ebx
45edd8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45eddb:	33 cd                	xor    %ebp,%ecx
45eddd:	e8 44 2c 17 00       	call   0x5d1a26
45ede2:	8b e5                	mov    %ebp,%esp
45ede4:	5d                   	pop    %ebp
45ede5:	c3                   	ret
45ede6:	33 c0                	xor    %eax,%eax
45ede8:	0f 57 c0             	xorps  %xmm0,%xmm0
45edeb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
45edef:	8b 47 04             	mov    0x4(%edi),%eax
45edf2:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
45edf7:	56                   	push   %esi
45edf8:	0f 10 00             	movups (%eax),%xmm0
45edfb:	8d 45 e0             	lea    -0x20(%ebp),%eax
45edfe:	03 c1                	add    %ecx,%eax
45ee00:	50                   	push   %eax
45ee01:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ee04:	8d 45 e0             	lea    -0x20(%ebp),%eax
45ee07:	03 c3                	add    %ebx,%eax
45ee09:	50                   	push   %eax
45ee0a:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
45ee0e:	e8 ed f8 ff ff       	call   0x45e700
45ee13:	8b c8                	mov    %eax,%ecx
45ee15:	83 c4 0c             	add    $0xc,%esp
45ee18:	85 c9                	test   %ecx,%ecx
45ee1a:	74 b7                	je     0x45edd3
45ee1c:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
45ee1f:	75 b2                	jne    0x45edd3
45ee21:	8b 47 04             	mov    0x4(%edi),%eax
45ee24:	8d 55 e0             	lea    -0x20(%ebp),%edx
45ee27:	2b c2                	sub    %edx,%eax
45ee29:	03 c1                	add    %ecx,%eax
45ee2b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ee2e:	5f                   	pop    %edi
45ee2f:	5e                   	pop    %esi
45ee30:	33 cd                	xor    %ebp,%ecx
45ee32:	5b                   	pop    %ebx
45ee33:	e8 ee 2b 17 00       	call   0x5d1a26
45ee38:	8b e5                	mov    %ebp,%esp
45ee3a:	5d                   	pop    %ebp
45ee3b:	c3                   	ret
45ee3c:	cc                   	int3
45ee3d:	cc                   	int3
45ee3e:	cc                   	int3
45ee3f:	cc                   	int3
45ee40:	55                   	push   %ebp
45ee41:	8b ec                	mov    %esp,%ebp
45ee43:	83 ec 0c             	sub    $0xc,%esp
45ee46:	8b 55 0c             	mov    0xc(%ebp),%edx
45ee49:	53                   	push   %ebx
45ee4a:	8b 5d 10             	mov    0x10(%ebp),%ebx
45ee4d:	56                   	push   %esi
45ee4e:	8b 75 08             	mov    0x8(%ebp),%esi
45ee51:	57                   	push   %edi
45ee52:	89 75 fc             	mov    %esi,-0x4(%ebp)
45ee55:	3b 13                	cmp    (%ebx),%edx
45ee57:	72 2a                	jb     0x45ee83
45ee59:	8b c2                	mov    %edx,%eax
45ee5b:	2b 43 04             	sub    0x4(%ebx),%eax
45ee5e:	3b 43 10             	cmp    0x10(%ebx),%eax
45ee61:	0f 84 9e 00 00 00    	je     0x45ef05
45ee67:	ff 73 48             	push   0x48(%ebx)
45ee6a:	8b cb                	mov    %ebx,%ecx
45ee6c:	50                   	push   %eax
45ee6d:	8d 45 f4             	lea    -0xc(%ebp),%eax
45ee70:	50                   	push   %eax
45ee71:	e8 ba 00 00 00       	call   0x45ef30
45ee76:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
45ee7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
45ee7d:	0f 85 8e 00 00 00    	jne    0x45ef11
45ee83:	0f b6 3a             	movzbl (%edx),%edi
45ee86:	8d 42 01             	lea    0x1(%edx),%eax
45ee89:	81 ff 80 00 00 00    	cmp    $0x80,%edi
45ee8f:	72 41                	jb     0x45eed2
45ee91:	0f b6 08             	movzbl (%eax),%ecx
45ee94:	8b c1                	mov    %ecx,%eax
45ee96:	c1 e0 07             	shl    $0x7,%eax
45ee99:	83 c0 80             	add    $0xffffff80,%eax
45ee9c:	03 f8                	add    %eax,%edi
45ee9e:	8d 42 02             	lea    0x2(%edx),%eax
45eea1:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
45eea7:	72 29                	jb     0x45eed2
45eea9:	b9 0e 00 00 00       	mov    $0xe,%ecx
45eeae:	66 90                	xchg   %ax,%ax
45eeb0:	0f b6 30             	movzbl (%eax),%esi
45eeb3:	40                   	inc    %eax
45eeb4:	8d 56 ff             	lea    -0x1(%esi),%edx
45eeb7:	d3 e2                	shl    %cl,%edx
45eeb9:	03 fa                	add    %edx,%edi
45eebb:	81 fe 80 00 00 00    	cmp    $0x80,%esi
45eec1:	72 0c                	jb     0x45eecf
45eec3:	83 c1 07             	add    $0x7,%ecx
45eec6:	83 f9 23             	cmp    $0x23,%ecx
45eec9:	72 e5                	jb     0x45eeb0
45eecb:	33 c0                	xor    %eax,%eax
45eecd:	33 ff                	xor    %edi,%edi
45eecf:	8b 75 fc             	mov    -0x4(%ebp),%esi
45eed2:	85 c0                	test   %eax,%eax
45eed4:	74 26                	je     0x45eefc
45eed6:	85 ff                	test   %edi,%edi
45eed8:	74 40                	je     0x45ef1a
45eeda:	8b cf                	mov    %edi,%ecx
45eedc:	80 e1 07             	and    $0x7,%cl
45eedf:	80 f9 04             	cmp    $0x4,%cl
45eee2:	74 36                	je     0x45ef1a
45eee4:	53                   	push   %ebx
45eee5:	50                   	push   %eax
45eee6:	56                   	push   %esi
45eee7:	6a 00                	push   $0x0
45eee9:	57                   	push   %edi
45eeea:	e8 e1 f0 ff ff       	call   0x45dfd0
45eeef:	8b d0                	mov    %eax,%edx
45eef1:	83 c4 14             	add    $0x14,%esp
45eef4:	85 d2                	test   %edx,%edx
45eef6:	0f 85 59 ff ff ff    	jne    0x45ee55
45eefc:	5f                   	pop    %edi
45eefd:	5e                   	pop    %esi
45eefe:	33 c0                	xor    %eax,%eax
45ef00:	5b                   	pop    %ebx
45ef01:	8b e5                	mov    %ebp,%esp
45ef03:	5d                   	pop    %ebp
45ef04:	c3                   	ret
45ef05:	85 c0                	test   %eax,%eax
45ef07:	7e 08                	jle    0x45ef11
45ef09:	33 c0                	xor    %eax,%eax
45ef0b:	39 43 08             	cmp    %eax,0x8(%ebx)
45ef0e:	0f 44 d0             	cmove  %eax,%edx
45ef11:	5f                   	pop    %edi
45ef12:	5e                   	pop    %esi
45ef13:	8b c2                	mov    %edx,%eax
45ef15:	5b                   	pop    %ebx
45ef16:	8b e5                	mov    %ebp,%esp
45ef18:	5d                   	pop    %ebp
45ef19:	c3                   	ret
45ef1a:	8d 4f ff             	lea    -0x1(%edi),%ecx
45ef1d:	5f                   	pop    %edi
45ef1e:	5e                   	pop    %esi
45ef1f:	89 4b 3c             	mov    %ecx,0x3c(%ebx)
45ef22:	5b                   	pop    %ebx
45ef23:	8b e5                	mov    %ebp,%esp
45ef25:	5d                   	pop    %ebp
45ef26:	c3                   	ret
45ef27:	cc                   	int3
45ef28:	cc                   	int3
45ef29:	cc                   	int3
45ef2a:	cc                   	int3
45ef2b:	cc                   	int3
45ef2c:	cc                   	int3
45ef2d:	cc                   	int3
45ef2e:	cc                   	int3
45ef2f:	cc                   	int3
45ef30:	55                   	push   %ebp
45ef31:	8b ec                	mov    %esp,%ebp
45ef33:	83 ec 0c             	sub    $0xc,%esp
45ef36:	8b 45 0c             	mov    0xc(%ebp),%eax
45ef39:	53                   	push   %ebx
45ef3a:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ef3d:	56                   	push   %esi
45ef3e:	8b f1                	mov    %ecx,%esi
45ef40:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45ef43:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ef46:	3b 46 10             	cmp    0x10(%esi),%eax
45ef49:	7e 14                	jle    0x45ef5f
45ef4b:	5e                   	pop    %esi
45ef4c:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45ef52:	8b c3                	mov    %ebx,%eax
45ef54:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
45ef58:	5b                   	pop    %ebx
45ef59:	8b e5                	mov    %ebp,%esp
45ef5b:	5d                   	pop    %ebp
45ef5c:	c2 0c 00             	ret    $0xc
45ef5f:	57                   	push   %edi
45ef60:	8b 56 08             	mov    0x8(%esi),%edx
45ef63:	85 d2                	test   %edx,%edx
45ef65:	0f 84 4a 01 00 00    	je     0x45f0b5
45ef6b:	8d 7e 18             	lea    0x18(%esi),%edi
45ef6e:	8d 5e 18             	lea    0x18(%esi),%ebx