471aa5:	68 ef be ad de       	push   $0xdeadbeef
471aaa:	6a 15                	push   $0x15
471aac:	8b ce                	mov    %esi,%ecx
471aae:	e8 c4 0c 00 00       	call   0x472777
471ab3:	eb 65                	jmp    0x471b1a
471ab5:	53                   	push   %ebx
471ab6:	68 00 00 00 80       	push   $0x80000000
471abb:	ff 77 60             	push   0x60(%edi)
471abe:	50                   	push   %eax
471abf:	ff 15 a0 f7 48 00    	call   *0x48f7a0
471ac5:	8b f8                	mov    %eax,%edi
471ac7:	85 ff                	test   %edi,%edi
471ac9:	75 0a                	jne    0x471ad5
471acb:	50                   	push   %eax
471acc:	68 ef be ad de       	push   $0xdeadbeef
471ad1:	6a 16                	push   $0x16
471ad3:	eb 2f                	jmp    0x471b04
471ad5:	8d 45 0c             	lea    0xc(%ebp),%eax
471ad8:	50                   	push   %eax
471ad9:	57                   	push   %edi
471ada:	ff 15 a4 f7 48 00    	call   *0x48f7a4
471ae0:	8b 55 0c             	mov    0xc(%ebp),%edx
471ae3:	33 c9                	xor    %ecx,%ecx
471ae5:	0b c8                	or     %eax,%ecx
471ae7:	33 c0                	xor    %eax,%eax
471ae9:	0b d0                	or     %eax,%edx
471aeb:	89 4e 10             	mov    %ecx,0x10(%esi)
471aee:	89 56 14             	mov    %edx,0x14(%esi)
471af1:	38 45 10             	cmp    %al,0x10(%ebp)
471af4:	74 0a                	je     0x471b00
471af6:	57                   	push   %edi
471af7:	8b ce                	mov    %esi,%ecx
471af9:	e8 e4 0a 00 00       	call   0x4725e2
471afe:	eb 0b                	jmp    0x471b0b
471b00:	6a 01                	push   $0x1
471b02:	50                   	push   %eax
471b03:	50                   	push   %eax
471b04:	8b ce                	mov    %esi,%ecx
471b06:	e8 6c 0c 00 00       	call   0x472777
471b0b:	8a d8                	mov    %al,%bl
471b0d:	85 ff                	test   %edi,%edi
471b0f:	74 07                	je     0x471b18
471b11:	57                   	push   %edi
471b12:	ff 15 80 f7 48 00    	call   *0x48f780
471b18:	8a c3                	mov    %bl,%al
471b1a:	5f                   	pop    %edi
471b1b:	5b                   	pop    %ebx
471b1c:	5e                   	pop    %esi
471b1d:	5d                   	pop    %ebp
471b1e:	c2 0c 00             	ret    $0xc
471b21:	55                   	push   %ebp
471b22:	8b ec                	mov    %esp,%ebp
471b24:	83 ec 24             	sub    $0x24,%esp
471b27:	53                   	push   %ebx
471b28:	56                   	push   %esi
471b29:	8b f1                	mov    %ecx,%esi
471b2b:	33 db                	xor    %ebx,%ebx
471b2d:	57                   	push   %edi
471b2e:	53                   	push   %ebx
471b2f:	8b 46 54             	mov    0x54(%esi),%eax
471b32:	25 00 00 00 80       	and    $0x80000000,%eax
471b37:	50                   	push   %eax
471b38:	53                   	push   %ebx
471b39:	53                   	push   %ebx
471b3a:	ff 76 20             	push   0x20(%esi)
471b3d:	ff 76 04             	push   0x4(%esi)
471b40:	ff 15 a8 f7 48 00    	call   *0x48f7a8
471b46:	8b f8                	mov    %eax,%edi
471b48:	8b ce                	mov    %esi,%ecx
471b4a:	85 ff                	test   %edi,%edi
471b4c:	75 0a                	jne    0x471b58
471b4e:	53                   	push   %ebx
471b4f:	68 ef be ad de       	push   $0xdeadbeef
471b54:	6a 29                	push   $0x29
471b56:	eb 79                	jmp    0x471bd1
471b58:	ff 75 08             	push   0x8(%ebp)
471b5b:	57                   	push   %edi
471b5c:	e8 4d 0c 00 00       	call   0x4727ae
471b61:	53                   	push   %ebx
471b62:	53                   	push   %ebx
471b63:	53                   	push   %ebx
471b64:	53                   	push   %ebx
471b65:	57                   	push   %edi
471b66:	ff 15 9c f7 48 00    	call   *0x48f79c
471b6c:	85 c0                	test   %eax,%eax
471b6e:	74 57                	je     0x471bc7
471b70:	57                   	push   %edi
471b71:	e8 52 01 00 00       	call   0x471cc8
471b76:	3d c8 00 00 00       	cmp    $0xc8,%eax
471b7b:	75 4a                	jne    0x471bc7
471b7d:	8d 45 08             	lea    0x8(%ebp),%eax
471b80:	89 5d 08             	mov    %ebx,0x8(%ebp)
471b83:	50                   	push   %eax
471b84:	8d 45 fc             	lea    -0x4(%ebp),%eax
471b87:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
471b8e:	50                   	push   %eax
471b8f:	8d 45 dc             	lea    -0x24(%ebp),%eax
471b92:	50                   	push   %eax
471b93:	6a 05                	push   $0x5
471b95:	57                   	push   %edi
471b96:	ff 15 90 f7 48 00    	call   *0x48f790
471b9c:	33 c0                	xor    %eax,%eax
471b9e:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
471ba2:	8d 45 dc             	lea    -0x24(%ebp),%eax
471ba5:	50                   	push   %eax
471ba6:	e8 28 1c fb ff       	call   0x4237d3
471bab:	59                   	pop    %ecx
471bac:	8b ce                	mov    %esi,%ecx
471bae:	89 46 10             	mov    %eax,0x10(%esi)
471bb1:	89 56 14             	mov    %edx,0x14(%esi)
471bb4:	38 5d 0c             	cmp    %bl,0xc(%ebp)
471bb7:	74 08                	je     0x471bc1
471bb9:	57                   	push   %edi
471bba:	e8 23 0a 00 00       	call   0x4725e2
471bbf:	eb 15                	jmp    0x471bd6
471bc1:	6a 01                	push   $0x1
471bc3:	53                   	push   %ebx
471bc4:	53                   	push   %ebx
471bc5:	eb 0a                	jmp    0x471bd1
471bc7:	53                   	push   %ebx
471bc8:	68 ef be ad de       	push   $0xdeadbeef
471bcd:	6a 2a                	push   $0x2a
471bcf:	8b ce                	mov    %esi,%ecx
471bd1:	e8 a1 0b 00 00       	call   0x472777
471bd6:	8a d8                	mov    %al,%bl
471bd8:	85 ff                	test   %edi,%edi
471bda:	74 07                	je     0x471be3
471bdc:	57                   	push   %edi
471bdd:	ff 15 80 f7 48 00    	call   *0x48f780
471be3:	5f                   	pop    %edi
471be4:	5e                   	pop    %esi
471be5:	8a c3                	mov    %bl,%al
471be7:	5b                   	pop    %ebx
471be8:	8b e5                	mov    %ebp,%esp
471bea:	5d                   	pop    %ebp
471beb:	c2 08 00             	ret    $0x8
471bee:	55                   	push   %ebp
471bef:	8b ec                	mov    %esp,%ebp
471bf1:	8b 55 08             	mov    0x8(%ebp),%edx
471bf4:	83 c1 44             	add    $0x44,%ecx
471bf7:	e8 04 0c 00 00       	call   0x472800
471bfc:	33 c0                	xor    %eax,%eax
471bfe:	5d                   	pop    %ebp
471bff:	c2 08 00             	ret    $0x8
471c02:	55                   	push   %ebp
471c03:	8b ec                	mov    %esp,%ebp
471c05:	83 ec 7c             	sub    $0x7c,%esp
471c08:	53                   	push   %ebx
471c09:	56                   	push   %esi
471c0a:	57                   	push   %edi
471c0b:	8b f9                	mov    %ecx,%edi
471c0d:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
471c10:	e8 60 fc ff ff       	call   0x471875
471c15:	8d 45 84             	lea    -0x7c(%ebp),%eax
471c18:	50                   	push   %eax
471c19:	ff 77 20             	push   0x20(%edi)
471c1c:	e8 61 0c 00 00       	call   0x472882
471c21:	84 c0                	test   %al,%al
471c23:	75 12                	jne    0x471c37
471c25:	6a 00                	push   $0x0
471c27:	68 ef be ad de       	push   $0xdeadbeef
471c2c:	6a 01                	push   $0x1
471c2e:	8b cf                	mov    %edi,%ecx
471c30:	e8 42 0b 00 00       	call   0x472777
471c35:	eb 7c                	jmp    0x471cb3
471c37:	8b 75 f4             	mov    -0xc(%ebp),%esi
471c3a:	83 fe 03             	cmp    $0x3,%esi
471c3d:	74 10                	je     0x471c4f
471c3f:	83 fe 01             	cmp    $0x1,%esi
471c42:	74 0b                	je     0x471c4f
471c44:	6a 00                	push   $0x0
471c46:	68 ef be ad de       	push   $0xdeadbeef
471c4b:	6a 02                	push   $0x2
471c4d:	eb df                	jmp    0x471c2e
471c4f:	56                   	push   %esi
471c50:	8b cf                	mov    %edi,%ecx
471c52:	e8 73 08 00 00       	call   0x4724ca
471c57:	84 c0                	test   %al,%al
471c59:	75 0b                	jne    0x471c66
471c5b:	6a 00                	push   $0x0
471c5d:	68 ef be ad de       	push   $0xdeadbeef
471c62:	6a 03                	push   $0x3
471c64:	eb c8                	jmp    0x471c2e
471c66:	4e                   	dec    %esi
471c67:	74 2c                	je     0x471c95
471c69:	4e                   	dec    %esi
471c6a:	4e                   	dec    %esi
471c6b:	74 0b                	je     0x471c78
471c6d:	6a 00                	push   $0x0
471c6f:	68 ef be ad de       	push   $0xdeadbeef
471c74:	6a 04                	push   $0x4
471c76:	eb b6                	jmp    0x471c2e
471c78:	ff 75 08             	push   0x8(%ebp)
471c7b:	8d 47 58             	lea    0x58(%edi),%eax
471c7e:	50                   	push   %eax
471c7f:	e8 f7 08 00 00       	call   0x47257b
471c84:	0f b6 c0             	movzbl %al,%eax
471c87:	8b cf                	mov    %edi,%ecx
471c89:	50                   	push   %eax
471c8a:	8d 45 84             	lea    -0x7c(%ebp),%eax
471c8d:	50                   	push   %eax
471c8e:	e8 76 00 00 00       	call   0x471d09
471c93:	eb 1e                	jmp    0x471cb3
471c95:	ff 75 08             	push   0x8(%ebp)
471c98:	8d 87 8c 00 00 00    	lea    0x8c(%edi),%eax
471c9e:	50                   	push   %eax
471c9f:	e8 d7 08 00 00       	call   0x47257b
471ca4:	0f b6 c0             	movzbl %al,%eax
471ca7:	8b cf                	mov    %edi,%ecx
471ca9:	50                   	push   %eax
471caa:	8d 45 84             	lea    -0x7c(%ebp),%eax
471cad:	50                   	push   %eax
471cae:	e8 a8 fd ff ff       	call   0x471a5b
471cb3:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
471cb6:	8a d8                	mov    %al,%bl
471cb8:	e8 42 fc ff ff       	call   0x4718ff
471cbd:	5f                   	pop    %edi
471cbe:	5e                   	pop    %esi
471cbf:	8a c3                	mov    %bl,%al
471cc1:	5b                   	pop    %ebx
471cc2:	8b e5                	mov    %ebp,%esp
471cc4:	5d                   	pop    %ebp
471cc5:	c2 04 00             	ret    $0x4
471cc8:	55                   	push   %ebp
471cc9:	8b ec                	mov    %esp,%ebp
471ccb:	83 ec 0c             	sub    $0xc,%esp
471cce:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
471cd2:	8d 45 f8             	lea    -0x8(%ebp),%eax
471cd5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
471cd9:	50                   	push   %eax
471cda:	8d 45 f4             	lea    -0xc(%ebp),%eax
471cdd:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
471ce4:	50                   	push   %eax
471ce5:	8d 45 fc             	lea    -0x4(%ebp),%eax
471ce8:	50                   	push   %eax
471ce9:	68 13 00 00 20       	push   $0x20000013
471cee:	ff 75 08             	push   0x8(%ebp)
471cf1:	ff 15 90 f7 48 00    	call   *0x48f790
471cf7:	85 c0                	test   %eax,%eax
471cf9:	74 05                	je     0x471d00
471cfb:	8b 45 fc             	mov    -0x4(%ebp),%eax
471cfe:	eb 03                	jmp    0x471d03
471d00:	83 c8 ff             	or     $0xffffffff,%eax
471d03:	8b e5                	mov    %ebp,%esp
471d05:	5d                   	pop    %ebp
471d06:	c2 04 00             	ret    $0x4
471d09:	55                   	push   %ebp
471d0a:	8b ec                	mov    %esp,%ebp
471d0c:	83 ec 24             	sub    $0x24,%esp
471d0f:	53                   	push   %ebx
471d10:	8b 5d 08             	mov    0x8(%ebp),%ebx
471d13:	56                   	push   %esi
471d14:	57                   	push   %edi
471d15:	8b f9                	mov    %ecx,%edi
471d17:	83 7b 74 04          	cmpl   $0x4,0x74(%ebx)
471d1b:	8b 77 54             	mov    0x54(%edi),%esi
471d1e:	89 75 fc             	mov    %esi,-0x4(%ebp)
471d21:	75 09                	jne    0x471d2c
471d23:	81 ce 00 00 80 00    	or     $0x800000,%esi
471d29:	89 75 fc             	mov    %esi,-0x4(%ebp)
471d2c:	0f b7 43 78          	movzwl 0x78(%ebx),%eax
471d30:	6a 00                	push   $0x0
471d32:	6a 00                	push   $0x0
471d34:	ff 73 70             	push   0x70(%ebx)
471d37:	ff 73 30             	push   0x30(%ebx)
471d3a:	ff 73 20             	push   0x20(%ebx)
471d3d:	50                   	push   %eax
471d3e:	ff 73 10             	push   0x10(%ebx)
471d41:	ff 77 04             	push   0x4(%edi)
471d44:	ff 15 b0 f7 48 00    	call   *0x48f7b0
471d4a:	89 07                	mov    %eax,(%edi)
471d4c:	85 c0                	test   %eax,%eax
471d4e:	75 14                	jne    0x471d64
471d50:	50                   	push   %eax
471d51:	68 ef be ad de       	push   $0xdeadbeef
471d56:	6a 0b                	push   $0xb
471d58:	8b cf                	mov    %edi,%ecx
471d5a:	e8 18 0a 00 00       	call   0x472777
471d5f:	e9 ef 00 00 00       	jmp    0x471e53
471d64:	33 c9                	xor    %ecx,%ecx
471d66:	51                   	push   %ecx
471d67:	56                   	push   %esi
471d68:	51                   	push   %ecx
471d69:	51                   	push   %ecx
471d6a:	51                   	push   %ecx
471d6b:	ff 73 60             	push   0x60(%ebx)
471d6e:	51                   	push   %ecx
471d6f:	50                   	push   %eax
471d70:	ff 15 98 f7 48 00    	call   *0x48f798
471d76:	8b f0                	mov    %eax,%esi
471d78:	85 f6                	test   %esi,%esi
471d7a:	75 0d                	jne    0x471d89
471d7c:	50                   	push   %eax
471d7d:	68 ef be ad de       	push   $0xdeadbeef
471d82:	6a 0c                	push   $0xc
471d84:	e9 b4 00 00 00       	jmp    0x471e3d
471d89:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
471d8d:	74 09                	je     0x471d98
471d8f:	53                   	push   %ebx
471d90:	56                   	push   %esi
471d91:	8b cf                	mov    %edi,%ecx
471d93:	e8 16 0a 00 00       	call   0x4727ae
471d98:	f7 45 fc 00 10 00 00 	testl  $0x1000,-0x4(%ebp)
471d9f:	74 2c                	je     0x471dcd
471da1:	6a 04                	push   $0x4
471da3:	5b                   	pop    %ebx
471da4:	8d 45 08             	lea    0x8(%ebp),%eax
471da7:	89 5d 08             	mov    %ebx,0x8(%ebp)
471daa:	50                   	push   %eax
471dab:	8d 45 0c             	lea    0xc(%ebp),%eax
471dae:	50                   	push   %eax
471daf:	6a 1f                	push   $0x1f
471db1:	56                   	push   %esi
471db2:	ff 15 94 f7 48 00    	call   *0x48f794
471db8:	81 4d 0c 00 01 00 00 	orl    $0x100,0xc(%ebp)
471dbf:	8d 45 0c             	lea    0xc(%ebp),%eax
471dc2:	53                   	push   %ebx
471dc3:	50                   	push   %eax
471dc4:	6a 1f                	push   $0x1f
471dc6:	56                   	push   %esi
471dc7:	ff 15 88 f7 48 00    	call   *0x48f788
471dcd:	33 db                	xor    %ebx,%ebx
471dcf:	53                   	push   %ebx
471dd0:	53                   	push   %ebx
471dd1:	53                   	push   %ebx
471dd2:	53                   	push   %ebx
471dd3:	56                   	push   %esi
471dd4:	ff 15 9c f7 48 00    	call   *0x48f79c
471dda:	85 c0                	test   %eax,%eax
471ddc:	74 57                	je     0x471e35
471dde:	56                   	push   %esi
471ddf:	e8 e4 fe ff ff       	call   0x471cc8
471de4:	3d c8 00 00 00       	cmp    $0xc8,%eax
471de9:	75 4a                	jne    0x471e35
471deb:	8d 45 0c             	lea    0xc(%ebp),%eax
471dee:	89 5d 0c             	mov    %ebx,0xc(%ebp)
471df1:	50                   	push   %eax
471df2:	8d 45 08             	lea    0x8(%ebp),%eax
471df5:	c7 45 08 20 00 00 00 	movl   $0x20,0x8(%ebp)
471dfc:	50                   	push   %eax
471dfd:	8d 45 dc             	lea    -0x24(%ebp),%eax
471e00:	50                   	push   %eax
471e01:	6a 05                	push   $0x5
471e03:	56                   	push   %esi
471e04:	ff 15 90 f7 48 00    	call   *0x48f790
471e0a:	33 c0                	xor    %eax,%eax
471e0c:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
471e10:	8d 45 dc             	lea    -0x24(%ebp),%eax
471e13:	50                   	push   %eax
471e14:	e8 ba 19 fb ff       	call   0x4237d3