4718f1:	e8 6e 41 f9 ff       	call   0x405a64
4718f6:	8d 4e 20             	lea    0x20(%esi),%ecx
4718f9:	5e                   	pop    %esi
4718fa:	e9 65 41 f9 ff       	jmp    0x405a64
4718ff:	56                   	push   %esi
471900:	8b f1                	mov    %ecx,%esi
471902:	8d 4e 60             	lea    0x60(%esi),%ecx
471905:	e8 5a 41 f9 ff       	call   0x405a64
47190a:	8d 4e 50             	lea    0x50(%esi),%ecx
47190d:	e8 52 41 f9 ff       	call   0x405a64
471912:	8d 4e 40             	lea    0x40(%esi),%ecx
471915:	e8 4a 41 f9 ff       	call   0x405a64
47191a:	8d 4e 30             	lea    0x30(%esi),%ecx
47191d:	e8 42 41 f9 ff       	call   0x405a64
471922:	8d 4e 20             	lea    0x20(%esi),%ecx
471925:	e8 3a 41 f9 ff       	call   0x405a64
47192a:	8d 4e 10             	lea    0x10(%esi),%ecx
47192d:	e8 32 41 f9 ff       	call   0x405a64
471932:	8b ce                	mov    %esi,%ecx
471934:	5e                   	pop    %esi
471935:	e9 2a 41 f9 ff       	jmp    0x405a64
47193a:	55                   	push   %ebp
47193b:	8b ec                	mov    %esp,%ebp
47193d:	56                   	push   %esi
47193e:	8b f1                	mov    %ecx,%esi
471940:	e8 6c ff ff ff       	call   0x4718b1
471945:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
471949:	74 07                	je     0x471952
47194b:	56                   	push   %esi
47194c:	e8 1b f7 fa ff       	call   0x42106c
471951:	59                   	pop    %ecx
471952:	8b c6                	mov    %esi,%eax
471954:	5e                   	pop    %esi
471955:	5d                   	pop    %ebp
471956:	c2 04 00             	ret    $0x4
471959:	55                   	push   %ebp
47195a:	8b ec                	mov    %esp,%ebp
47195c:	56                   	push   %esi
47195d:	57                   	push   %edi
47195e:	8d b9 78 ff ff ff    	lea    -0x88(%ecx),%edi
471964:	8d b7 88 00 00 00    	lea    0x88(%edi),%esi
47196a:	8b ce                	mov    %esi,%ecx
47196c:	e8 38 e8 fa ff       	call   0x4201a9
471971:	8b 4e 08             	mov    0x8(%esi),%ecx
471974:	c7 06 c4 1c 49 00    	movl   $0x491cc4,(%esi)
47197a:	85 c9                	test   %ecx,%ecx
47197c:	74 0f                	je     0x47198d
47197e:	8b 71 38             	mov    0x38(%ecx),%esi
471981:	51                   	push   %ecx
471982:	e8 95 e6 fa ff       	call   0x42001c
471987:	8b ce                	mov    %esi,%ecx
471989:	85 f6                	test   %esi,%esi
47198b:	75 f1                	jne    0x47197e
47198d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
471991:	74 07                	je     0x47199a
471993:	57                   	push   %edi
471994:	e8 d3 f6 fa ff       	call   0x42106c
471999:	59                   	pop    %ecx
47199a:	8b c7                	mov    %edi,%eax
47199c:	5f                   	pop    %edi
47199d:	5e                   	pop    %esi
47199e:	5d                   	pop    %ebp
47199f:	c2 04 00             	ret    $0x4
4719a2:	56                   	push   %esi
4719a3:	8b f1                	mov    %ecx,%esi
4719a5:	57                   	push   %edi
4719a6:	8b 3e                	mov    (%esi),%edi
4719a8:	85 ff                	test   %edi,%edi
4719aa:	74 0e                	je     0x4719ba
4719ac:	8b cf                	mov    %edi,%ecx
4719ae:	e8 17 ff ff ff       	call   0x4718ca
4719b3:	57                   	push   %edi
4719b4:	e8 b3 f6 fa ff       	call   0x42106c
4719b9:	59                   	pop    %ecx
4719ba:	56                   	push   %esi
4719bb:	e8 ac f6 fa ff       	call   0x42106c
4719c0:	59                   	pop    %ecx
4719c1:	5f                   	pop    %edi
4719c2:	8b c6                	mov    %esi,%eax
4719c4:	5e                   	pop    %esi
4719c5:	c2 04 00             	ret    $0x4
4719c8:	55                   	push   %ebp
4719c9:	8b ec                	mov    %esp,%ebp
4719cb:	53                   	push   %ebx
4719cc:	56                   	push   %esi
4719cd:	8b f1                	mov    %ecx,%esi
4719cf:	57                   	push   %edi
4719d0:	33 ff                	xor    %edi,%edi
4719d2:	8b df                	mov    %edi,%ebx
4719d4:	8b 4e 08             	mov    0x8(%esi),%ecx
4719d7:	85 c9                	test   %ecx,%ecx
4719d9:	74 0e                	je     0x4719e9
4719db:	8b 56 04             	mov    0x4(%esi),%edx
4719de:	8b 02                	mov    (%edx),%eax
4719e0:	8d 52 04             	lea    0x4(%edx),%edx
4719e3:	03 58 04             	add    0x4(%eax),%ebx
4719e6:	49                   	dec    %ecx
4719e7:	75 f5                	jne    0x4719de
4719e9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4719ec:	53                   	push   %ebx
4719ed:	e8 5c 5f ff ff       	call   0x46794e
4719f2:	8b c8                	mov    %eax,%ecx
4719f4:	8b df                	mov    %edi,%ebx
4719f6:	89 4d 08             	mov    %ecx,0x8(%ebp)
4719f9:	39 7e 08             	cmp    %edi,0x8(%esi)
4719fc:	76 29                	jbe    0x471a27
4719fe:	8b 46 04             	mov    0x4(%esi),%eax
471a01:	8b 04 98             	mov    (%eax,%ebx,4),%eax
471a04:	ff 70 04             	push   0x4(%eax)
471a07:	ff 30                	push   (%eax)
471a09:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
471a0c:	50                   	push   %eax
471a0d:	e8 6e f6 fa ff       	call   0x421080
471a12:	8b 46 04             	mov    0x4(%esi),%eax
471a15:	83 c4 0c             	add    $0xc,%esp
471a18:	8b 4d 08             	mov    0x8(%ebp),%ecx
471a1b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
471a1e:	03 78 04             	add    0x4(%eax),%edi
471a21:	43                   	inc    %ebx
471a22:	3b 5e 08             	cmp    0x8(%esi),%ebx
471a25:	72 d7                	jb     0x4719fe
471a27:	5f                   	pop    %edi
471a28:	5e                   	pop    %esi
471a29:	5b                   	pop    %ebx
471a2a:	5d                   	pop    %ebp
471a2b:	c2 04 00             	ret    $0x4
471a2e:	56                   	push   %esi
471a2f:	8b f1                	mov    %ecx,%esi
471a31:	57                   	push   %edi
471a32:	33 ff                	xor    %edi,%edi
471a34:	39 3e                	cmp    %edi,(%esi)
471a36:	74 0a                	je     0x471a42
471a38:	ff 36                	push   (%esi)
471a3a:	ff 15 5c f3 48 00    	call   *0x48f35c
471a40:	89 3e                	mov    %edi,(%esi)
471a42:	57                   	push   %edi
471a43:	57                   	push   %edi
471a44:	6a 01                	push   $0x1
471a46:	57                   	push   %edi
471a47:	ff 15 d4 f2 48 00    	call   *0x48f2d4
471a4d:	33 c9                	xor    %ecx,%ecx
471a4f:	89 06                	mov    %eax,(%esi)
471a51:	85 c0                	test   %eax,%eax
471a53:	5f                   	pop    %edi
471a54:	0f 95 c0             	setne  %al
471a57:	5e                   	pop    %esi
471a58:	c2 10 00             	ret    $0x10
471a5b:	55                   	push   %ebp
471a5c:	8b ec                	mov    %esp,%ebp
471a5e:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
471a62:	56                   	push   %esi
471a63:	8b f1                	mov    %ecx,%esi
471a65:	74 10                	je     0x471a77
471a67:	ff 75 10             	push   0x10(%ebp)
471a6a:	ff 75 08             	push   0x8(%ebp)
471a6d:	e8 af 00 00 00       	call   0x471b21
471a72:	e9 a5 00 00 00       	jmp    0x471b1c
471a77:	53                   	push   %ebx
471a78:	8b 5e 54             	mov    0x54(%esi),%ebx
471a7b:	57                   	push   %edi
471a7c:	8b 7d 08             	mov    0x8(%ebp),%edi
471a7f:	6a 00                	push   $0x0
471a81:	6a 00                	push   $0x0
471a83:	ff 77 70             	push   0x70(%edi)
471a86:	0f b7 47 78          	movzwl 0x78(%edi),%eax
471a8a:	ff 77 30             	push   0x30(%edi)
471a8d:	ff 77 20             	push   0x20(%edi)
471a90:	50                   	push   %eax
471a91:	ff 77 10             	push   0x10(%edi)
471a94:	ff 76 04             	push   0x4(%esi)
471a97:	ff 15 b0 f7 48 00    	call   *0x48f7b0
471a9d:	89 06                	mov    %eax,(%esi)
471a9f:	6a 00                	push   $0x0
471aa1:	85 c0                	test   %eax,%eax
471aa3:	75 10                	jne    0x471ab5
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