403a02:	e8 8f 30 00 00       	call   0x406a96
403a07:	83 f8 01             	cmp    $0x1,%eax
403a0a:	75 17                	jne    0x403a23
403a0c:	8b 3f                	mov    (%edi),%edi
403a0e:	33 db                	xor    %ebx,%ebx
403a10:	3b fb                	cmp    %ebx,%edi
403a12:	74 0f                	je     0x403a23
403a14:	83 ff 04             	cmp    $0x4,%edi
403a17:	75 11                	jne    0x403a2a
403a19:	ff 75 08             	push   0x8(%ebp)
403a1c:	8b ce                	mov    %esi,%ecx
403a1e:	e8 f3 02 00 00       	call   0x403d16
403a23:	33 c0                	xor    %eax,%eax
403a25:	e9 db 02 00 00       	jmp    0x403d05
403a2a:	39 1d e0 d7 40 00    	cmp    %ebx,0x40d7e0
403a30:	0f 84 cc 02 00 00    	je     0x403d02
403a36:	39 1d e4 d7 40 00    	cmp    %ebx,0x40d7e4
403a3c:	0f 84 c0 02 00 00    	je     0x403d02
403a42:	39 1d e8 d7 40 00    	cmp    %ebx,0x40d7e8
403a48:	0f 84 b4 02 00 00    	je     0x403d02
403a4e:	57                   	push   %edi
403a4f:	53                   	push   %ebx
403a50:	68 10 04 00 00       	push   $0x410
403a55:	89 5d ec             	mov    %ebx,-0x14(%ebp)
403a58:	89 5d bc             	mov    %ebx,-0x44(%ebp)
403a5b:	ff 15 0c a1 40 00    	call   *0x40a10c
403a61:	8b f8                	mov    %eax,%edi
403a63:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403a66:	3b fb                	cmp    %ebx,%edi
403a68:	89 7d e0             	mov    %edi,-0x20(%ebp)
403a6b:	75 11                	jne    0x403a7e
403a6d:	8d 45 a4             	lea    -0x5c(%ebp),%eax
403a70:	68 d8 a5 40 00       	push   $0x40a5d8
403a75:	50                   	push   %eax
403a76:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
403a79:	e8 b8 54 00 00       	call   0x408f36
403a7e:	8d 45 e8             	lea    -0x18(%ebp),%eax
403a81:	50                   	push   %eax
403a82:	53                   	push   %ebx
403a83:	53                   	push   %ebx
403a84:	57                   	push   %edi
403a85:	ff 15 e4 d7 40 00    	call   *0x40d7e4
403a8b:	3b c3                	cmp    %ebx,%eax
403a8d:	75 11                	jne    0x403aa0
403a8f:	8d 45 a0             	lea    -0x60(%ebp),%eax
403a92:	68 d8 a5 40 00       	push   $0x40a5d8
403a97:	50                   	push   %eax
403a98:	89 5d a0             	mov    %ebx,-0x60(%ebp)
403a9b:	e8 96 54 00 00       	call   0x408f36
403aa0:	8b 45 e8             	mov    -0x18(%ebp),%eax
403aa3:	c1 e8 02             	shr    $0x2,%eax
403aa6:	c1 e0 02             	shl    $0x2,%eax
403aa9:	50                   	push   %eax
403aaa:	e8 9f 54 00 00       	call   0x408f4e
403aaf:	3b c3                	cmp    %ebx,%eax
403ab1:	59                   	pop    %ecx
403ab2:	89 45 ec             	mov    %eax,-0x14(%ebp)
403ab5:	75 11                	jne    0x403ac8
403ab7:	8d 45 ac             	lea    -0x54(%ebp),%eax
403aba:	68 d8 a5 40 00       	push   $0x40a5d8
403abf:	50                   	push   %eax
403ac0:	89 5d ac             	mov    %ebx,-0x54(%ebp)
403ac3:	e8 6e 54 00 00       	call   0x408f36
403ac8:	8d 45 e8             	lea    -0x18(%ebp),%eax
403acb:	50                   	push   %eax
403acc:	ff 75 e8             	push   -0x18(%ebp)
403acf:	ff 75 ec             	push   -0x14(%ebp)
403ad2:	57                   	push   %edi
403ad3:	ff 15 e4 d7 40 00    	call   *0x40d7e4
403ad9:	3b c3                	cmp    %ebx,%eax
403adb:	75 11                	jne    0x403aee
403add:	8d 45 b4             	lea    -0x4c(%ebp),%eax
403ae0:	68 d8 a5 40 00       	push   $0x40a5d8
403ae5:	50                   	push   %eax
403ae6:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
403ae9:	e8 48 54 00 00       	call   0x408f36
403aee:	8b 45 e8             	mov    -0x18(%ebp),%eax
403af1:	53                   	push   %ebx
403af2:	53                   	push   %ebx
403af3:	6a 0b                	push   $0xb
403af5:	ff b6 60 02 00 00    	push   0x260(%esi)
403afb:	c1 e8 02             	shr    $0x2,%eax
403afe:	89 45 9c             	mov    %eax,-0x64(%ebp)
403b01:	ff 15 dc a2 40 00    	call   *0x40a2dc
403b07:	33 c0                	xor    %eax,%eax
403b09:	89 5d bc             	mov    %ebx,-0x44(%ebp)
403b0c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403b0f:	bf 06 10 00 00       	mov    $0x1006,%edi
403b14:	3b 45 9c             	cmp    -0x64(%ebp),%eax
403b17:	0f 8d 5c 01 00 00    	jge    0x403c79
403b1d:	8d 8d 94 fe ff ff    	lea    -0x16c(%ebp),%ecx
403b23:	68 04 01 00 00       	push   $0x104
403b28:	51                   	push   %ecx
403b29:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403b2c:	ff 34 81             	push   (%ecx,%eax,4)
403b2f:	ff 75 e0             	push   -0x20(%ebp)
403b32:	ff 15 e8 d7 40 00    	call   *0x40d7e8
403b38:	3b c3                	cmp    %ebx,%eax
403b3a:	0f 84 2e 01 00 00    	je     0x403c6e
403b40:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
403b46:	50                   	push   %eax
403b47:	e8 02 55 00 00       	call   0x40904e
403b4c:	59                   	pop    %ecx
403b4d:	8d 84 05 94 fe ff ff 	lea    -0x16c(%ebp,%eax,1),%eax
403b54:	8d 8d 94 fe ff ff    	lea    -0x16c(%ebp),%ecx
403b5a:	3b c1                	cmp    %ecx,%eax
403b5c:	74 08                	je     0x403b66
403b5e:	80 38 5c             	cmpb   $0x5c,(%eax)
403b61:	74 08                	je     0x403b6b
403b63:	48                   	dec    %eax
403b64:	eb ee                	jmp    0x403b54
403b66:	80 38 5c             	cmpb   $0x5c,(%eax)
403b69:	75 01                	jne    0x403b6c
403b6b:	40                   	inc    %eax
403b6c:	8b 4d 08             	mov    0x8(%ebp),%ecx
403b6f:	89 45 cc             	mov    %eax,-0x34(%ebp)
403b72:	8b 45 bc             	mov    -0x44(%ebp),%eax
403b75:	c7 45 b8 05 00 00 00 	movl   $0x5,-0x48(%ebp)
403b7c:	3b 06                	cmp    (%esi),%eax
403b7e:	8d 45 b8             	lea    -0x48(%ebp),%eax
403b81:	50                   	push   %eax
403b82:	89 4d d8             	mov    %ecx,-0x28(%ebp)
403b85:	89 5d c0             	mov    %ebx,-0x40(%ebp)
403b88:	53                   	push   %ebx
403b89:	7c 07                	jl     0x403b92
403b8b:	68 07 10 00 00       	push   $0x1007
403b90:	eb 01                	jmp    0x403b93
403b92:	57                   	push   %edi
403b93:	ff b6 60 02 00 00    	push   0x260(%esi)
403b99:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403b9f:	e8 4e 46 00 00       	call   0x4081f2
403ba4:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
403baa:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403bb0:	89 45 cc             	mov    %eax,-0x34(%ebp)
403bb3:	8d 45 b8             	lea    -0x48(%ebp),%eax
403bb6:	50                   	push   %eax
403bb7:	53                   	push   %ebx
403bb8:	57                   	push   %edi
403bb9:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
403bc0:	ff b6 60 02 00 00    	push   0x260(%esi)
403bc6:	c7 45 c0 04 00 00 00 	movl   $0x4,-0x40(%ebp)
403bcd:	e8 20 46 00 00       	call   0x4081f2
403bd2:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
403bd8:	50                   	push   %eax
403bd9:	e8 40 4e 00 00       	call   0x408a1e
403bde:	59                   	pop    %ecx
403bdf:	6a 03                	push   $0x3
403be1:	8d 8d 14 fd ff ff    	lea    -0x2ec(%ebp),%ecx
403be7:	68 80 00 00 00       	push   $0x80
403bec:	51                   	push   %ecx
403bed:	50                   	push   %eax
403bee:	e8 f5 4e 00 00       	call   0x408ae8
403bf3:	8d 85 14 fd ff ff    	lea    -0x2ec(%ebp),%eax
403bf9:	83 c4 10             	add    $0x10,%esp
403bfc:	89 45 cc             	mov    %eax,-0x34(%ebp)
403bff:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403c05:	8d 45 b8             	lea    -0x48(%ebp),%eax
403c08:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
403c0f:	50                   	push   %eax
403c10:	53                   	push   %ebx
403c11:	57                   	push   %edi
403c12:	ff b6 60 02 00 00    	push   0x260(%esi)
403c18:	e8 d5 45 00 00       	call   0x4081f2
403c1d:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
403c23:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403c29:	89 45 cc             	mov    %eax,-0x34(%ebp)
403c2c:	8d 45 b8             	lea    -0x48(%ebp),%eax
403c2f:	50                   	push   %eax
403c30:	53                   	push   %ebx
403c31:	57                   	push   %edi
403c32:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
403c39:	ff b6 60 02 00 00    	push   0x260(%esi)
403c3f:	e8 ae 45 00 00       	call   0x4081f2
403c44:	8d 85 14 fe ff ff    	lea    -0x1ec(%ebp),%eax
403c4a:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403c50:	89 45 cc             	mov    %eax,-0x34(%ebp)
403c53:	8d 45 b8             	lea    -0x48(%ebp),%eax
403c56:	50                   	push   %eax
403c57:	53                   	push   %ebx
403c58:	57                   	push   %edi
403c59:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
403c60:	ff b6 60 02 00 00    	push   0x260(%esi)
403c66:	e8 87 45 00 00       	call   0x4081f2
403c6b:	ff 45 bc             	incl   -0x44(%ebp)
403c6e:	ff 45 e4             	incl   -0x1c(%ebp)
403c71:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403c74:	e9 9b fe ff ff       	jmp    0x403b14
403c79:	8b 45 bc             	mov    -0x44(%ebp),%eax
403c7c:	68 d8 a5 40 00       	push   $0x40a5d8
403c81:	89 45 a8             	mov    %eax,-0x58(%ebp)
403c84:	8d 45 a8             	lea    -0x58(%ebp),%eax
403c87:	50                   	push   %eax
403c88:	e8 a9 52 00 00       	call   0x408f36
403c8d:	33 db                	xor    %ebx,%ebx
403c8f:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
403c92:	74 09                	je     0x403c9d
403c94:	ff 75 e0             	push   -0x20(%ebp)
403c97:	ff 15 dc a0 40 00    	call   *0x40a0dc
403c9d:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
403ca0:	74 09                	je     0x403cab
403ca2:	ff 75 ec             	push   -0x14(%ebp)
403ca5:	e8 9e 52 00 00       	call   0x408f48
403caa:	59                   	pop    %ecx
403cab:	8b 75 b0             	mov    -0x50(%ebp),%esi
403cae:	8b 86 5c 02 00 00    	mov    0x25c(%esi),%eax
403cb4:	83 b8 e0 01 00 00 02 	cmpl   $0x2,0x1e0(%eax)
403cbb:	75 24                	jne    0x403ce1
403cbd:	8b 45 bc             	mov    -0x44(%ebp),%eax
403cc0:	3b 06                	cmp    (%esi),%eax
403cc2:	7f 1d                	jg     0x403ce1
403cc4:	53                   	push   %ebx
403cc5:	ff 36                	push   (%esi)
403cc7:	68 08 10 00 00       	push   $0x1008
403ccc:	ff b6 60 02 00 00    	push   0x260(%esi)
403cd2:	ff 15 dc a2 40 00    	call   *0x40a2dc
403cd8:	ff 0e                	decl   (%esi)
403cda:	8b 06                	mov    (%esi),%eax
403cdc:	39 45 bc             	cmp    %eax,-0x44(%ebp)
403cdf:	7e e3                	jle    0x403cc4
403ce1:	53                   	push   %ebx
403ce2:	6a 01                	push   $0x1
403ce4:	6a 0b                	push   $0xb
403ce6:	ff b6 60 02 00 00    	push   0x260(%esi)
403cec:	ff 15 dc a2 40 00    	call   *0x40a2dc
403cf2:	8b 45 bc             	mov    -0x44(%ebp),%eax
403cf5:	89 06                	mov    %eax,(%esi)
403cf7:	b8 fd 3c 40 00       	mov    $0x403cfd,%eax
403cfc:	c3                   	ret
403cfd:	8b 45 98             	mov    -0x68(%ebp),%eax
403d00:	eb 03                	jmp    0x403d05
403d02:	83 c8 ff             	or     $0xffffffff,%eax
403d05:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403d08:	5f                   	pop    %edi
403d09:	5e                   	pop    %esi
403d0a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403d11:	5b                   	pop    %ebx
403d12:	c9                   	leave
403d13:	c2 04 00             	ret    $0x4
403d16:	b8 58 94 40 00       	mov    $0x409458,%eax
403d1b:	e8 10 52 00 00       	call   0x408f30
403d20:	81 ec f4 03 00 00    	sub    $0x3f4,%esp
403d26:	53                   	push   %ebx
403d27:	56                   	push   %esi
403d28:	33 db                	xor    %ebx,%ebx
403d2a:	57                   	push   %edi
403d2b:	39 1d ec d7 40 00    	cmp    %ebx,0x40d7ec
403d31:	8b f1                	mov    %ecx,%esi
403d33:	89 65 f0             	mov    %esp,-0x10(%ebp)
403d36:	89 75 d8             	mov    %esi,-0x28(%ebp)
403d39:	89 5d dc             	mov    %ebx,-0x24(%ebp)
403d3c:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
403d3f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403d42:	0f 84 e0 02 00 00    	je     0x404028
403d48:	39 1d f0 d7 40 00    	cmp    %ebx,0x40d7f0
403d4e:	0f 84 d4 02 00 00    	je     0x404028
403d54:	bf 00 10 00 00       	mov    $0x1000,%edi
403d59:	89 5d ec             	mov    %ebx,-0x14(%ebp)
403d5c:	57                   	push   %edi
403d5d:	e8 ec 51 00 00       	call   0x408f4e
403d62:	3b c3                	cmp    %ebx,%eax
403d64:	59                   	pop    %ecx
403d65:	89 45 e8             	mov    %eax,-0x18(%ebp)
403d68:	75 11                	jne    0x403d7b
403d6a:	8d 45 a0             	lea    -0x60(%ebp),%eax
403d6d:	68 d8 a5 40 00       	push   $0x40a5d8
403d72:	50                   	push   %eax
403d73:	89 5d a0             	mov    %ebx,-0x60(%ebp)
403d76:	e8 bb 51 00 00       	call   0x408f36
403d7b:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d7e:	50                   	push   %eax
403d7f:	57                   	push   %edi
403d80:	ff 75 e8             	push   -0x18(%ebp)
403d83:	ff 15 ec d7 40 00    	call   *0x40d7ec
403d89:	3b c3                	cmp    %ebx,%eax
403d8b:	75 11                	jne    0x403d9e
403d8d:	8d 45 94             	lea    -0x6c(%ebp),%eax
403d90:	68 d8 a5 40 00       	push   $0x40a5d8
403d95:	50                   	push   %eax
403d96:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
403d99:	e8 98 51 00 00       	call   0x408f36
403d9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
403da1:	3b c7                	cmp    %edi,%eax
403da3:	76 59                	jbe    0x403dfe
403da5:	ff 75 e8             	push   -0x18(%ebp)
403da8:	e8 9b 51 00 00       	call   0x408f48
403dad:	8b 45 ec             	mov    -0x14(%ebp),%eax
403db0:	59                   	pop    %ecx
403db1:	c1 e8 02             	shr    $0x2,%eax
403db4:	8b f8                	mov    %eax,%edi
403db6:	c1 e7 02             	shl    $0x2,%edi
403db9:	57                   	push   %edi
403dba:	e8 8f 51 00 00       	call   0x408f4e
403dbf:	3b c3                	cmp    %ebx,%eax
403dc1:	59                   	pop    %ecx
403dc2:	89 45 e8             	mov    %eax,-0x18(%ebp)
403dc5:	75 11                	jne    0x403dd8
403dc7:	8d 45 90             	lea    -0x70(%ebp),%eax
403dca:	68 d8 a5 40 00       	push   $0x40a5d8
403dcf:	50                   	push   %eax
403dd0:	89 5d 90             	mov    %ebx,-0x70(%ebp)
403dd3:	e8 5e 51 00 00       	call   0x408f36
403dd8:	8d 45 ec             	lea    -0x14(%ebp),%eax
403ddb:	50                   	push   %eax
403ddc:	57                   	push   %edi
403ddd:	ff 75 e8             	push   -0x18(%ebp)
403de0:	ff 15 ec d7 40 00    	call   *0x40d7ec
403de6:	3b c3                	cmp    %ebx,%eax
403de8:	75 11                	jne    0x403dfb
403dea:	8d 45 ac             	lea    -0x54(%ebp),%eax
403ded:	68 d8 a5 40 00       	push   $0x40a5d8
403df2:	50                   	push   %eax
403df3:	89 5d ac             	mov    %ebx,-0x54(%ebp)
403df6:	e8 3b 51 00 00       	call   0x408f36
403dfb:	8b 45 ec             	mov    -0x14(%ebp),%eax
403dfe:	c1 e8 02             	shr    $0x2,%eax
403e01:	89 45 88             	mov    %eax,-0x78(%ebp)
403e04:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403e0a:	68 04 01 00 00       	push   $0x104
403e0f:	50                   	push   %eax
403e10:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
403e13:	ff 15 54 a0 40 00    	call   *0x40a054
403e19:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403e1f:	68 c4 c5 40 00       	push   $0x40c5c4
403e24:	50                   	push   %eax
403e25:	e8 18 51 00 00       	call   0x408f42
403e2a:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
403e30:	50                   	push   %eax
403e31:	e8 18 52 00 00       	call   0x40904e
403e36:	83 c4 0c             	add    $0xc,%esp
403e39:	8d 84 05 80 fd ff ff 	lea    -0x280(%ebp,%eax,1),%eax
403e40:	89 45 98             	mov    %eax,-0x68(%ebp)
403e43:	53                   	push   %ebx
403e44:	53                   	push   %ebx
403e45:	6a 0b                	push   $0xb
403e47:	ff b6 60 02 00 00    	push   0x260(%esi)
403e4d:	ff 15 dc a2 40 00    	call   *0x40a2dc
403e53:	bf 06 10 00 00       	mov    $0x1006,%edi
403e58:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403e5b:	3b 45 88             	cmp    -0x78(%ebp),%eax
403e5e:	0f 8d b0 01 00 00    	jge    0x404014
403e64:	8d 8d 84 fe ff ff    	lea    -0x17c(%ebp),%ecx
403e6a:	68 04 01 00 00       	push   $0x104
403e6f:	51                   	push   %ecx
403e70:	8b 4d e8             	mov    -0x18(%ebp),%ecx
403e73:	ff 34 81             	push   (%ecx,%eax,4)
403e76:	ff 15 f0 d7 40 00    	call   *0x40d7f0
403e7c:	3b c3                	cmp    %ebx,%eax
403e7e:	0f 84 88 01 00 00    	je     0x40400c
403e84:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
403e8a:	50                   	push   %eax