4798d3:	2b ca                	sub    %edx,%ecx
4798d5:	83 c1 fc             	add    $0xfffffffc,%ecx
4798d8:	83 f9 1f             	cmp    $0x1f,%ecx
4798db:	77 40                	ja     0x47991d
4798dd:	8b ca                	mov    %edx,%ecx
4798df:	50                   	push   %eax
4798e0:	51                   	push   %ecx
4798e1:	e8 6f 79 15 00       	call   0x5d1255
4798e6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4798ed:	83 c4 08             	add    $0x8,%esp
4798f0:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4798f7:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
4798fe:	6a 20                	push   $0x20
479900:	56                   	push   %esi
479901:	e8 4f 79 15 00       	call   0x5d1255
479906:	83 c4 08             	add    $0x8,%esp
479909:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
47990d:	75 05                	jne    0x479914
47990f:	8b 45 fc             	mov    -0x4(%ebp),%eax
479912:	eb 94                	jmp    0x4798a8
479914:	5e                   	pop    %esi
479915:	5b                   	pop    %ebx
479916:	5f                   	pop    %edi
479917:	8b e5                	mov    %ebp,%esp
479919:	5d                   	pop    %ebp
47991a:	c2 08 00             	ret    $0x8
47991d:	e8 ce c8 15 00       	call   0x5d61f0
479922:	cc                   	int3
479923:	cc                   	int3
479924:	cc                   	int3
479925:	cc                   	int3
479926:	cc                   	int3
479927:	cc                   	int3
479928:	cc                   	int3
479929:	cc                   	int3
47992a:	cc                   	int3
47992b:	cc                   	int3
47992c:	cc                   	int3
47992d:	cc                   	int3
47992e:	cc                   	int3
47992f:	cc                   	int3
479930:	55                   	push   %ebp
479931:	8b ec                	mov    %esp,%ebp
479933:	51                   	push   %ecx
479934:	56                   	push   %esi
479935:	8b 75 0c             	mov    0xc(%ebp),%esi
479938:	8b c1                	mov    %ecx,%eax
47993a:	89 45 fc             	mov    %eax,-0x4(%ebp)
47993d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
479941:	75 32                	jne    0x479975
479943:	53                   	push   %ebx
479944:	8b 5d 08             	mov    0x8(%ebp),%ebx
479947:	57                   	push   %edi
479948:	ff 76 08             	push   0x8(%esi)
47994b:	8b c8                	mov    %eax,%ecx
47994d:	53                   	push   %ebx
47994e:	e8 dd ff ff ff       	call   0x479930
479953:	8b fe                	mov    %esi,%edi
479955:	8b 36                	mov    (%esi),%esi
479957:	8d 4f 10             	lea    0x10(%edi),%ecx
47995a:	e8 81 3d 00 00       	call   0x47d6e0
47995f:	6a 28                	push   $0x28
479961:	57                   	push   %edi
479962:	e8 ee 78 15 00       	call   0x5d1255
479967:	8b 45 fc             	mov    -0x4(%ebp),%eax
47996a:	83 c4 08             	add    $0x8,%esp
47996d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
479971:	74 d5                	je     0x479948
479973:	5f                   	pop    %edi
479974:	5b                   	pop    %ebx
479975:	5e                   	pop    %esi
479976:	8b e5                	mov    %ebp,%esp
479978:	5d                   	pop    %ebp
479979:	c2 08 00             	ret    $0x8
47997c:	cc                   	int3
47997d:	cc                   	int3
47997e:	cc                   	int3
47997f:	cc                   	int3
479980:	55                   	push   %ebp
479981:	8b ec                	mov    %esp,%ebp
479983:	51                   	push   %ecx
479984:	56                   	push   %esi
479985:	8b 75 0c             	mov    0xc(%ebp),%esi
479988:	8b c1                	mov    %ecx,%eax
47998a:	89 45 fc             	mov    %eax,-0x4(%ebp)
47998d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
479991:	75 37                	jne    0x4799ca
479993:	53                   	push   %ebx
479994:	8b 5d 08             	mov    0x8(%ebp),%ebx
479997:	57                   	push   %edi
479998:	ff 76 08             	push   0x8(%esi)
47999b:	8b c8                	mov    %eax,%ecx
47999d:	53                   	push   %ebx
47999e:	e8 dd ff ff ff       	call   0x479980
4799a3:	8b fe                	mov    %esi,%edi
4799a5:	8b 36                	mov    (%esi),%esi
4799a7:	8b 4f 14             	mov    0x14(%edi),%ecx
4799aa:	85 c9                	test   %ecx,%ecx
4799ac:	74 06                	je     0x4799b4
4799ae:	8b 01                	mov    (%ecx),%eax
4799b0:	6a 01                	push   $0x1
4799b2:	ff 10                	call   *(%eax)
4799b4:	6a 18                	push   $0x18
4799b6:	57                   	push   %edi
4799b7:	e8 99 78 15 00       	call   0x5d1255
4799bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4799bf:	83 c4 08             	add    $0x8,%esp
4799c2:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
4799c6:	74 d0                	je     0x479998
4799c8:	5f                   	pop    %edi
4799c9:	5b                   	pop    %ebx
4799ca:	5e                   	pop    %esi
4799cb:	8b e5                	mov    %ebp,%esp
4799cd:	5d                   	pop    %ebp
4799ce:	c2 08 00             	ret    $0x8
4799d1:	cc                   	int3
4799d2:	cc                   	int3
4799d3:	cc                   	int3
4799d4:	cc                   	int3
4799d5:	cc                   	int3
4799d6:	cc                   	int3
4799d7:	cc                   	int3
4799d8:	cc                   	int3
4799d9:	cc                   	int3
4799da:	cc                   	int3
4799db:	cc                   	int3
4799dc:	cc                   	int3
4799dd:	cc                   	int3
4799de:	cc                   	int3
4799df:	cc                   	int3
4799e0:	55                   	push   %ebp
4799e1:	8b ec                	mov    %esp,%ebp
4799e3:	51                   	push   %ecx
4799e4:	57                   	push   %edi
4799e5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4799e8:	8b c1                	mov    %ecx,%eax
4799ea:	89 45 fc             	mov    %eax,-0x4(%ebp)
4799ed:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
4799f1:	75 6e                	jne    0x479a61
4799f3:	53                   	push   %ebx
4799f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4799f7:	56                   	push   %esi
4799f8:	ff 77 08             	push   0x8(%edi)
4799fb:	8b c8                	mov    %eax,%ecx
4799fd:	53                   	push   %ebx
4799fe:	e8 dd ff ff ff       	call   0x4799e0
479a03:	8b f7                	mov    %edi,%esi
479a05:	8b 3f                	mov    (%edi),%edi
479a07:	8b 4e 24             	mov    0x24(%esi),%ecx
479a0a:	83 f9 10             	cmp    $0x10,%ecx
479a0d:	72 28                	jb     0x479a37
479a0f:	8b 46 10             	mov    0x10(%esi),%eax
479a12:	41                   	inc    %ecx
479a13:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
479a19:	72 12                	jb     0x479a2d
479a1b:	8b 50 fc             	mov    -0x4(%eax),%edx
479a1e:	83 c1 23             	add    $0x23,%ecx
479a21:	2b c2                	sub    %edx,%eax
479a23:	83 c0 fc             	add    $0xfffffffc,%eax
479a26:	83 f8 1f             	cmp    $0x1f,%eax
479a29:	77 3d                	ja     0x479a68
479a2b:	8b c2                	mov    %edx,%eax
479a2d:	51                   	push   %ecx
479a2e:	50                   	push   %eax
479a2f:	e8 21 78 15 00       	call   0x5d1255
479a34:	83 c4 08             	add    $0x8,%esp
479a37:	6a 28                	push   $0x28
479a39:	56                   	push   %esi
479a3a:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
479a41:	c7 46 24 0f 00 00 00 	movl   $0xf,0x24(%esi)
479a48:	c6 46 10 00          	movb   $0x0,0x10(%esi)
479a4c:	e8 04 78 15 00       	call   0x5d1255
479a51:	83 c4 08             	add    $0x8,%esp
479a54:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
479a58:	75 05                	jne    0x479a5f
479a5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
479a5d:	eb 99                	jmp    0x4799f8
479a5f:	5e                   	pop    %esi
479a60:	5b                   	pop    %ebx
479a61:	5f                   	pop    %edi
479a62:	8b e5                	mov    %ebp,%esp
479a64:	5d                   	pop    %ebp
479a65:	c2 08 00             	ret    $0x8
479a68:	e8 83 c7 15 00       	call   0x5d61f0
479a6d:	cc                   	int3
479a6e:	cc                   	int3
479a6f:	cc                   	int3
479a70:	55                   	push   %ebp
479a71:	8b ec                	mov    %esp,%ebp
479a73:	8b 51 18             	mov    0x18(%ecx),%edx
479a76:	8b 41 0c             	mov    0xc(%ecx),%eax
479a79:	23 55 10             	and    0x10(%ebp),%edx
479a7c:	8b 49 04             	mov    0x4(%ecx),%ecx
479a7f:	8d 14 d0             	lea    (%eax,%edx,8),%edx
479a82:	8b 42 04             	mov    0x4(%edx),%eax
479a85:	3b c1                	cmp    %ecx,%eax
479a87:	75 10                	jne    0x479a99
479a89:	8b 45 08             	mov    0x8(%ebp),%eax
479a8c:	89 08                	mov    %ecx,(%eax)
479a8e:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479a95:	5d                   	pop    %ebp
479a96:	c2 0c 00             	ret    $0xc
479a99:	8b 12                	mov    (%edx),%edx
479a9b:	56                   	push   %esi
479a9c:	8b 75 0c             	mov    0xc(%ebp),%esi
479a9f:	57                   	push   %edi
479aa0:	8b 3e                	mov    (%esi),%edi
479aa2:	3b 78 08             	cmp    0x8(%eax),%edi
479aa5:	75 08                	jne    0x479aaf
479aa7:	8b 4e 04             	mov    0x4(%esi),%ecx
479aaa:	3b 48 0c             	cmp    0xc(%eax),%ecx
479aad:	74 09                	je     0x479ab8
479aaf:	3b c2                	cmp    %edx,%eax
479ab1:	74 17                	je     0x479aca
479ab3:	8b 40 04             	mov    0x4(%eax),%eax
479ab6:	eb ea                	jmp    0x479aa2
479ab8:	8b 55 08             	mov    0x8(%ebp),%edx
479abb:	8b 08                	mov    (%eax),%ecx
479abd:	5f                   	pop    %edi
479abe:	5e                   	pop    %esi
479abf:	89 42 04             	mov    %eax,0x4(%edx)
479ac2:	8b c2                	mov    %edx,%eax
479ac4:	89 0a                	mov    %ecx,(%edx)
479ac6:	5d                   	pop    %ebp
479ac7:	c2 0c 00             	ret    $0xc
479aca:	8b 4d 08             	mov    0x8(%ebp),%ecx
479acd:	5f                   	pop    %edi
479ace:	5e                   	pop    %esi
479acf:	89 01                	mov    %eax,(%ecx)
479ad1:	8b c1                	mov    %ecx,%eax
479ad3:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
479ada:	5d                   	pop    %ebp
479adb:	c2 0c 00             	ret    $0xc
479ade:	cc                   	int3
479adf:	cc                   	int3
479ae0:	55                   	push   %ebp
479ae1:	8b ec                	mov    %esp,%ebp
479ae3:	8b 51 18             	mov    0x18(%ecx),%edx
479ae6:	23 55 10             	and    0x10(%ebp),%edx
479ae9:	8b 41 0c             	mov    0xc(%ecx),%eax
479aec:	8b 49 04             	mov    0x4(%ecx),%ecx
479aef:	53                   	push   %ebx
479af0:	8d 1c d0             	lea    (%eax,%edx,8),%ebx
479af3:	56                   	push   %esi
479af4:	8b 73 04             	mov    0x4(%ebx),%esi
479af7:	3b f1                	cmp    %ecx,%esi
479af9:	75 12                	jne    0x479b0d
479afb:	8b 45 08             	mov    0x8(%ebp),%eax
479afe:	5e                   	pop    %esi
479aff:	5b                   	pop    %ebx
479b00:	89 08                	mov    %ecx,(%eax)
479b02:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479b09:	5d                   	pop    %ebp
479b0a:	c2 0c 00             	ret    $0xc
479b0d:	8b 1b                	mov    (%ebx),%ebx
479b0f:	57                   	push   %edi
479b10:	8b 7d 0c             	mov    0xc(%ebp),%edi
479b13:	8b 07                	mov    (%edi),%eax
479b15:	3b 46 08             	cmp    0x8(%esi),%eax
479b18:	75 1a                	jne    0x479b34
479b1a:	ff 76 10             	push   0x10(%esi)
479b1d:	ff 76 0c             	push   0xc(%esi)
479b20:	ff 77 08             	push   0x8(%edi)
479b23:	ff 77 04             	push   0x4(%edi)
479b26:	e8 65 47 00 00       	call   0x47e290
479b2b:	83 c4 10             	add    $0x10,%esp
479b2e:	84 c0                	test   %al,%al
479b30:	75 0b                	jne    0x479b3d
479b32:	8b 07                	mov    (%edi),%eax
479b34:	3b f3                	cmp    %ebx,%esi
479b36:	74 16                	je     0x479b4e
479b38:	8b 76 04             	mov    0x4(%esi),%esi
479b3b:	eb d8                	jmp    0x479b15
479b3d:	8b 45 08             	mov    0x8(%ebp),%eax
479b40:	8b 0e                	mov    (%esi),%ecx
479b42:	5f                   	pop    %edi
479b43:	89 70 04             	mov    %esi,0x4(%eax)
479b46:	5e                   	pop    %esi
479b47:	89 08                	mov    %ecx,(%eax)
479b49:	5b                   	pop    %ebx
479b4a:	5d                   	pop    %ebp
479b4b:	c2 0c 00             	ret    $0xc
479b4e:	8b 45 08             	mov    0x8(%ebp),%eax
479b51:	5f                   	pop    %edi
479b52:	89 30                	mov    %esi,(%eax)
479b54:	5e                   	pop    %esi
479b55:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479b5c:	5b                   	pop    %ebx
479b5d:	5d                   	pop    %ebp
479b5e:	c2 0c 00             	ret    $0xc
479b61:	cc                   	int3
479b62:	cc                   	int3
479b63:	cc                   	int3
479b64:	cc                   	int3
479b65:	cc                   	int3
479b66:	cc                   	int3
479b67:	cc                   	int3
479b68:	cc                   	int3
479b69:	cc                   	int3
479b6a:	cc                   	int3
479b6b:	cc                   	int3
479b6c:	cc                   	int3
479b6d:	cc                   	int3
479b6e:	cc                   	int3
479b6f:	cc                   	int3
479b70:	55                   	push   %ebp
479b71:	8b ec                	mov    %esp,%ebp
479b73:	8b 51 18             	mov    0x18(%ecx),%edx
479b76:	23 55 10             	and    0x10(%ebp),%edx
479b79:	8b 41 0c             	mov    0xc(%ecx),%eax
479b7c:	8b 49 04             	mov    0x4(%ecx),%ecx
479b7f:	53                   	push   %ebx
479b80:	8d 1c d0             	lea    (%eax,%edx,8),%ebx
479b83:	56                   	push   %esi
479b84:	8b 73 04             	mov    0x4(%ebx),%esi
479b87:	3b f1                	cmp    %ecx,%esi
479b89:	75 12                	jne    0x479b9d
479b8b:	8b 45 08             	mov    0x8(%ebp),%eax
479b8e:	5e                   	pop    %esi
479b8f:	5b                   	pop    %ebx
479b90:	89 08                	mov    %ecx,(%eax)
479b92:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479b99:	5d                   	pop    %ebp
479b9a:	c2 0c 00             	ret    $0xc
479b9d:	8b 1b                	mov    (%ebx),%ebx
479b9f:	57                   	push   %edi
479ba0:	8b 7d 0c             	mov    0xc(%ebp),%edi
479ba3:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
479ba7:	8d 56 08             	lea    0x8(%esi),%edx
479baa:	72 03                	jb     0x479baf
479bac:	8b 56 08             	mov    0x8(%esi),%edx
479baf:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
479bb3:	8b cf                	mov    %edi,%ecx
479bb5:	72 02                	jb     0x479bb9
479bb7:	8b 0f                	mov    (%edi),%ecx
479bb9:	ff 76 18             	push   0x18(%esi)
479bbc:	52                   	push   %edx
479bbd:	ff 77 10             	push   0x10(%edi)
479bc0:	51                   	push   %ecx
479bc1:	e8 6a 09 00 00       	call   0x47a530
479bc6:	83 c4 10             	add    $0x10,%esp
479bc9:	84 c0                	test   %al,%al
479bcb:	75 1c                	jne    0x479be9
479bcd:	3b f3                	cmp    %ebx,%esi
479bcf:	74 05                	je     0x479bd6
479bd1:	8b 76 04             	mov    0x4(%esi),%esi
479bd4:	eb cd                	jmp    0x479ba3
479bd6:	8b 45 08             	mov    0x8(%ebp),%eax
479bd9:	5f                   	pop    %edi
479bda:	89 30                	mov    %esi,(%eax)