45d8f0:	55                   	push   %ebp
45d8f1:	8b ec                	mov    %esp,%ebp
45d8f3:	8b 45 0c             	mov    0xc(%ebp),%eax
45d8f6:	56                   	push   %esi
45d8f7:	57                   	push   %edi
45d8f8:	8b 7d 08             	mov    0x8(%ebp),%edi
45d8fb:	8b 70 04             	mov    0x4(%eax),%esi
45d8fe:	8b 10                	mov    (%eax),%edx
45d900:	8b 41 08             	mov    0x8(%ecx),%eax
45d903:	89 14 f8             	mov    %edx,(%eax,%edi,8)
45d906:	89 74 f8 04          	mov    %esi,0x4(%eax,%edi,8)
45d90a:	5f                   	pop    %edi
45d90b:	5e                   	pop    %esi
45d90c:	5d                   	pop    %ebp
45d90d:	c2 08 00             	ret    $0x8
45d910:	55                   	push   %ebp
45d911:	8b ec                	mov    %esp,%ebp
45d913:	8b 45 0c             	mov    0xc(%ebp),%eax
45d916:	8b 55 08             	mov    0x8(%ebp),%edx
45d919:	8b 49 08             	mov    0x8(%ecx),%ecx
45d91c:	8a 00                	mov    (%eax),%al
45d91e:	88 04 0a             	mov    %al,(%edx,%ecx,1)
45d921:	5d                   	pop    %ebp
45d922:	c2 08 00             	ret    $0x8
45d925:	cc                   	int3
45d926:	cc                   	int3
45d927:	cc                   	int3
45d928:	cc                   	int3
45d929:	cc                   	int3
45d92a:	cc                   	int3
45d92b:	cc                   	int3
45d92c:	cc                   	int3
45d92d:	cc                   	int3
45d92e:	cc                   	int3
45d92f:	cc                   	int3
45d930:	8b 41 04             	mov    0x4(%ecx),%eax
45d933:	85 c0                	test   %eax,%eax
45d935:	7e 08                	jle    0x45d93f
45d937:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
45d93e:	c3                   	ret
45d93f:	33 c0                	xor    %eax,%eax
45d941:	c3                   	ret
45d942:	cc                   	int3
45d943:	cc                   	int3
45d944:	cc                   	int3
45d945:	cc                   	int3
45d946:	cc                   	int3
45d947:	cc                   	int3
45d948:	cc                   	int3
45d949:	cc                   	int3
45d94a:	cc                   	int3
45d94b:	cc                   	int3
45d94c:	cc                   	int3
45d94d:	cc                   	int3
45d94e:	cc                   	int3
45d94f:	cc                   	int3
45d950:	8b 41 04             	mov    0x4(%ecx),%eax
45d953:	85 c0                	test   %eax,%eax
45d955:	7e 08                	jle    0x45d95f
45d957:	8d 04 c5 08 00 00 00 	lea    0x8(,%eax,8),%eax
45d95e:	c3                   	ret
45d95f:	33 c0                	xor    %eax,%eax
45d961:	c3                   	ret
45d962:	cc                   	int3
45d963:	cc                   	int3
45d964:	cc                   	int3
45d965:	cc                   	int3
45d966:	cc                   	int3
45d967:	cc                   	int3
45d968:	cc                   	int3
45d969:	cc                   	int3
45d96a:	cc                   	int3
45d96b:	cc                   	int3
45d96c:	cc                   	int3
45d96d:	cc                   	int3
45d96e:	cc                   	int3
45d96f:	cc                   	int3
45d970:	8b 49 04             	mov    0x4(%ecx),%ecx
45d973:	33 d2                	xor    %edx,%edx
45d975:	85 c9                	test   %ecx,%ecx
45d977:	8d 41 04             	lea    0x4(%ecx),%eax
45d97a:	0f 4e c2             	cmovle %edx,%eax
45d97d:	c3                   	ret
45d97e:	cc                   	int3
45d97f:	cc                   	int3
45d980:	53                   	push   %ebx
45d981:	8b d9                	mov    %ecx,%ebx
45d983:	56                   	push   %esi
45d984:	8b 73 08             	mov    0x8(%ebx),%esi
45d987:	8b 43 0c             	mov    0xc(%ebx),%eax
45d98a:	c1 e6 02             	shl    $0x2,%esi
45d98d:	85 c0                	test   %eax,%eax
45d98f:	74 2f                	je     0x45d9c0
45d991:	57                   	push   %edi
45d992:	33 ff                	xor    %edi,%edi
45d994:	39 38                	cmp    %edi,(%eax)
45d996:	7e 21                	jle    0x45d9b9
45d998:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
45d99f:	00
45d9a0:	ff 74 b8 04          	push   0x4(%eax,%edi,4)
45d9a4:	e8 07 ba ff ff       	call   0x4593b0
45d9a9:	83 c0 18             	add    $0x18,%eax
45d9ac:	47                   	inc    %edi
45d9ad:	03 f0                	add    %eax,%esi
45d9af:	83 c4 04             	add    $0x4,%esp
45d9b2:	8b 43 0c             	mov    0xc(%ebx),%eax
45d9b5:	3b 38                	cmp    (%eax),%edi
45d9b7:	7c e7                	jl     0x45d9a0
45d9b9:	5f                   	pop    %edi
45d9ba:	8d 46 04             	lea    0x4(%esi),%eax
45d9bd:	5e                   	pop    %esi
45d9be:	5b                   	pop    %ebx
45d9bf:	c3                   	ret
45d9c0:	8b c6                	mov    %esi,%eax
45d9c2:	5e                   	pop    %esi
45d9c3:	5b                   	pop    %ebx
45d9c4:	c3                   	ret
45d9c5:	cc                   	int3
45d9c6:	cc                   	int3
45d9c7:	cc                   	int3
45d9c8:	cc                   	int3
45d9c9:	cc                   	int3
45d9ca:	cc                   	int3
45d9cb:	cc                   	int3
45d9cc:	cc                   	int3
45d9cd:	cc                   	int3
45d9ce:	cc                   	int3
45d9cf:	cc                   	int3
45d9d0:	55                   	push   %ebp
45d9d1:	8b ec                	mov    %esp,%ebp
45d9d3:	6a ff                	push   $0xffffffff
45d9d5:	68 8d 8c 5f 00       	push   $0x5f8c8d
45d9da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45d9e0:	50                   	push   %eax
45d9e1:	83 ec 10             	sub    $0x10,%esp
45d9e4:	53                   	push   %ebx
45d9e5:	56                   	push   %esi
45d9e6:	57                   	push   %edi
45d9e7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45d9ec:	33 c5                	xor    %ebp,%eax
45d9ee:	50                   	push   %eax
45d9ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
45d9f2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45d9f8:	8b f9                	mov    %ecx,%edi
45d9fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
45d9fd:	3b fb                	cmp    %ebx,%edi
45d9ff:	0f 84 0c 01 00 00    	je     0x45db11
45da05:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
45da09:	8b 47 08             	mov    0x8(%edi),%eax
45da0c:	74 03                	je     0x45da11
45da0e:	8b 40 fc             	mov    -0x4(%eax),%eax
45da11:	8b 4b 04             	mov    0x4(%ebx),%ecx
45da14:	8b 73 08             	mov    0x8(%ebx),%esi
45da17:	8b d6                	mov    %esi,%edx
45da19:	85 c9                	test   %ecx,%ecx
45da1b:	74 03                	je     0x45da20
45da1d:	8b 56 fc             	mov    -0x4(%esi),%edx
45da20:	3b c2                	cmp    %edx,%eax
45da22:	75 31                	jne    0x45da55
45da24:	8b 03                	mov    (%ebx),%eax
45da26:	8b 17                	mov    (%edi),%edx
45da28:	8b 77 04             	mov    0x4(%edi),%esi
45da2b:	89 07                	mov    %eax,(%edi)
45da2d:	89 4f 04             	mov    %ecx,0x4(%edi)
45da30:	89 13                	mov    %edx,(%ebx)
45da32:	89 73 04             	mov    %esi,0x4(%ebx)
45da35:	8b 4f 08             	mov    0x8(%edi),%ecx
45da38:	8b 43 08             	mov    0x8(%ebx),%eax
45da3b:	89 47 08             	mov    %eax,0x8(%edi)
45da3e:	89 4b 08             	mov    %ecx,0x8(%ebx)
45da41:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45da44:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45da4b:	59                   	pop    %ecx
45da4c:	5f                   	pop    %edi
45da4d:	5e                   	pop    %esi
45da4e:	5b                   	pop    %ebx
45da4f:	8b e5                	mov    %ebp,%esp
45da51:	5d                   	pop    %ebp
45da52:	c2 04 00             	ret    $0x4
45da55:	85 c9                	test   %ecx,%ecx
45da57:	74 03                	je     0x45da5c
45da59:	8b 76 fc             	mov    -0x4(%esi),%esi
45da5c:	33 c0                	xor    %eax,%eax
45da5e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
45da65:	89 45 f0             	mov    %eax,-0x10(%ebp)
45da68:	89 45 e8             	mov    %eax,-0x18(%ebp)
45da6b:	89 75 ec             	mov    %esi,-0x14(%ebp)
45da6e:	8b 07                	mov    (%edi),%eax
45da70:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45da77:	85 c0                	test   %eax,%eax
45da79:	74 27                	je     0x45daa2
45da7b:	50                   	push   %eax
45da7c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45da7f:	e8 9c fb ff ff       	call   0x45d620
45da84:	8b 07                	mov    (%edi),%eax
45da86:	01 45 e4             	add    %eax,-0x1c(%ebp)
45da89:	8b 75 ec             	mov    -0x14(%ebp),%esi
45da8c:	c1 e0 02             	shl    $0x2,%eax
45da8f:	50                   	push   %eax
45da90:	ff 77 08             	push   0x8(%edi)
45da93:	56                   	push   %esi
45da94:	e8 37 53 17 00       	call   0x5d2dd0
45da99:	8b 45 e8             	mov    -0x18(%ebp),%eax
45da9c:	83 c4 0c             	add    $0xc,%esp
45da9f:	89 45 f0             	mov    %eax,-0x10(%ebp)
45daa2:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
45daa8:	8b 03                	mov    (%ebx),%eax
45daaa:	85 c0                	test   %eax,%eax
45daac:	74 20                	je     0x45dace
45daae:	50                   	push   %eax
45daaf:	8b cf                	mov    %edi,%ecx
45dab1:	e8 6a fb ff ff       	call   0x45d620
45dab6:	8b 03                	mov    (%ebx),%eax
45dab8:	01 07                	add    %eax,(%edi)
45daba:	8b 03                	mov    (%ebx),%eax
45dabc:	c1 e0 02             	shl    $0x2,%eax
45dabf:	50                   	push   %eax
45dac0:	ff 73 08             	push   0x8(%ebx)
45dac3:	ff 77 08             	push   0x8(%edi)
45dac6:	e8 05 53 17 00       	call   0x5d2dd0
45dacb:	83 c4 0c             	add    $0xc,%esp
45dace:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45dad1:	3b d8                	cmp    %eax,%ebx
45dad3:	74 1a                	je     0x45daef
45dad5:	8b 43 04             	mov    0x4(%ebx),%eax
45dad8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
45dadb:	89 13                	mov    %edx,(%ebx)
45dadd:	8b 55 f0             	mov    -0x10(%ebp),%edx
45dae0:	89 53 04             	mov    %edx,0x4(%ebx)
45dae3:	8b d0                	mov    %eax,%edx
45dae5:	8b 43 08             	mov    0x8(%ebx),%eax
45dae8:	89 73 08             	mov    %esi,0x8(%ebx)
45daeb:	8b f0                	mov    %eax,%esi
45daed:	eb 03                	jmp    0x45daf2
45daef:	8b 55 f0             	mov    -0x10(%ebp),%edx
45daf2:	85 d2                	test   %edx,%edx
45daf4:	7e 1b                	jle    0x45db11
45daf6:	83 c6 fc             	add    $0xfffffffc,%esi
45daf9:	74 16                	je     0x45db11
45dafb:	83 3e 00             	cmpl   $0x0,(%esi)
45dafe:	75 11                	jne    0x45db11
45db00:	8d 04 95 04 00 00 00 	lea    0x4(,%edx,4),%eax
45db07:	50                   	push   %eax
45db08:	56                   	push   %esi
45db09:	e8 47 37 17 00       	call   0x5d1255
45db0e:	83 c4 08             	add    $0x8,%esp
45db11:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45db14:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45db1b:	59                   	pop    %ecx
45db1c:	5f                   	pop    %edi
45db1d:	5e                   	pop    %esi
45db1e:	5b                   	pop    %ebx
45db1f:	8b e5                	mov    %ebp,%esp
45db21:	5d                   	pop    %ebp
45db22:	c2 04 00             	ret    $0x4
45db25:	cc                   	int3
45db26:	cc                   	int3
45db27:	cc                   	int3
45db28:	cc                   	int3
45db29:	cc                   	int3
45db2a:	cc                   	int3
45db2b:	cc                   	int3
45db2c:	cc                   	int3
45db2d:	cc                   	int3
45db2e:	cc                   	int3
45db2f:	cc                   	int3
45db30:	55                   	push   %ebp
45db31:	8b ec                	mov    %esp,%ebp
45db33:	6a ff                	push   $0xffffffff
45db35:	68 bd 8c 5f 00       	push   $0x5f8cbd
45db3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45db40:	50                   	push   %eax
45db41:	83 ec 10             	sub    $0x10,%esp
45db44:	53                   	push   %ebx
45db45:	56                   	push   %esi
45db46:	57                   	push   %edi
45db47:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45db4c:	33 c5                	xor    %ebp,%eax
45db4e:	50                   	push   %eax
45db4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
45db52:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45db58:	8b f9                	mov    %ecx,%edi
45db5a:	8b 5d 08             	mov    0x8(%ebp),%ebx
45db5d:	3b fb                	cmp    %ebx,%edi
45db5f:	0f 84 0c 01 00 00    	je     0x45dc71
45db65:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
45db69:	8b 47 08             	mov    0x8(%edi),%eax
45db6c:	74 03                	je     0x45db71
45db6e:	8b 40 f8             	mov    -0x8(%eax),%eax
45db71:	8b 4b 04             	mov    0x4(%ebx),%ecx
45db74:	8b 73 08             	mov    0x8(%ebx),%esi
45db77:	8b d6                	mov    %esi,%edx
45db79:	85 c9                	test   %ecx,%ecx
45db7b:	74 03                	je     0x45db80
45db7d:	8b 56 f8             	mov    -0x8(%esi),%edx
45db80:	3b c2                	cmp    %edx,%eax
45db82:	75 31                	jne    0x45dbb5
45db84:	8b 03                	mov    (%ebx),%eax
45db86:	8b 17                	mov    (%edi),%edx
45db88:	8b 77 04             	mov    0x4(%edi),%esi
45db8b:	89 07                	mov    %eax,(%edi)
45db8d:	89 4f 04             	mov    %ecx,0x4(%edi)
45db90:	89 13                	mov    %edx,(%ebx)
45db92:	89 73 04             	mov    %esi,0x4(%ebx)
45db95:	8b 4f 08             	mov    0x8(%edi),%ecx
45db98:	8b 43 08             	mov    0x8(%ebx),%eax
45db9b:	89 47 08             	mov    %eax,0x8(%edi)
45db9e:	89 4b 08             	mov    %ecx,0x8(%ebx)
45dba1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45dba4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45dbab:	59                   	pop    %ecx
45dbac:	5f                   	pop    %edi
45dbad:	5e                   	pop    %esi
45dbae:	5b                   	pop    %ebx
45dbaf:	8b e5                	mov    %ebp,%esp
45dbb1:	5d                   	pop    %ebp
45dbb2:	c2 04 00             	ret    $0x4
45dbb5:	85 c9                	test   %ecx,%ecx
45dbb7:	74 03                	je     0x45dbbc
45dbb9:	8b 76 f8             	mov    -0x8(%esi),%esi
45dbbc:	33 c0                	xor    %eax,%eax
45dbbe:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
45dbc5:	89 45 f0             	mov    %eax,-0x10(%ebp)
45dbc8:	89 45 e8             	mov    %eax,-0x18(%ebp)
45dbcb:	89 75 ec             	mov    %esi,-0x14(%ebp)
45dbce:	8b 07                	mov    (%edi),%eax
45dbd0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45dbd7:	85 c0                	test   %eax,%eax
45dbd9:	74 27                	je     0x45dc02
45dbdb:	50                   	push   %eax
45dbdc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45dbdf:	e8 0c fb ff ff       	call   0x45d6f0
45dbe4:	8b 07                	mov    (%edi),%eax
45dbe6:	01 45 e4             	add    %eax,-0x1c(%ebp)
45dbe9:	8b 75 ec             	mov    -0x14(%ebp),%esi
45dbec:	c1 e0 03             	shl    $0x3,%eax
45dbef:	50                   	push   %eax
45dbf0:	ff 77 08             	push   0x8(%edi)
45dbf3:	56                   	push   %esi
45dbf4:	e8 d7 51 17 00       	call   0x5d2dd0
45dbf9:	8b 45 e8             	mov    -0x18(%ebp),%eax
45dbfc:	83 c4 0c             	add    $0xc,%esp
45dbff:	89 45 f0             	mov    %eax,-0x10(%ebp)
45dc02:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
45dc08:	8b 03                	mov    (%ebx),%eax
45dc0a:	85 c0                	test   %eax,%eax
45dc0c:	74 20                	je     0x45dc2e
45dc0e:	50                   	push   %eax
45dc0f:	8b cf                	mov    %edi,%ecx
45dc11:	e8 da fa ff ff       	call   0x45d6f0