45c80e:	1b c9                	sbb    %ecx,%ecx
45c810:	83 e1 02             	and    $0x2,%ecx
45c813:	89 4e 14             	mov    %ecx,0x14(%esi)
45c816:	85 c0                	test   %eax,%eax
45c818:	0f 85 95 00 00 00    	jne    0x45c8b3
45c81e:	8b 44 24 10          	mov    0x10(%esp),%eax
45c822:	01 46 34             	add    %eax,0x34(%esi)
45c825:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
45c828:	89 4e 10             	mov    %ecx,0x10(%esi)
45c82b:	3b 4c 24 1c          	cmp    0x1c(%esp),%ecx
45c82f:	0f 83 f9 00 00 00    	jae    0x45c92e
45c835:	8b 46 34             	mov    0x34(%esi),%eax
45c838:	3b 46 30             	cmp    0x30(%esi),%eax
45c83b:	0f 85 6e ff ff ff    	jne    0x45c7af
45c841:	8b 46 20             	mov    0x20(%esi),%eax
45c844:	8b 6e 1c             	mov    0x1c(%esi),%ebp
45c847:	89 44 24 10          	mov    %eax,0x10(%esp)
45c84b:	8b 06                	mov    (%esi),%eax
45c84d:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
45c853:	8b cf                	mov    %edi,%ecx
45c855:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c85b:	8b ce                	mov    %esi,%ecx
45c85d:	ff d7                	call   *%edi
45c85f:	ff 74 24 24          	push   0x24(%esp)
45c863:	8b d8                	mov    %eax,%ebx
45c865:	6a 00                	push   $0x0
45c867:	55                   	push   %ebp
45c868:	ff 74 24 1c          	push   0x1c(%esp)
45c86c:	8b 3b                	mov    (%ebx),%edi
45c86e:	68 40 4e 4c 00       	push   $0x4c4e40
45c873:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45c879:	8b cf                	mov    %edi,%ecx
45c87b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c881:	8b cb                	mov    %ebx,%ecx
45c883:	ff d7                	call   *%edi
45c885:	33 c9                	xor    %ecx,%ecx
45c887:	85 c0                	test   %eax,%eax
45c889:	0f 95 c1             	setne  %cl
45c88c:	89 4e 14             	mov    %ecx,0x14(%esi)
45c88f:	85 c0                	test   %eax,%eax
45c891:	75 08                	jne    0x45c89b
45c893:	89 46 34             	mov    %eax,0x34(%esi)
45c896:	e9 14 ff ff ff       	jmp    0x45c7af
45c89b:	8b 4e 1c             	mov    0x1c(%esi),%ecx
45c89e:	b8 01 00 00 00       	mov    $0x1,%eax
45c8a3:	2b 4e 10             	sub    0x10(%esi),%ecx
45c8a6:	5f                   	pop    %edi
45c8a7:	5e                   	pop    %esi
45c8a8:	3b c8                	cmp    %eax,%ecx
45c8aa:	5d                   	pop    %ebp
45c8ab:	0f 47 c1             	cmova  %ecx,%eax
45c8ae:	5b                   	pop    %ebx
45c8af:	59                   	pop    %ecx
45c8b0:	c2 10 00             	ret    $0x10
45c8b3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45c8b7:	b8 01 00 00 00       	mov    $0x1,%eax
45c8bc:	5f                   	pop    %edi
45c8bd:	2b ca                	sub    %edx,%ecx
45c8bf:	5e                   	pop    %esi
45c8c0:	3b c8                	cmp    %eax,%ecx
45c8c2:	5d                   	pop    %ebp
45c8c3:	0f 47 c1             	cmova  %ecx,%eax
45c8c6:	5b                   	pop    %ebx
45c8c7:	59                   	pop    %ecx
45c8c8:	c2 10 00             	ret    $0x10
45c8cb:	8b 06                	mov    (%esi),%eax
45c8cd:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
45c8d3:	8b cf                	mov    %edi,%ecx
45c8d5:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c8db:	8b ce                	mov    %esi,%ecx
45c8dd:	ff d7                	call   *%edi
45c8df:	ff 74 24 24          	push   0x24(%esp)
45c8e3:	8b 6c 24 20          	mov    0x20(%esp),%ebp
45c8e7:	8b d8                	mov    %eax,%ebx
45c8e9:	6a 00                	push   $0x0
45c8eb:	55                   	push   %ebp
45c8ec:	ff 74 24 24          	push   0x24(%esp)
45c8f0:	8b 3b                	mov    (%ebx),%edi
45c8f2:	68 40 4e 4c 00       	push   $0x4c4e40
45c8f7:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45c8fd:	8b cf                	mov    %edi,%ecx
45c8ff:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c905:	8b cb                	mov    %ebx,%ecx
45c907:	ff d7                	call   *%edi
45c909:	8b c8                	mov    %eax,%ecx
45c90b:	f7 d9                	neg    %ecx
45c90d:	1b c9                	sbb    %ecx,%ecx
45c90f:	83 e1 03             	and    $0x3,%ecx
45c912:	89 4e 14             	mov    %ecx,0x14(%esi)
45c915:	85 c0                	test   %eax,%eax
45c917:	74 15                	je     0x45c92e
45c919:	2b 6e 10             	sub    0x10(%esi),%ebp
45c91c:	b8 01 00 00 00       	mov    $0x1,%eax
45c921:	5f                   	pop    %edi
45c922:	3b e8                	cmp    %eax,%ebp
45c924:	5e                   	pop    %esi
45c925:	0f 47 c5             	cmova  %ebp,%eax
45c928:	5d                   	pop    %ebp
45c929:	5b                   	pop    %ebx
45c92a:	59                   	pop    %ecx
45c92b:	c2 10 00             	ret    $0x10
45c92e:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
45c933:	74 7e                	je     0x45c9b3
45c935:	8b 46 2c             	mov    0x2c(%esi),%eax
45c938:	8b 6e 28             	mov    0x28(%esi),%ebp
45c93b:	89 44 24 10          	mov    %eax,0x10(%esp)
45c93f:	8b 06                	mov    (%esi),%eax
45c941:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
45c947:	8b cf                	mov    %edi,%ecx
45c949:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c94f:	8b ce                	mov    %esi,%ecx
45c951:	ff d7                	call   *%edi
45c953:	ff 74 24 24          	push   0x24(%esp)
45c957:	8b d8                	mov    %eax,%ebx
45c959:	8b 44 24 24          	mov    0x24(%esp),%eax
45c95d:	85 c0                	test   %eax,%eax
45c95f:	8b 3b                	mov    (%ebx),%edi
45c961:	8d 48 ff             	lea    -0x1(%eax),%ecx
45c964:	0f 44 c8             	cmove  %eax,%ecx
45c967:	51                   	push   %ecx
45c968:	55                   	push   %ebp
45c969:	ff 74 24 1c          	push   0x1c(%esp)
45c96d:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45c973:	8b cf                	mov    %edi,%ecx
45c975:	68 40 4e 4c 00       	push   $0x4c4e40
45c97a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c980:	8b cb                	mov    %ebx,%ecx
45c982:	ff d7                	call   *%edi
45c984:	8b c8                	mov    %eax,%ecx
45c986:	f7 d9                	neg    %ecx
45c988:	1b c9                	sbb    %ecx,%ecx
45c98a:	83 e1 04             	and    $0x4,%ecx
45c98d:	89 4e 14             	mov    %ecx,0x14(%esi)
45c990:	85 c0                	test   %eax,%eax
45c992:	74 18                	je     0x45c9ac
45c994:	8b 4e 28             	mov    0x28(%esi),%ecx
45c997:	b8 01 00 00 00       	mov    $0x1,%eax
45c99c:	2b 4e 10             	sub    0x10(%esi),%ecx
45c99f:	5f                   	pop    %edi
45c9a0:	5e                   	pop    %esi
45c9a1:	3b c8                	cmp    %eax,%ecx
45c9a3:	5d                   	pop    %ebp
45c9a4:	0f 47 c1             	cmova  %ecx,%eax
45c9a7:	5b                   	pop    %ebx
45c9a8:	59                   	pop    %ecx
45c9a9:	c2 10 00             	ret    $0x10
45c9ac:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
45c9b3:	5f                   	pop    %edi
45c9b4:	5e                   	pop    %esi
45c9b5:	5d                   	pop    %ebp
45c9b6:	33 c0                	xor    %eax,%eax
45c9b8:	5b                   	pop    %ebx
45c9b9:	59                   	pop    %ecx
45c9ba:	c2 10 00             	ret    $0x10
45c9bd:	0f 1f 00             	nopl   (%eax)
45c9c0:	9a c7 45 00 41 c8 45 	lcall  $0x45c8,$0x410045c7
45c9c7:	00 af c7 45 00 cb    	add    %ch,-0x34ffba39(%edi)
45c9cd:	c8 45 00 35          	enter  $0x45,$0x35
45c9d1:	c9                   	leave
45c9d2:	45                   	inc    %ebp
45c9d3:	00 cc                	add    %cl,%ah
45c9d5:	cc                   	int3
45c9d6:	cc                   	int3
45c9d7:	cc                   	int3
45c9d8:	cc                   	int3
45c9d9:	cc                   	int3
45c9da:	cc                   	int3
45c9db:	cc                   	int3
45c9dc:	cc                   	int3
45c9dd:	cc                   	int3
45c9de:	cc                   	int3
45c9df:	cc                   	int3
45c9e0:	55                   	push   %ebp
45c9e1:	8b ec                	mov    %esp,%ebp
45c9e3:	6a ff                	push   $0xffffffff
45c9e5:	68 84 84 49 00       	push   $0x498484
45c9ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45c9f0:	50                   	push   %eax
45c9f1:	51                   	push   %ecx
45c9f2:	56                   	push   %esi
45c9f3:	57                   	push   %edi
45c9f4:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45c9f9:	33 c5                	xor    %ebp,%eax
45c9fb:	50                   	push   %eax
45c9fc:	8d 45 f4             	lea    -0xc(%ebp),%eax
45c9ff:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45ca05:	8b f9                	mov    %ecx,%edi
45ca07:	8b 55 08             	mov    0x8(%ebp),%edx
45ca0a:	85 d2                	test   %edx,%edx
45ca0c:	6a 18                	push   $0x18
45ca0e:	0f 94 c0             	sete   %al
45ca11:	c7 07 30 70 4b 00    	movl   $0x4b7030,(%edi)
45ca17:	88 47 0c             	mov    %al,0xc(%edi)
45ca1a:	85 d2                	test   %edx,%edx
45ca1c:	b8 00 01 00 00       	mov    $0x100,%eax
45ca21:	c7 47 04 20 70 4b 00 	movl   $0x4b7020,0x4(%edi)
45ca28:	0f 44 d0             	cmove  %eax,%edx
45ca2b:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
45ca32:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
45ca39:	89 57 10             	mov    %edx,0x10(%edi)
45ca3c:	e8 97 cf 00 00       	call   0x4699d8
45ca41:	8b f0                	mov    %eax,%esi
45ca43:	83 c4 04             	add    $0x4,%esp
45ca46:	89 75 f0             	mov    %esi,-0x10(%ebp)
45ca49:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45ca50:	8b 4f 10             	mov    0x10(%edi),%ecx
45ca53:	89 4e 08             	mov    %ecx,0x8(%esi)
45ca56:	85 c9                	test   %ecx,%ecx
45ca58:	75 04                	jne    0x45ca5e
45ca5a:	33 c0                	xor    %eax,%eax
45ca5c:	eb 05                	jmp    0x45ca63
45ca5e:	e8 fd f5 ff ff       	call   0x45c060
45ca63:	89 46 0c             	mov    %eax,0xc(%esi)
45ca66:	8b c7                	mov    %edi,%eax
45ca68:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
45ca6f:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45ca76:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45ca7c:	89 77 18             	mov    %esi,0x18(%edi)
45ca7f:	89 77 14             	mov    %esi,0x14(%edi)
45ca82:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45ca85:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45ca8c:	59                   	pop    %ecx
45ca8d:	5f                   	pop    %edi
45ca8e:	5e                   	pop    %esi
45ca8f:	8b e5                	mov    %ebp,%esp
45ca91:	5d                   	pop    %ebp
45ca92:	c2 04 00             	ret    $0x4
45ca95:	cc                   	int3
45ca96:	cc                   	int3
45ca97:	cc                   	int3
45ca98:	cc                   	int3
45ca99:	cc                   	int3
45ca9a:	cc                   	int3
45ca9b:	cc                   	int3
45ca9c:	cc                   	int3
45ca9d:	cc                   	int3
45ca9e:	cc                   	int3
45ca9f:	cc                   	int3
45caa0:	56                   	push   %esi
45caa1:	8b f1                	mov    %ecx,%esi
45caa3:	c7 06 30 70 4b 00    	movl   $0x4b7030,(%esi)
45caa9:	c7 46 04 20 70 4b 00 	movl   $0x4b7020,0x4(%esi)
45cab0:	e8 db 01 00 00       	call   0x45cc90
45cab5:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
45caba:	74 0b                	je     0x45cac7
45cabc:	6a 28                	push   $0x28
45cabe:	56                   	push   %esi
45cabf:	e8 44 cf 00 00       	call   0x469a08
45cac4:	83 c4 08             	add    $0x8,%esp
45cac7:	8b c6                	mov    %esi,%eax
45cac9:	5e                   	pop    %esi
45caca:	c2 04 00             	ret    $0x4
45cacd:	cc                   	int3
45cace:	cc                   	int3
45cacf:	cc                   	int3
45cad0:	55                   	push   %ebp
45cad1:	8b ec                	mov    %esp,%ebp
45cad3:	6a ff                	push   $0xffffffff
45cad5:	68 73 c2 49 00       	push   $0x49c273
45cada:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45cae0:	50                   	push   %eax
45cae1:	51                   	push   %ecx
45cae2:	53                   	push   %ebx
45cae3:	56                   	push   %esi
45cae4:	57                   	push   %edi
45cae5:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45caea:	33 c5                	xor    %ebp,%eax
45caec:	50                   	push   %eax
45caed:	8d 45 f4             	lea    -0xc(%ebp),%eax
45caf0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45caf6:	8b d9                	mov    %ecx,%ebx
45caf8:	8b 75 08             	mov    0x8(%ebp),%esi
45cafb:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
45cb02:	6a 18                	push   $0x18
45cb04:	8a 46 0c             	mov    0xc(%esi),%al
45cb07:	88 43 0c             	mov    %al,0xc(%ebx)
45cb0a:	8b 46 10             	mov    0x10(%esi),%eax
45cb0d:	89 43 10             	mov    %eax,0x10(%ebx)
45cb10:	e8 c3 ce 00 00       	call   0x4699d8
45cb15:	8b f8                	mov    %eax,%edi
45cb17:	83 c4 04             	add    $0x4,%esp
45cb1a:	89 7d f0             	mov    %edi,-0x10(%ebp)
45cb1d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45cb24:	8b 76 14             	mov    0x14(%esi),%esi
45cb27:	8b 06                	mov    (%esi),%eax
45cb29:	89 07                	mov    %eax,(%edi)
45cb2b:	8b 4e 08             	mov    0x8(%esi),%ecx
45cb2e:	89 4f 08             	mov    %ecx,0x8(%edi)
45cb31:	85 c9                	test   %ecx,%ecx
45cb33:	75 04                	jne    0x45cb39
45cb35:	33 c0                	xor    %eax,%eax
45cb37:	eb 05                	jmp    0x45cb3e
45cb39:	e8 22 f5 ff ff       	call   0x45c060
45cb3e:	8b 4f 08             	mov    0x8(%edi),%ecx
45cb41:	89 47 0c             	mov    %eax,0xc(%edi)
45cb44:	8b 56 0c             	mov    0xc(%esi),%edx
45cb47:	85 c9                	test   %ecx,%ecx
45cb49:	74 30                	je     0x45cb7b
45cb4b:	85 c0                	test   %eax,%eax
45cb4d:	74 1c                	je     0x45cb6b
45cb4f:	51                   	push   %ecx
45cb50:	85 d2                	test   %edx,%edx
45cb52:	74 0c                	je     0x45cb60
45cb54:	52                   	push   %edx
45cb55:	50                   	push   %eax
45cb56:	e8 c5 ea 00 00       	call   0x46b620
45cb5b:	83 c4 0c             	add    $0xc,%esp
45cb5e:	eb 1b                	jmp    0x45cb7b
45cb60:	6a 00                	push   $0x0
45cb62:	50                   	push   %eax
45cb63:	e8 48 f0 00 00       	call   0x46bbb0
45cb68:	83 c4 0c             	add    $0xc,%esp
45cb6b:	e8 c5 d3 01 00       	call   0x479f35
45cb70:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
45cb76:	e8 a6 ca 01 00       	call   0x479621
45cb7b:	8b 46 10             	mov    0x10(%esi),%eax
45cb7e:	89 47 10             	mov    %eax,0x10(%edi)
45cb81:	8b 46 14             	mov    0x14(%esi),%eax
45cb84:	89 47 14             	mov    %eax,0x14(%edi)
45cb87:	8b 45 08             	mov    0x8(%ebp),%eax
45cb8a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45cb91:	89 7b 18             	mov    %edi,0x18(%ebx)
45cb94:	89 7b 14             	mov    %edi,0x14(%ebx)
45cb97:	8b 40 14             	mov    0x14(%eax),%eax
45cb9a:	8b 30                	mov    (%eax),%esi
45cb9c:	85 f6                	test   %esi,%esi
45cb9e:	0f 84 94 00 00 00    	je     0x45cc38
45cba4:	6a 18                	push   $0x18
45cba6:	e8 2d ce 00 00       	call   0x4699d8
45cbab:	8b f8                	mov    %eax,%edi
45cbad:	83 c4 04             	add    $0x4,%esp
45cbb0:	89 7d f0             	mov    %edi,-0x10(%ebp)
45cbb3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45cbba:	8b 0e                	mov    (%esi),%ecx
45cbbc:	89 0f                	mov    %ecx,(%edi)
45cbbe:	8b 4e 08             	mov    0x8(%esi),%ecx
45cbc1:	89 4f 08             	mov    %ecx,0x8(%edi)
45cbc4:	85 c9                	test   %ecx,%ecx
45cbc6:	75 04                	jne    0x45cbcc
45cbc8:	33 c0                	xor    %eax,%eax
45cbca:	eb 05                	jmp    0x45cbd1
45cbcc:	e8 8f f4 ff ff       	call   0x45c060
45cbd1:	8b 4f 08             	mov    0x8(%edi),%ecx
45cbd4:	89 47 0c             	mov    %eax,0xc(%edi)
45cbd7:	8b 56 0c             	mov    0xc(%esi),%edx
45cbda:	85 c9                	test   %ecx,%ecx
45cbdc:	74 30                	je     0x45cc0e
45cbde:	85 c0                	test   %eax,%eax
45cbe0:	74 1c                	je     0x45cbfe
45cbe2:	51                   	push   %ecx