40595e:	50                   	push   %eax
40595f:	ff d6                	call   *%esi
405961:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
405965:	74 0a                	je     0x405971
405967:	8b 43 04             	mov    0x4(%ebx),%eax
40596a:	85 c0                	test   %eax,%eax
40596c:	74 03                	je     0x405971
40596e:	50                   	push   %eax
40596f:	ff d6                	call   *%esi
405971:	83 c3 10             	add    $0x10,%ebx
405974:	ff 4d 08             	decl   0x8(%ebp)
405977:	75 d6                	jne    0x40594f
405979:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
40597f:	05 b4 00 00 00       	add    $0xb4,%eax
405984:	50                   	push   %eax
405985:	ff d6                	call   *%esi
405987:	5f                   	pop    %edi
405988:	5e                   	pop    %esi
405989:	5b                   	pop    %ebx
40598a:	5d                   	pop    %ebp
40598b:	c3                   	ret
40598c:	8b ff                	mov    %edi,%edi
40598e:	55                   	push   %ebp
40598f:	8b ec                	mov    %esp,%ebp
405991:	57                   	push   %edi
405992:	8b 7d 08             	mov    0x8(%ebp),%edi
405995:	85 ff                	test   %edi,%edi
405997:	0f 84 83 00 00 00    	je     0x405a20
40599d:	53                   	push   %ebx
40599e:	56                   	push   %esi
40599f:	8b 35 b8 f0 40 00    	mov    0x40f0b8,%esi
4059a5:	57                   	push   %edi
4059a6:	ff d6                	call   *%esi
4059a8:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
4059ae:	85 c0                	test   %eax,%eax
4059b0:	74 03                	je     0x4059b5
4059b2:	50                   	push   %eax
4059b3:	ff d6                	call   *%esi
4059b5:	8b 87 b8 00 00 00    	mov    0xb8(%edi),%eax
4059bb:	85 c0                	test   %eax,%eax
4059bd:	74 03                	je     0x4059c2
4059bf:	50                   	push   %eax
4059c0:	ff d6                	call   *%esi
4059c2:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
4059c8:	85 c0                	test   %eax,%eax
4059ca:	74 03                	je     0x4059cf
4059cc:	50                   	push   %eax
4059cd:	ff d6                	call   *%esi
4059cf:	8b 87 c0 00 00 00    	mov    0xc0(%edi),%eax
4059d5:	85 c0                	test   %eax,%eax
4059d7:	74 03                	je     0x4059dc
4059d9:	50                   	push   %eax
4059da:	ff d6                	call   *%esi
4059dc:	8d 5f 50             	lea    0x50(%edi),%ebx
4059df:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
4059e6:	81 7b f8 24 29 41 00 	cmpl   $0x412924,-0x8(%ebx)
4059ed:	74 09                	je     0x4059f8
4059ef:	8b 03                	mov    (%ebx),%eax
4059f1:	85 c0                	test   %eax,%eax
4059f3:	74 03                	je     0x4059f8
4059f5:	50                   	push   %eax
4059f6:	ff d6                	call   *%esi
4059f8:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
4059fc:	74 0a                	je     0x405a08
4059fe:	8b 43 04             	mov    0x4(%ebx),%eax
405a01:	85 c0                	test   %eax,%eax
405a03:	74 03                	je     0x405a08
405a05:	50                   	push   %eax
405a06:	ff d6                	call   *%esi
405a08:	83 c3 10             	add    $0x10,%ebx
405a0b:	ff 4d 08             	decl   0x8(%ebp)
405a0e:	75 d6                	jne    0x4059e6
405a10:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
405a16:	05 b4 00 00 00       	add    $0xb4,%eax
405a1b:	50                   	push   %eax
405a1c:	ff d6                	call   *%esi
405a1e:	5e                   	pop    %esi
405a1f:	5b                   	pop    %ebx
405a20:	8b c7                	mov    %edi,%eax
405a22:	5f                   	pop    %edi
405a23:	5d                   	pop    %ebp
405a24:	c3                   	ret
405a25:	8b ff                	mov    %edi,%edi
405a27:	55                   	push   %ebp
405a28:	8b ec                	mov    %esp,%ebp
405a2a:	53                   	push   %ebx
405a2b:	56                   	push   %esi
405a2c:	8b 75 08             	mov    0x8(%ebp),%esi
405a2f:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
405a35:	33 db                	xor    %ebx,%ebx
405a37:	57                   	push   %edi
405a38:	3b c3                	cmp    %ebx,%eax
405a3a:	74 6f                	je     0x405aab
405a3c:	3d 38 2e 41 00       	cmp    $0x412e38,%eax
405a41:	74 68                	je     0x405aab
405a43:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
405a49:	3b c3                	cmp    %ebx,%eax
405a4b:	74 5e                	je     0x405aab
405a4d:	39 18                	cmp    %ebx,(%eax)
405a4f:	75 5a                	jne    0x405aab
405a51:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
405a57:	3b c3                	cmp    %ebx,%eax
405a59:	74 17                	je     0x405a72
405a5b:	39 18                	cmp    %ebx,(%eax)
405a5d:	75 13                	jne    0x405a72
405a5f:	50                   	push   %eax
405a60:	e8 06 c5 ff ff       	call   0x401f6b
405a65:	ff b6 bc 00 00 00    	push   0xbc(%esi)
405a6b:	e8 c9 5a 00 00       	call   0x40b539
405a70:	59                   	pop    %ecx
405a71:	59                   	pop    %ecx
405a72:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
405a78:	3b c3                	cmp    %ebx,%eax
405a7a:	74 17                	je     0x405a93
405a7c:	39 18                	cmp    %ebx,(%eax)
405a7e:	75 13                	jne    0x405a93
405a80:	50                   	push   %eax
405a81:	e8 e5 c4 ff ff       	call   0x401f6b
405a86:	ff b6 bc 00 00 00    	push   0xbc(%esi)
405a8c:	e8 3f 5a 00 00       	call   0x40b4d0
405a91:	59                   	pop    %ecx
405a92:	59                   	pop    %ecx
405a93:	ff b6 b0 00 00 00    	push   0xb0(%esi)
405a99:	e8 cd c4 ff ff       	call   0x401f6b
405a9e:	ff b6 bc 00 00 00    	push   0xbc(%esi)
405aa4:	e8 c2 c4 ff ff       	call   0x401f6b
405aa9:	59                   	pop    %ecx
405aaa:	59                   	pop    %ecx
405aab:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
405ab1:	3b c3                	cmp    %ebx,%eax
405ab3:	74 44                	je     0x405af9
405ab5:	39 18                	cmp    %ebx,(%eax)
405ab7:	75 40                	jne    0x405af9
405ab9:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
405abf:	2d fe 00 00 00       	sub    $0xfe,%eax
405ac4:	50                   	push   %eax
405ac5:	e8 a1 c4 ff ff       	call   0x401f6b
405aca:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
405ad0:	bf 80 00 00 00       	mov    $0x80,%edi
405ad5:	2b c7                	sub    %edi,%eax
405ad7:	50                   	push   %eax
405ad8:	e8 8e c4 ff ff       	call   0x401f6b
405add:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
405ae3:	2b c7                	sub    %edi,%eax
405ae5:	50                   	push   %eax
405ae6:	e8 80 c4 ff ff       	call   0x401f6b
405aeb:	ff b6 c0 00 00 00    	push   0xc0(%esi)
405af1:	e8 75 c4 ff ff       	call   0x401f6b
405af6:	83 c4 10             	add    $0x10,%esp
405af9:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
405aff:	3d 28 29 41 00       	cmp    $0x412928,%eax
405b04:	74 1b                	je     0x405b21
405b06:	39 98 b4 00 00 00    	cmp    %ebx,0xb4(%eax)
405b0c:	75 13                	jne    0x405b21
405b0e:	50                   	push   %eax
405b0f:	e8 45 56 00 00       	call   0x40b159
405b14:	ff b6 d4 00 00 00    	push   0xd4(%esi)
405b1a:	e8 4c c4 ff ff       	call   0x401f6b
405b1f:	59                   	pop    %ecx
405b20:	59                   	pop    %ecx
405b21:	8d 7e 50             	lea    0x50(%esi),%edi
405b24:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
405b2b:	81 7f f8 24 29 41 00 	cmpl   $0x412924,-0x8(%edi)
405b32:	74 11                	je     0x405b45
405b34:	8b 07                	mov    (%edi),%eax
405b36:	3b c3                	cmp    %ebx,%eax
405b38:	74 0b                	je     0x405b45
405b3a:	39 18                	cmp    %ebx,(%eax)
405b3c:	75 07                	jne    0x405b45
405b3e:	50                   	push   %eax
405b3f:	e8 27 c4 ff ff       	call   0x401f6b
405b44:	59                   	pop    %ecx
405b45:	39 5f fc             	cmp    %ebx,-0x4(%edi)
405b48:	74 12                	je     0x405b5c
405b4a:	8b 47 04             	mov    0x4(%edi),%eax
405b4d:	3b c3                	cmp    %ebx,%eax
405b4f:	74 0b                	je     0x405b5c
405b51:	39 18                	cmp    %ebx,(%eax)
405b53:	75 07                	jne    0x405b5c
405b55:	50                   	push   %eax
405b56:	e8 10 c4 ff ff       	call   0x401f6b
405b5b:	59                   	pop    %ecx
405b5c:	83 c7 10             	add    $0x10,%edi
405b5f:	ff 4d 08             	decl   0x8(%ebp)
405b62:	75 c7                	jne    0x405b2b
405b64:	56                   	push   %esi
405b65:	e8 01 c4 ff ff       	call   0x401f6b
405b6a:	59                   	pop    %ecx
405b6b:	5f                   	pop    %edi
405b6c:	5e                   	pop    %esi
405b6d:	5b                   	pop    %ebx
405b6e:	5d                   	pop    %ebp
405b6f:	c3                   	ret
405b70:	8b ff                	mov    %edi,%edi
405b72:	55                   	push   %ebp
405b73:	8b ec                	mov    %esp,%ebp
405b75:	57                   	push   %edi
405b76:	8b 7d 0c             	mov    0xc(%ebp),%edi
405b79:	85 ff                	test   %edi,%edi
405b7b:	74 3b                	je     0x405bb8
405b7d:	8b 45 08             	mov    0x8(%ebp),%eax
405b80:	85 c0                	test   %eax,%eax
405b82:	74 34                	je     0x405bb8
405b84:	56                   	push   %esi
405b85:	8b 30                	mov    (%eax),%esi
405b87:	3b f7                	cmp    %edi,%esi
405b89:	74 28                	je     0x405bb3
405b8b:	57                   	push   %edi
405b8c:	89 38                	mov    %edi,(%eax)
405b8e:	e8 6a fd ff ff       	call   0x4058fd
405b93:	59                   	pop    %ecx
405b94:	85 f6                	test   %esi,%esi
405b96:	74 1b                	je     0x405bb3
405b98:	56                   	push   %esi
405b99:	e8 ee fd ff ff       	call   0x40598c
405b9e:	83 3e 00             	cmpl   $0x0,(%esi)
405ba1:	59                   	pop    %ecx
405ba2:	75 0f                	jne    0x405bb3
405ba4:	81 fe 90 2a 41 00    	cmp    $0x412a90,%esi
405baa:	74 07                	je     0x405bb3
405bac:	56                   	push   %esi
405bad:	e8 73 fe ff ff       	call   0x405a25
405bb2:	59                   	pop    %ecx
405bb3:	8b c7                	mov    %edi,%eax
405bb5:	5e                   	pop    %esi
405bb6:	eb 02                	jmp    0x405bba
405bb8:	33 c0                	xor    %eax,%eax
405bba:	5f                   	pop    %edi
405bbb:	5d                   	pop    %ebp
405bbc:	c3                   	ret
405bbd:	6a 0c                	push   $0xc
405bbf:	68 38 12 41 00       	push   $0x411238
405bc4:	e8 a7 e5 ff ff       	call   0x404170
405bc9:	e8 18 02 00 00       	call   0x405de6
405bce:	8b f0                	mov    %eax,%esi
405bd0:	a1 20 29 41 00       	mov    0x412920,%eax
405bd5:	85 46 70             	test   %eax,0x70(%esi)
405bd8:	74 22                	je     0x405bfc
405bda:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
405bde:	74 1c                	je     0x405bfc
405be0:	e8 01 02 00 00       	call   0x405de6
405be5:	8b 70 6c             	mov    0x6c(%eax),%esi
405be8:	85 f6                	test   %esi,%esi
405bea:	75 08                	jne    0x405bf4
405bec:	6a 20                	push   $0x20
405bee:	e8 24 08 00 00       	call   0x406417
405bf3:	59                   	pop    %ecx
405bf4:	8b c6                	mov    %esi,%eax
405bf6:	e8 ba e5 ff ff       	call   0x4041b5
405bfb:	c3                   	ret
405bfc:	6a 0c                	push   $0xc
405bfe:	e8 96 11 00 00       	call   0x406d99
405c03:	59                   	pop    %ecx
405c04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405c08:	ff 35 68 2b 41 00    	push   0x412b68
405c0e:	83 c6 6c             	add    $0x6c,%esi
405c11:	56                   	push   %esi
405c12:	e8 59 ff ff ff       	call   0x405b70
405c17:	59                   	pop    %ecx
405c18:	59                   	pop    %ecx
405c19:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405c1c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405c23:	e8 02 00 00 00       	call   0x405c2a
405c28:	eb be                	jmp    0x405be8
405c2a:	6a 0c                	push   $0xc
405c2c:	e8 8f 10 00 00       	call   0x406cc0
405c31:	59                   	pop    %ecx
405c32:	8b 75 e4             	mov    -0x1c(%ebp),%esi
405c35:	c3                   	ret
405c36:	6a 00                	push   $0x0
405c38:	ff 15 8c f0 40 00    	call   *0x40f08c
405c3e:	c3                   	ret
405c3f:	ff 15 c8 f0 40 00    	call   *0x40f0c8
405c45:	c2 04 00             	ret    $0x4
405c48:	8b ff                	mov    %edi,%edi
405c4a:	56                   	push   %esi
405c4b:	ff 35 70 2b 41 00    	push   0x412b70
405c51:	ff 15 cc f0 40 00    	call   *0x40f0cc
405c57:	8b f0                	mov    %eax,%esi
405c59:	85 f6                	test   %esi,%esi
405c5b:	75 1b                	jne    0x405c78
405c5d:	ff 35 48 32 41 00    	push   0x413248
405c63:	ff 15 90 f0 40 00    	call   *0x40f090
405c69:	8b f0                	mov    %eax,%esi
405c6b:	56                   	push   %esi
405c6c:	ff 35 70 2b 41 00    	push   0x412b70
405c72:	ff 15 d0 f0 40 00    	call   *0x40f0d0
405c78:	8b c6                	mov    %esi,%eax
405c7a:	5e                   	pop    %esi
405c7b:	c3                   	ret
405c7c:	a1 6c 2b 41 00       	mov    0x412b6c,%eax
405c81:	83 f8 ff             	cmp    $0xffffffff,%eax
405c84:	74 16                	je     0x405c9c
405c86:	50                   	push   %eax
405c87:	ff 35 50 32 41 00    	push   0x413250
405c8d:	ff 15 90 f0 40 00    	call   *0x40f090
405c93:	ff d0                	call   *%eax
405c95:	83 0d 6c 2b 41 00 ff 	orl    $0xffffffff,0x412b6c
405c9c:	a1 70 2b 41 00       	mov    0x412b70,%eax
405ca1:	83 f8 ff             	cmp    $0xffffffff,%eax
405ca4:	74 0e                	je     0x405cb4
405ca6:	50                   	push   %eax
405ca7:	ff 15 d4 f0 40 00    	call   *0x40f0d4
405cad:	83 0d 70 2b 41 00 ff 	orl    $0xffffffff,0x412b70
405cb4:	e9 b0 0f 00 00       	jmp    0x406c69
405cb9:	6a 08                	push   $0x8
405cbb:	68 58 12 41 00       	push   $0x411258
405cc0:	e8 ab e4 ff ff       	call   0x404170
405cc5:	68 4c f5 40 00       	push   $0x40f54c
405cca:	ff 15 d8 f0 40 00    	call   *0x40f0d8
405cd0:	8b 75 08             	mov    0x8(%ebp),%esi
405cd3:	c7 46 5c b0 08 41 00 	movl   $0x4108b0,0x5c(%esi)
405cda:	83 66 08 00          	andl   $0x0,0x8(%esi)
405cde:	33 ff                	xor    %edi,%edi
405ce0:	47                   	inc    %edi
405ce1:	89 7e 14             	mov    %edi,0x14(%esi)
405ce4:	89 7e 70             	mov    %edi,0x70(%esi)
405ce7:	c6 86 c8 00 00 00 43 	movb   $0x43,0xc8(%esi)
405cee:	c6 86 4b 01 00 00 43 	movb   $0x43,0x14b(%esi)
405cf5:	c7 46 68 00 24 41 00 	movl   $0x412400,0x68(%esi)
405cfc:	6a 0d                	push   $0xd
405cfe:	e8 96 10 00 00       	call   0x406d99
405d03:	59                   	pop    %ecx
405d04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405d08:	ff 76 68             	push   0x68(%esi)
405d0b:	ff 15 b4 f0 40 00    	call   *0x40f0b4
405d11:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405d18:	e8 3e 00 00 00       	call   0x405d5b
405d1d:	6a 0c                	push   $0xc
405d1f:	e8 75 10 00 00       	call   0x406d99
405d24:	59                   	pop    %ecx
405d25:	89 7d fc             	mov    %edi,-0x4(%ebp)
405d28:	8b 45 0c             	mov    0xc(%ebp),%eax
405d2b:	89 46 6c             	mov    %eax,0x6c(%esi)
405d2e:	85 c0                	test   %eax,%eax
405d30:	75 08                	jne    0x405d3a
405d32:	a1 68 2b 41 00       	mov    0x412b68,%eax
405d37:	89 46 6c             	mov    %eax,0x6c(%esi)
405d3a:	ff 76 6c             	push   0x6c(%esi)
405d3d:	e8 bb fb ff ff       	call   0x4058fd
405d42:	59                   	pop    %ecx
405d43:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405d4a:	e8 15 00 00 00       	call   0x405d64
405d4f:	e8 61 e4 ff ff       	call   0x4041b5
405d54:	c3                   	ret
405d55:	33 ff                	xor    %edi,%edi
405d57:	47                   	inc    %edi
405d58:	8b 75 08             	mov    0x8(%ebp),%esi
405d5b:	6a 0d                	push   $0xd
405d5d:	e8 5e 0f 00 00       	call   0x406cc0